From 90690d2a39a50e2e24ae8ec94ddb522166bb7499 Mon Sep 17 00:00:00 2001 From: stirringhalo Date: Tue, 25 Apr 2017 18:03:29 -0400 Subject: [PATCH] Switch to ZRes (#214) --- layers/aeroway/mapping.yaml | 14 +++++++++---- layers/boundary/mapping.yaml | 10 +++++----- layers/building/building.sql | 2 +- layers/building/mapping.yaml | 4 ++-- layers/landcover/mapping.yaml | 24 +++++++++++----------- layers/landuse/landuse.sql | 27 ++++++++++++------------- layers/landuse/mapping.yaml | 21 ++++++++++++-------- layers/mountain_peak/mapping.yaml | 1 - layers/park/mapping.yaml | 32 +++++++++++++++--------------- layers/transportation/mapping.yaml | 9 ++++----- layers/water/mapping.yaml | 24 +++++++++++----------- layers/water/water.sql | 6 +++--- layers/waterway/mapping.yaml | 6 +++--- quickstart.sh | 4 ++-- 14 files changed, 96 insertions(+), 88 deletions(-) diff --git a/layers/aeroway/mapping.yaml b/layers/aeroway/mapping.yaml index 8a984d8..4be4358 100644 --- a/layers/aeroway/mapping.yaml +++ b/layers/aeroway/mapping.yaml @@ -1,15 +1,21 @@ generalized_tables: + # etldoc: imposm3 -> osm_aeroway_polygon_gen3 + aeroway_polygon_gen3: + source: aeroway_polygon_gen2 + sql_filter: area>power(ZRES11,2) + tolerance: ZRES11 + # etldoc: imposm3 -> osm_aeroway_polygon_gen2 aeroway_polygon_gen2: source: aeroway_polygon_gen1 - sql_filter: area>240000 - tolerance: 50.0 + sql_filter: area>power(ZRES12,2) + tolerance: ZRES12 # etldoc: imposm3 -> osm_aeroway_polygon_gen1 aeroway_polygon_gen1: source: aeroway_polygon - sql_filter: area>60000 - tolerance: 20.0 + sql_filter: area>power(ZRES13,2) + tolerance: ZRES13 tables: # etldoc: imposm3 -> osm_aeroway_polygon aeroway_polygon: diff --git a/layers/boundary/mapping.yaml b/layers/boundary/mapping.yaml index 81b0a89..467e809 100644 --- a/layers/boundary/mapping.yaml +++ b/layers/boundary/mapping.yaml @@ -3,27 +3,27 @@ generalized_tables: # etldoc: imposm3 -> osm_boundary_linestring_gen5 boundary_linestring_gen5: source: boundary_linestring - tolerance: 480.0 + tolerance: ZRES9 # etldoc: imposm3 -> osm_boundary_linestring_gen4 boundary_linestring_gen4: source: boundary_linestring - tolerance: 240.0 + tolerance: ZRES10 # etldoc: imposm3 -> osm_boundary_linestring_gen3 boundary_linestring_gen3: source: boundary_linestring - tolerance: 120.0 + tolerance: ZRES11 # etldoc: imposm3 -> osm_boundary_linestring_gen2 boundary_linestring_gen2: source: boundary_linestring - tolerance: 60.0 + tolerance: ZRES12 # etldoc: imposm3 -> osm_boundary_linestring_gen1 boundary_linestring_gen1: source: boundary_linestring - tolerance: 30.0 + tolerance: ZRES13 tables: # etldoc: imposm3 -> osm_boundary_linestring diff --git a/layers/building/building.sql b/layers/building/building.sql index 96eea63..cd8ebf5 100644 --- a/layers/building/building.sql +++ b/layers/building/building.sql @@ -54,7 +54,7 @@ RETURNS TABLE(geometry geometry, osm_id bigint, render_height int, render_min_he osm_id, geometry, NULL::int AS render_height, NULL::int AS render_min_height FROM osm_building_polygon_gen1 - WHERE zoom_level = 13 AND geometry && bbox AND area > 1400 + WHERE zoom_level = 13 AND geometry && bbox UNION ALL -- etldoc: osm_building_polygon -> layer_building:z14_ SELECT DISTINCT ON (osm_id) diff --git a/layers/building/mapping.yaml b/layers/building/mapping.yaml index 0ee97ac..89a8802 100644 --- a/layers/building/mapping.yaml +++ b/layers/building/mapping.yaml @@ -5,8 +5,8 @@ generalized_tables: # etldoc: imposm3 -> osm_building_polygon_gen1 building_polygon_gen1: source: building_polygon - sql_filter: area>1400.0 - tolerance: 10.0 + sql_filter: area>power(ZRES13,2) + tolerance: ZRES13 tables: # etldoc: imposm3 -> osm_building_polygon diff --git a/layers/landcover/mapping.yaml b/layers/landcover/mapping.yaml index f2922e0..e1c9c10 100644 --- a/layers/landcover/mapping.yaml +++ b/layers/landcover/mapping.yaml @@ -4,38 +4,38 @@ generalized_tables: # etldoc: imposm3 -> osm_landcover_polygon_gen6 landcover_polygon_gen6: source: landcover_polygon_gen5 - sql_filter: area>15000000 - tolerance: 300.0 + sql_filter: area>power(ZRES8,2) + tolerance: ZRES8 # etldoc: imposm3 -> osm_landcover_polygon_gen5 landcover_polygon_gen5: source: landcover_polygon_gen4 - sql_filter: area>4200000 - tolerance: 200.0 + sql_filter: area>power(ZRES9,2) + tolerance: ZRES9 # etldoc: imposm3 -> osm_landcover_polygon_gen4 landcover_polygon_gen4: source: landcover_polygon_gen3 - sql_filter: area>1200000 - tolerance: 120.0 + sql_filter: area>power(ZRES10,2) + tolerance: ZRES10 # etldoc: imposm3 -> osm_landcover_polygon_gen3 landcover_polygon_gen3: source: landcover_polygon_gen2 - sql_filter: area>480000 - tolerance: 80.0 + sql_filter: area>power(ZRES11,2) + tolerance: ZRES11 # etldoc: imposm3 -> osm_landcover_polygon_gen2 landcover_polygon_gen2: source: landcover_polygon_gen1 - sql_filter: area>240000 - tolerance: 50.0 + sql_filter: area>power(ZRES12,2) + tolerance: ZRES12 # etldoc: imposm3 -> osm_landcover_polygon_gen1 landcover_polygon_gen1: source: landcover_polygon - sql_filter: area>60000 - tolerance: 20.0 + sql_filter: area>power(ZRES13,2) + tolerance: ZRES13 tables: # etldoc: imposm3 -> osm_landcover_polygon diff --git a/layers/landuse/landuse.sql b/layers/landuse/landuse.sql index 5660175..f6628a7 100644 --- a/layers/landuse/landuse.sql +++ b/layers/landuse/landuse.sql @@ -17,35 +17,34 @@ CREATE OR REPLACE VIEW landuse_z6 AS ( FROM ne_10m_urban_areas ); --- etldoc: osm_landuse_polygon_gen4 -> landuse_z9 +-- etldoc: osm_landuse_polygon_gen5 -> landuse_z9 CREATE OR REPLACE VIEW landuse_z9 AS ( + SELECT osm_id, geometry, landuse, amenity, leisure, NULL::int as scalerank + FROM osm_landuse_polygon_gen5 +); + +-- etldoc: osm_landuse_polygon_gen4 -> landuse_z10 +CREATE OR REPLACE VIEW landuse_z10 AS ( SELECT osm_id, geometry, landuse, amenity, leisure, NULL::int as scalerank FROM osm_landuse_polygon_gen4 ); --- etldoc: osm_landuse_polygon_gen3 -> landuse_z10 -CREATE OR REPLACE VIEW landuse_z10 AS ( +-- etldoc: osm_landuse_polygon_gen3 -> landuse_z11 +CREATE OR REPLACE VIEW landuse_z11 AS ( SELECT osm_id, geometry, landuse, amenity, leisure, NULL::int as scalerank FROM osm_landuse_polygon_gen3 ); --- etldoc: osm_landuse_polygon_gen2 -> landuse_z11 -CREATE OR REPLACE VIEW landuse_z11 AS ( +-- etldoc: osm_landuse_polygon_gen2 -> landuse_z12 +CREATE OR REPLACE VIEW landuse_z12 AS ( SELECT osm_id, geometry, landuse, amenity, leisure, NULL::int as scalerank FROM osm_landuse_polygon_gen2 ); --- etldoc: osm_landuse_polygon_gen1 -> landuse_z12 -CREATE OR REPLACE VIEW landuse_z12 AS ( - SELECT osm_id, geometry, landuse, amenity, leisure, NULL::int as scalerank - FROM osm_landuse_polygon_gen1 -); - --- etldoc: osm_landuse_polygon -> landuse_z13 +-- etldoc: osm_landuse_polygon_gen1 -> landuse_z13 CREATE OR REPLACE VIEW landuse_z13 AS ( SELECT osm_id, geometry, landuse, amenity, leisure, NULL::int as scalerank - FROM osm_landuse_polygon - WHERE ST_Area(geometry) > 20000 + FROM osm_landuse_polygon_gen1 ); -- etldoc: osm_landuse_polygon -> landuse_z14 diff --git a/layers/landuse/mapping.yaml b/layers/landuse/mapping.yaml index ef60365..8dc90e1 100644 --- a/layers/landuse/mapping.yaml +++ b/layers/landuse/mapping.yaml @@ -1,24 +1,29 @@ generalized_tables: + # etldoc: imposm3 -> osm_landuse_polygon_gen5 + landuse_polygon_gen5: + source: landuse_polygon_gen4 + sql_filter: area>power(ZRES9,2) + tolerance: ZRES9 # etldoc: imposm3 -> osm_landuse_polygon_gen4 landuse_polygon_gen4: source: landuse_polygon_gen3 - sql_filter: area>2000000 - tolerance: 160.0 + sql_filter: area>power(ZRES10,2) + tolerance: ZRES10 # etldoc: imposm3 -> osm_landuse_polygon_gen3 landuse_polygon_gen3: source: landuse_polygon_gen2 - sql_filter: area>960000 - tolerance: 80.0 + sql_filter: area>power(ZRES11,2) + tolerance: ZRES11 # etldoc: imposm3 -> osm_landuse_polygon_gen2 landuse_polygon_gen2: source: landuse_polygon_gen1 - sql_filter: area>240000 - tolerance: 40.0 + sql_filter: area>power(ZRES12,2) + tolerance: ZRES12 # etldoc: imposm3 -> osm_landuse_polygon_gen1 landuse_polygon_gen1: source: landuse_polygon - sql_filter: area>60000 - tolerance: 20.0 + sql_filter: area>power(ZRES13,2) + tolerance: ZRES13 tables: # etldoc: imposm3 -> osm_landuse_polygon diff --git a/layers/mountain_peak/mapping.yaml b/layers/mountain_peak/mapping.yaml index 14da838..d73dc3d 100644 --- a/layers/mountain_peak/mapping.yaml +++ b/layers/mountain_peak/mapping.yaml @@ -1,4 +1,3 @@ - tables: # etldoc: imposm3 -> osm_peak_point diff --git a/layers/park/mapping.yaml b/layers/park/mapping.yaml index f0eb129..221d49a 100644 --- a/layers/park/mapping.yaml +++ b/layers/park/mapping.yaml @@ -2,50 +2,50 @@ generalized_tables: # etldoc: imposm3 -> osm_park_polygon_gen8 park_polygon_gen8: source: park_polygon_gen6 - sql_filter: area>240000000 - tolerance: 600.0 + sql_filter: area>power(ZRES6,2) + tolerance: ZRES6 # etldoc: imposm3 -> osm_park_polygon_gen7 park_polygon_gen7: source: park_polygon_gen6 - sql_filter: area>60000000 - tolerance: 400.0 + sql_filter: area>power(ZRES7,2) + tolerance: ZRES7 # etldoc: imposm3 -> osm_park_polygon_gen6 park_polygon_gen6: source: park_polygon_gen5 - sql_filter: area>15000000 - tolerance: 300.0 + sql_filter: area>power(ZRES8,2) + tolerance: ZRES8 # etldoc: imposm3 -> osm_park_polygon_gen5 park_polygon_gen5: source: park_polygon_gen4 - sql_filter: area>4200000 - tolerance: 200.0 + sql_filter: area>power(ZRES9,2) + tolerance: ZRES9 # etldoc: imposm3 -> osm_park_polygon_gen4 park_polygon_gen4: source: park_polygon_gen3 - sql_filter: area>1200000 - tolerance: 120.0 + sql_filter: area>power(ZRES10,2) + tolerance: ZRES10 # etldoc: imposm3 -> osm_park_polygon_gen3 park_polygon_gen3: source: park_polygon_gen2 - sql_filter: area>480000 - tolerance: 80.0 + sql_filter: area>power(ZRES11,2) + tolerance: ZRES11 # etldoc: imposm3 -> osm_park_polygon_gen2 park_polygon_gen2: source: park_polygon_gen1 - sql_filter: area>240000 - tolerance: 50.0 + sql_filter: area>power(ZRES12,2) + tolerance: ZRES12 # etldoc: imposm3 -> osm_park_polygon_gen1 park_polygon_gen1: source: park_polygon - sql_filter: area>60000 - tolerance: 20.0 + sql_filter: area>power(ZRES13,2) + tolerance: ZRES13 tables: diff --git a/layers/transportation/mapping.yaml b/layers/transportation/mapping.yaml index b935b37..1b18cd5 100644 --- a/layers/transportation/mapping.yaml +++ b/layers/transportation/mapping.yaml @@ -1,27 +1,26 @@ generalized_tables: - # etldoc: imposm3 -> osm_railway_linestring_gen2 railway_linestring_gen2: source: railway_linestring_gen1 - tolerance: 40.0 + tolerance: ZRES11 # etldoc: imposm3 -> osm_railway_linestring_gen1 railway_linestring_gen1: source: railway_linestring sql_filter: railway='rail' AND service='' - tolerance: 20.0 + tolerance: ZRES12 # etldoc: imposm3 -> osm_highway_linestring_gen2 highway_linestring_gen2: source: highway_linestring_gen1 sql_filter: highway IN ('motorway','trunk', 'primary', 'secondary') AND NOT is_area - tolerance: 50.0 + tolerance: ZRES10 # etldoc: imposm3 -> osm_highway_linestring_gen1 highway_linestring_gen1: source: highway_linestring sql_filter: highway IN ('motorway','trunk', 'primary', 'secondary', 'tertiary') AND NOT is_area - tolerance: 20.0 + tolerance: ZRES11 name_field: &name name: name diff --git a/layers/water/mapping.yaml b/layers/water/mapping.yaml index fd9a624..c042e9a 100644 --- a/layers/water/mapping.yaml +++ b/layers/water/mapping.yaml @@ -3,38 +3,38 @@ generalized_tables: # etldoc: imposm3 -> osm_water_polygon_gen6 water_polygon_gen6: source: water_polygon_gen5 - sql_filter: area>20000000.0 - tolerance: 640.0 + sql_filter: area>power(ZRES6,2) + tolerance: ZRES6 # etldoc: imposm3 -> osm_water_polygon_gen5 water_polygon_gen5: source: water_polygon_gen4 - sql_filter: area>10000000.0 - tolerance: 320.0 + sql_filter: area>power(ZRES7,2) + tolerance: ZRES7 # etldoc: imposm3 -> osm_water_polygon_gen4 water_polygon_gen4: source: water_polygon_gen3 - sql_filter: area>5000000.0 - tolerance: 160.0 + sql_filter: area>power(ZRES8,2) + tolerance: ZRES8 # etldoc: imposm3 -> osm_water_polygon_gen3 water_polygon_gen3: source: water_polygon_gen2 - sql_filter: area>2500000.0 - tolerance: 80.0 + sql_filter: area>power(ZRES9,2) + tolerance: ZRES9 # etldoc: imposm3 -> osm_water_polygon_gen2 water_polygon_gen2: source: water_polygon_gen1 - sql_filter: area>1000000 - tolerance: 40.0 + sql_filter: area>power(ZRES10,2) + tolerance: ZRES10 # etldoc: imposm3 -> osm_water_polygon_gen1 water_polygon_gen1: source: water_polygon - sql_filter: area>500000 - tolerance: 20.0 + sql_filter: area>power(ZRES11,2) + tolerance: ZRES11 tables: diff --git a/layers/water/water.sql b/layers/water/water.sql index b5bceac..e94d464 100644 --- a/layers/water/water.sql +++ b/layers/water/water.sql @@ -89,7 +89,7 @@ CREATE OR REPLACE VIEW water_z11 AS ( SELECT geometry, 'ocean'::text AS class FROM osm_ocean_polygon_gen1 UNION ALL -- etldoc: osm_water_polygon_gen1 -> water_z11 - SELECT geometry, water_class(waterway) AS class FROM osm_water_polygon_gen1 WHERE area > 40000 + SELECT geometry, water_class(waterway) AS class FROM osm_water_polygon_gen1 ); CREATE OR REPLACE VIEW water_z12 AS ( @@ -97,7 +97,7 @@ CREATE OR REPLACE VIEW water_z12 AS ( SELECT geometry, 'ocean'::text AS class FROM osm_ocean_polygon UNION ALL -- etldoc: osm_water_polygon -> water_z12 - SELECT geometry, water_class(waterway) AS class FROM osm_water_polygon WHERE area > 10000 + SELECT geometry, water_class(waterway) AS class FROM osm_water_polygon ); CREATE OR REPLACE VIEW water_z13 AS ( @@ -105,7 +105,7 @@ CREATE OR REPLACE VIEW water_z13 AS ( SELECT geometry, 'ocean'::text AS class FROM osm_ocean_polygon UNION ALL -- etldoc: osm_water_polygon -> water_z13 - SELECT geometry, water_class(waterway) AS class FROM osm_water_polygon WHERE area > 5000 + SELECT geometry, water_class(waterway) AS class FROM osm_water_polygon ); CREATE OR REPLACE VIEW water_z14 AS ( diff --git a/layers/waterway/mapping.yaml b/layers/waterway/mapping.yaml index daefcc5..68b8e89 100644 --- a/layers/waterway/mapping.yaml +++ b/layers/waterway/mapping.yaml @@ -3,17 +3,17 @@ generalized_tables: waterway_linestring_gen3: source: waterway_linestring_gen2 sql_filter: waterway IN ('river') - tolerance: 200.0 + tolerance: ZRES9 # etldoc: imposm3 -> osm_waterway_linestring_gen2 waterway_linestring_gen2: source: waterway_linestring_gen1 sql_filter: waterway IN ('river') - tolerance: 100.0 + tolerance: ZRES10 # etldoc: imposm3 -> osm_waterway_linestring_gen1 waterway_linestring_gen1: source: waterway_linestring sql_filter: waterway IN ('river') - tolerance: 50.0 + tolerance: ZRES11 tables: # etldoc: imposm3 -> osm_waterway_linestring waterway_linestring: diff --git a/quickstart.sh b/quickstart.sh index b02d4a1..7a08f56 100755 --- a/quickstart.sh +++ b/quickstart.sh @@ -166,14 +166,14 @@ fi echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Remove old generated source files ( ./build/* ) ( if they exist ) " -docker run --rm -v $(pwd):/tileset openmaptiles/openmaptiles-tools make clean +docker run --rm -v $(pwd):/tileset openmaptiles/openmaptiles-tools:PIXEL_GEOUNIT make clean echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Code generating from the layer definitions ( ./build/mapping.yaml; ./build/tileset.sql )" echo " : The tool source code: https://github.com/openmaptiles/openmaptiles-tools " echo " : But we generate the tm2source, Imposm mappings and SQL functions from the layer definitions! " -docker run --rm -v $(pwd):/tileset openmaptiles/openmaptiles-tools make +docker run --rm -v $(pwd):/tileset openmaptiles/openmaptiles-tools:PIXEL_GEOUNIT make echo " " echo "-------------------------------------------------------------------------------------"