From 1a324aaf223c83db5ef200a8c2d66704f2d3352e Mon Sep 17 00:00:00 2001 From: Jiri Kozel Date: Fri, 10 Nov 2017 15:25:23 +0100 Subject: [PATCH] Do not load all tags, use later imposm3 (#356) Fix #266 #267 --- docker-compose.yml | 4 ++-- layers/aerodrome_label/update.sql | 2 +- layers/building/mapping.yaml | 3 --- layers/mountain_peak/update_peak_point.sql | 2 +- layers/place/update_city_point.sql | 2 +- layers/place/update_continent_point.sql | 2 +- layers/place/update_country_point.sql | 2 +- layers/place/update_island_point.sql | 2 +- layers/place/update_island_polygon.sql | 2 +- layers/place/update_state_point.sql | 2 +- layers/poi/update_poi_point.sql | 2 +- layers/poi/update_poi_polygon.sql | 2 +- layers/water_name/update_marine_point.sql | 2 +- layers/water_name/update_water_lakeline.sql | 2 +- layers/water_name/update_water_point.sql | 2 +- layers/waterway/name.sql | 8 ++++---- layers/waterway/update_waterway_linestring.sql | 12 ++++++------ 17 files changed, 25 insertions(+), 28 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index e9f07f4..c7cf7ef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,7 +28,7 @@ services: networks: - postgres_conn import-osm: - image: "openmaptiles/import-osm:0.4" + image: "openmaptiles/import-osm:0.5" env_file: .env environment: DIFF_MODE: ${DIFF_MODE} @@ -75,7 +75,7 @@ services: volumes: - ./build:/sql openmaptiles-tools: - image: "openmaptiles/openmaptiles-tools:0.6" + image: "openmaptiles/openmaptiles-tools:0.7" env_file: .env networks: - postgres_conn diff --git a/layers/aerodrome_label/update.sql b/layers/aerodrome_label/update.sql index 79c6e3d..bbf9d9b 100644 --- a/layers/aerodrome_label/update.sql +++ b/layers/aerodrome_label/update.sql @@ -9,7 +9,7 @@ BEGIN WHERE ST_GeometryType(geometry) <> 'ST_Point'; UPDATE osm_aerodrome_label_point - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; END; $$ LANGUAGE plpgsql; diff --git a/layers/building/mapping.yaml b/layers/building/mapping.yaml index 298ae61..cfd191d 100644 --- a/layers/building/mapping.yaml +++ b/layers/building/mapping.yaml @@ -1,6 +1,3 @@ -tags: - load_all: true - generalized_tables: # etldoc: imposm3 -> osm_building_polygon_gen1 building_polygon_gen1: diff --git a/layers/mountain_peak/update_peak_point.sql b/layers/mountain_peak/update_peak_point.sql index 72f8e6c..466c9cb 100644 --- a/layers/mountain_peak/update_peak_point.sql +++ b/layers/mountain_peak/update_peak_point.sql @@ -5,7 +5,7 @@ DROP TRIGGER IF EXISTS trigger_refresh ON mountain_peak_point.updates; CREATE OR REPLACE FUNCTION update_osm_peak_point() RETURNS VOID AS $$ BEGIN UPDATE osm_peak_point - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; END; diff --git a/layers/place/update_city_point.sql b/layers/place/update_city_point.sql index 825f543..11f72c4 100644 --- a/layers/place/update_city_point.sql +++ b/layers/place/update_city_point.sql @@ -41,7 +41,7 @@ BEGIN WHERE osm.osm_id = ne.osm_id; UPDATE osm_city_point - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; END; diff --git a/layers/place/update_continent_point.sql b/layers/place/update_continent_point.sql index 7f4dd11..99bc288 100644 --- a/layers/place/update_continent_point.sql +++ b/layers/place/update_continent_point.sql @@ -5,7 +5,7 @@ DROP TRIGGER IF EXISTS trigger_refresh ON place_continent_point.updates; CREATE OR REPLACE FUNCTION update_osm_continent_point() RETURNS VOID AS $$ BEGIN UPDATE osm_continent_point - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; END; diff --git a/layers/place/update_country_point.sql b/layers/place/update_country_point.sql index d56c658..d6a8855 100644 --- a/layers/place/update_country_point.sql +++ b/layers/place/update_country_point.sql @@ -37,7 +37,7 @@ BEGIN WHERE "rank" = 0; UPDATE osm_country_point - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; END; diff --git a/layers/place/update_island_point.sql b/layers/place/update_island_point.sql index 87968ac..2e781e1 100644 --- a/layers/place/update_island_point.sql +++ b/layers/place/update_island_point.sql @@ -5,7 +5,7 @@ DROP TRIGGER IF EXISTS trigger_refresh ON place_island_point.updates; CREATE OR REPLACE FUNCTION update_osm_island_point() RETURNS VOID AS $$ BEGIN UPDATE osm_island_point - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; END; diff --git a/layers/place/update_island_polygon.sql b/layers/place/update_island_polygon.sql index e31da82..64b18bf 100644 --- a/layers/place/update_island_polygon.sql +++ b/layers/place/update_island_polygon.sql @@ -7,7 +7,7 @@ BEGIN UPDATE osm_island_polygon SET geometry=ST_PointOnSurface(geometry) WHERE ST_GeometryType(geometry) <> 'ST_Point'; UPDATE osm_island_polygon - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; ANALYZE osm_island_polygon; diff --git a/layers/place/update_state_point.sql b/layers/place/update_state_point.sql index e33af42..ff1f049 100644 --- a/layers/place/update_state_point.sql +++ b/layers/place/update_state_point.sql @@ -33,7 +33,7 @@ BEGIN DELETE FROM osm_state_point WHERE "rank" IS NULL; UPDATE osm_state_point - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; END; diff --git a/layers/poi/update_poi_point.sql b/layers/poi/update_poi_point.sql index 39e4503..c9c413b 100644 --- a/layers/poi/update_poi_point.sql +++ b/layers/poi/update_poi_point.sql @@ -13,7 +13,7 @@ BEGIN WHERE funicular = 'yes' and subclass='station'; UPDATE osm_poi_point - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; END; diff --git a/layers/poi/update_poi_polygon.sql b/layers/poi/update_poi_polygon.sql index e23cefd..ec56f94 100644 --- a/layers/poi/update_poi_polygon.sql +++ b/layers/poi/update_poi_polygon.sql @@ -22,7 +22,7 @@ BEGIN WHERE funicular = 'yes' and subclass='station'; UPDATE osm_poi_polygon - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; ANALYZE osm_poi_polygon; diff --git a/layers/water_name/update_marine_point.sql b/layers/water_name/update_marine_point.sql index 9af47fc..8cfe0e1 100644 --- a/layers/water_name/update_marine_point.sql +++ b/layers/water_name/update_marine_point.sql @@ -22,7 +22,7 @@ BEGIN WHERE osm.osm_id = ne.osm_id; UPDATE osm_marine_point - SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry) + SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry) WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL; END; diff --git a/layers/water_name/update_water_lakeline.sql b/layers/water_name/update_water_lakeline.sql index 1faeff8..3ca5ea2 100644 --- a/layers/water_name/update_water_lakeline.sql +++ b/layers/water_name/update_water_lakeline.sql @@ -9,7 +9,7 @@ CREATE MATERIALIZED VIEW osm_water_lakeline AS ( SELECT wp.osm_id, ll.wkb_geometry AS geometry, name, name_en, name_de, - slice_language_tags(tags) || get_basic_names(tags, ll.wkb_geometry) AS tags, + delete_empty_keys(tags) || get_basic_names(tags, ll.wkb_geometry) AS tags, ST_Area(wp.geometry) AS area FROM osm_water_polygon AS wp INNER JOIN lake_centerline ll ON wp.osm_id = ll.osm_id diff --git a/layers/water_name/update_water_point.sql b/layers/water_name/update_water_point.sql index ec6c5bd..db6c614 100644 --- a/layers/water_name/update_water_point.sql +++ b/layers/water_name/update_water_point.sql @@ -9,7 +9,7 @@ CREATE MATERIALIZED VIEW osm_water_point AS ( SELECT wp.osm_id, ST_PointOnSurface(wp.geometry) AS geometry, wp.name, wp.name_en, wp.name_de, - slice_language_tags(wp.tags) || get_basic_names(wp.tags, ST_PointOnSurface(wp.geometry)) AS tags, + delete_empty_keys(wp.tags) || get_basic_names(wp.tags, ST_PointOnSurface(wp.geometry)) AS tags, ST_Area(wp.geometry) AS area FROM osm_water_polygon AS wp LEFT JOIN lake_centerline ll ON wp.osm_id = ll.osm_id diff --git a/layers/waterway/name.sql b/layers/waterway/name.sql index f2a144f..60eab1b 100644 --- a/layers/waterway/name.sql +++ b/layers/waterway/name.sql @@ -1,7 +1,7 @@ DO $$ BEGIN - update osm_waterway_linestring SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); - update osm_waterway_linestring_gen1 SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); - update osm_waterway_linestring_gen2 SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); - update osm_waterway_linestring_gen3 SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); + update osm_waterway_linestring SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry); + update osm_waterway_linestring_gen1 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry); + update osm_waterway_linestring_gen2 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry); + update osm_waterway_linestring_gen3 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry); END $$; diff --git a/layers/waterway/update_waterway_linestring.sql b/layers/waterway/update_waterway_linestring.sql index fbeec53..9234b97 100644 --- a/layers/waterway/update_waterway_linestring.sql +++ b/layers/waterway/update_waterway_linestring.sql @@ -2,10 +2,10 @@ DROP TRIGGER IF EXISTS trigger_refresh ON osm_waterway_linestring; DO $$ BEGIN - update osm_waterway_linestring SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); - update osm_waterway_linestring_gen1 SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); - update osm_waterway_linestring_gen2 SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); - update osm_waterway_linestring_gen3 SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); + update osm_waterway_linestring SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry); + update osm_waterway_linestring_gen1 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry); + update osm_waterway_linestring_gen2 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry); + update osm_waterway_linestring_gen3 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry); END $$; @@ -15,8 +15,8 @@ CREATE SCHEMA IF NOT EXISTS waterway_linestring; CREATE OR REPLACE FUNCTION waterway_linestring.refresh() RETURNS trigger AS $BODY$ BEGIN - RAISE NOTICE 'Refresh waterway_linestring %', NEW.osm_id; - NEW.tags = slice_language_tags(NEW.tags) || get_basic_names(NEW.tags, NEW.geometry); +-- RAISE NOTICE 'Refresh waterway_linestring %', NEW.osm_id; + NEW.tags = delete_empty_keys(NEW.tags) || get_basic_names(NEW.tags, NEW.geometry); RETURN NEW; END; $BODY$