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

View File

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

View File

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

View File

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

View File

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

View File

@ -22,12 +22,13 @@ generalized_tables:
# etldoc: imposm3 -> osm_railway_linestring_gen1
railway_linestring_gen1:
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
# etldoc: imposm3 -> osm_aerialway_linestring_gen1
aerialway_linestring_gen1:
source: aerialway_linestring
sql_filter: ST_IsValid(geometry)
tolerance: ZRES13
# etldoc: imposm3 -> osm_shipway_linestring_gen2
@ -38,6 +39,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_shipway_linestring_gen1
shipway_linestring_gen1:
source: shipway_linestring
sql_filter: ST_IsValid(geometry)
tolerance: ZRES13
# etldoc: imposm3 -> osm_highway_linestring_gen2
@ -49,7 +51,7 @@ generalized_tables:
# etldoc: imposm3 -> osm_highway_linestring_gen1
highway_linestring_gen1:
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
name_field: &name

View File

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

View File

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

View File

@ -13,7 +13,7 @@ CREATE MATERIALIZED VIEW osm_water_lakeline AS (
ST_Area(wp.geometry) AS area
FROM osm_water_polygon AS wp
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);

View File

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

View File

@ -27,7 +27,7 @@ CREATE MATERIALIZED VIEW osm_important_waterway_linestring AS (
ST_LineMerge(ST_Union(geometry)) AS geometry,
name, name_en, name_de, slice_language_tags(tags) AS tags
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)
) AS waterway_union
);