Add st_isvalid check to imposm3 generalized tables

Fix #386
This commit is contained in:
jirik 2018-01-31 16:51:46 +01:00 committed by Jiri Kozel
parent c2c5fc8f32
commit 5c67f2769e
11 changed files with 15 additions and 12 deletions

View File

@ -12,6 +12,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_aeroway_linestring_gen1 # etldoc: imposm3 -> osm_aeroway_linestring_gen1
aeroway_linestring_gen1: aeroway_linestring_gen1:
source: aeroway_linestring source: aeroway_linestring
sql_filter: ST_IsValid(geometry)
tolerance: ZRES13 tolerance: ZRES13
# etldoc: imposm3 -> osm_aeroway_polygon_gen3 # etldoc: imposm3 -> osm_aeroway_polygon_gen3
@ -29,7 +30,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_aeroway_polygon_gen1 # etldoc: imposm3 -> osm_aeroway_polygon_gen1
aeroway_polygon_gen1: aeroway_polygon_gen1:
source: aeroway_polygon source: aeroway_polygon
sql_filter: area>power(ZRES12,2) sql_filter: area>power(ZRES12,2) AND ST_IsValid(geometry)
tolerance: ZRES13 tolerance: ZRES13
ref_field: &ref ref_field: &ref

View File

@ -2,7 +2,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_building_polygon_gen1 # etldoc: imposm3 -> osm_building_polygon_gen1
building_polygon_gen1: building_polygon_gen1:
source: building_polygon source: building_polygon
sql_filter: area>power(ZRES12,2) sql_filter: area>power(ZRES12,2) AND ST_IsValid(geometry)
tolerance: ZRES14 tolerance: ZRES14
tables: tables:

View File

@ -40,7 +40,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_landcover_polygon_gen1 # etldoc: imposm3 -> osm_landcover_polygon_gen1
landcover_polygon_gen1: landcover_polygon_gen1:
source: landcover_polygon source: landcover_polygon
sql_filter: area>power(ZRES10,2) sql_filter: area>power(ZRES10,2) AND ST_IsValid(geometry)
tolerance: ZRES13 tolerance: ZRES13
tables: tables:

View File

@ -22,7 +22,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_landuse_polygon_gen1 # etldoc: imposm3 -> osm_landuse_polygon_gen1
landuse_polygon_gen1: landuse_polygon_gen1:
source: landuse_polygon source: landuse_polygon
sql_filter: area>power(ZRES11,2) sql_filter: area>power(ZRES11,2) AND ST_IsValid(geometry)
tolerance: ZRES13 tolerance: ZRES13
tables: tables:

View File

@ -44,7 +44,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_park_polygon_gen1 # etldoc: imposm3 -> osm_park_polygon_gen1
park_polygon_gen1: park_polygon_gen1:
source: park_polygon source: park_polygon
sql_filter: area>power(ZRES12,2) sql_filter: area>power(ZRES12,2) AND ST_IsValid(geometry)
tolerance: ZRES13 tolerance: ZRES13
tables: tables:

View File

@ -22,12 +22,13 @@ generalized_tables:
# etldoc: imposm3 -> osm_railway_linestring_gen1 # etldoc: imposm3 -> osm_railway_linestring_gen1
railway_linestring_gen1: railway_linestring_gen1:
source: railway_linestring source: railway_linestring
sql_filter: railway IN ('rail', 'narrow_gauge', 'light_rail') AND service='' sql_filter: railway IN ('rail', 'narrow_gauge', 'light_rail') AND service='' AND ST_IsValid(geometry)
tolerance: ZRES13 tolerance: ZRES13
# etldoc: imposm3 -> osm_aerialway_linestring_gen1 # etldoc: imposm3 -> osm_aerialway_linestring_gen1
aerialway_linestring_gen1: aerialway_linestring_gen1:
source: aerialway_linestring source: aerialway_linestring
sql_filter: ST_IsValid(geometry)
tolerance: ZRES13 tolerance: ZRES13
# etldoc: imposm3 -> osm_shipway_linestring_gen2 # etldoc: imposm3 -> osm_shipway_linestring_gen2
@ -38,6 +39,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_shipway_linestring_gen1 # etldoc: imposm3 -> osm_shipway_linestring_gen1
shipway_linestring_gen1: shipway_linestring_gen1:
source: shipway_linestring source: shipway_linestring
sql_filter: ST_IsValid(geometry)
tolerance: ZRES13 tolerance: ZRES13
# etldoc: imposm3 -> osm_highway_linestring_gen2 # etldoc: imposm3 -> osm_highway_linestring_gen2
@ -49,7 +51,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_highway_linestring_gen1 # etldoc: imposm3 -> osm_highway_linestring_gen1
highway_linestring_gen1: highway_linestring_gen1:
source: highway_linestring source: highway_linestring
sql_filter: highway IN ('motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'motorway_link', 'trunk_link', 'primary_link', 'secondary_link', 'tertiary_link') AND NOT is_area sql_filter: highway IN ('motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'motorway_link', 'trunk_link', 'primary_link', 'secondary_link', 'tertiary_link') AND NOT is_area AND ST_IsValid(geometry)
tolerance: ZRES12 tolerance: ZRES12
name_field: &name name_field: &name

View File

@ -37,7 +37,7 @@ CREATE MATERIALIZED VIEW osm_transportation_merge_linestring AS (
highway, highway,
min(z_order) AS z_order min(z_order) AS z_order
FROM osm_highway_linestring FROM osm_highway_linestring
WHERE highway IN ('motorway','trunk', 'primary') WHERE highway IN ('motorway','trunk', 'primary') AND ST_IsValid(geometry)
group by highway group by highway
) AS highway_union ) AS highway_union
); );

View File

@ -33,7 +33,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_water_polygon_gen1 # etldoc: imposm3 -> osm_water_polygon_gen1
water_polygon_gen1: water_polygon_gen1:
source: water_polygon source: water_polygon
sql_filter: area>power(ZRES10,2) sql_filter: area>power(ZRES10,2) AND ST_IsValid(geometry)
tolerance: ZRES12 tolerance: ZRES12
tables: tables:

View File

@ -13,7 +13,7 @@ CREATE MATERIALIZED VIEW osm_water_lakeline AS (
ST_Area(wp.geometry) AS area ST_Area(wp.geometry) AS area
FROM osm_water_polygon AS wp FROM osm_water_polygon AS wp
INNER JOIN lake_centerline ll ON wp.osm_id = ll.osm_id INNER JOIN lake_centerline ll ON wp.osm_id = ll.osm_id
WHERE wp.name <> '' WHERE wp.name <> '' AND ST_IsValid(wp.geometry)
); );
CREATE INDEX IF NOT EXISTS osm_water_lakeline_geometry_idx ON osm_water_lakeline USING gist(geometry); CREATE INDEX IF NOT EXISTS osm_water_lakeline_geometry_idx ON osm_water_lakeline USING gist(geometry);

View File

@ -12,7 +12,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_waterway_linestring_gen1 # etldoc: imposm3 -> osm_waterway_linestring_gen1
waterway_linestring_gen1: waterway_linestring_gen1:
source: waterway_linestring source: waterway_linestring
sql_filter: waterway IN ('river') sql_filter: waterway IN ('river') AND ST_IsValid(geometry)
tolerance: ZRES11 tolerance: ZRES11
tunnel_field: &tunnel tunnel_field: &tunnel

View File

@ -27,7 +27,7 @@ CREATE MATERIALIZED VIEW osm_important_waterway_linestring AS (
ST_LineMerge(ST_Union(geometry)) AS geometry, ST_LineMerge(ST_Union(geometry)) AS geometry,
name, name_en, name_de, slice_language_tags(tags) AS tags name, name_en, name_de, slice_language_tags(tags) AS tags
FROM osm_waterway_linestring FROM osm_waterway_linestring
WHERE name <> '' AND waterway = 'river' WHERE name <> '' AND waterway = 'river' AND ST_IsValid(geometry)
GROUP BY name, name_en, name_de, slice_language_tags(tags) GROUP BY name, name_en, name_de, slice_language_tags(tags)
) AS waterway_union ) AS waterway_union
); );