2025-06-10 20:34:00 +02:00

204 lines
4.6 KiB
YAML

generalized_tables:
# etldoc: osm_border_linestring -> osm_border_disp_linestring
border_disp_linestring:
source: border_linestring
sql_filter: ST_GeometryType(geometry) = 'ST_LineString' AND (disputed OR dispute OR border_status = 'disputed' OR disputed_by <> '') AND admin_level = 2
tables:
# etldoc: imposm3 -> osm_border_linestring
border_linestring:
type: relation_member
filters:
require:
admin_level: [__any__]
boundary: [administrative]
columns:
- name: relation_id
type: id
- name: osm_id
type: id
from_member: true
- name: member
type: member_id
- name: type
type: member_type
- name: geometry
type: geometry
- key: name
name: name
type: string
# Used for disputed boundary, e.g. "Line of actual control"
from_member: true
- key: admin_level
name: admin_level
type: integer
- key: claimed_by
name: claimed_by
type: string
- key: disputed_by
name: disputed_by
type: string
from_member: true
- key: dispute
name: dispute
type: bool
from_member: true
- key: disputed
name: disputed
type: bool
from_member: true
- key: border_status
name: border_status
type: string
from_member: true
- key: maritime
name: maritime
type: bool
from_member: true
- name: index
type: member_index
- name: role
type: member_role
# - name: type
# type: member_type
- key: boundary_type
name: boundary_type
type: string
from_member: true
- key: natural
name: natural
type: string
from_member: true
relation_types: [boundary]
mapping:
boundary:
- administrative
border_status:
- dispute
boundary_type:
- maritime
# etldoc: imposm3 -> osm_border_disp_relation
border_disp_relation:
type: relation_member
columns:
- name: relation_id
type: id
- name: osm_id
type: id
from_member: true
- name: geometry
type: geometry
- key: name
name: name
type: string
- key: boundary
name: boundary
type: string
- key: admin_level
name: admin_level
type: integer
- key: claimed_by
name: claimed_by
type: string
- key: disputed_by
name: disputed_by
type: string
- key: maritime
name: maritime
type: bool
from_member: true
- name: index
type: member_index
- name: role
type: member_role
- name: type
type: member_type
mapping:
type: [boundary]
filters:
require:
#admin_level: ['2'] # this used to be specified, re-enable if bugs show up with country borders
admin_level: [__any__]
boundary: ['administrative'] # Filters out boundary administrative_fraction and religious_administration
# FOr NUTS in linestring version
administrative_relation:
type: relation
columns:
- name: osm_id
type: id
- key: name
name: name
type: string
- name: name_en
key: name:en
type: string
- name: name_nl
key: name:nl
type: string
- name: name_de
key: name:de
type: string
- name: name_fr
key: name:fr
type: string
- key: boundary
name: boundary
type: string
- key: admin_level
name: admin_level
type: integer
mapping:
boundary: [ 'administrative' ]
filters:
require:
admin_level: [ __any__ ]
administrative_member:
type: relation_member
columns:
- name: relation_id
type: id
- name: boundary_id
type: id
from_member: true
- key: admin_level
name: admin_level
type: integer
- key: maritime
name: maritime
type: bool
from_member: true
- name: index
type: member_index
- name: role
type: member_role
- name: type
type: member_type
mapping:
type: [boundary]
filters:
require:
admin_level: [__any__]
boundary: ['administrative']
administrative_boundary:
type: linestring
columns:
- name: osm_id
type: id
- name: geometry
type: geometry
- key: admin_level
name: admin_level
type: integer
- key: maritime
name: maritime
type: bool
mapping:
boundary: [ 'administrative' ]
filters:
require:
admin_level: [ __any__ ]