diff --git a/layers/transportation_name/name.sql b/layers/transportation_name/name.sql deleted file mode 100644 index 14bacc7..0000000 --- a/layers/transportation_name/name.sql +++ /dev/null @@ -1,7 +0,0 @@ -DO $$ -BEGIN - update osm_highway_linestring SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); - update osm_railway_linestring SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); - update osm_aerialway_linestring SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); - update osm_shipway_linestring SET tags = slice_language_tags(tags) || get_basic_names(tags, geometry); -END $$; diff --git a/layers/transportation_name/transportation_name.yaml b/layers/transportation_name/transportation_name.yaml index d4a4b47..263032c 100644 --- a/layers/transportation_name/transportation_name.yaml +++ b/layers/transportation_name/transportation_name.yaml @@ -76,7 +76,6 @@ layer: srid: 900913 query: (SELECT geometry, name, name_en, name_de, {name_languages}, ref, ref_length, network::text, class::text, subclass, layer, level, indoor FROM layer_transportation_name(!bbox!, z(!scale_denominator!))) AS t schema: - - ./name.sql - ./network_type.sql - ./update_route_member.sql - ./update_transportation_name.sql diff --git a/layers/transportation_name/update_transportation_name.sql b/layers/transportation_name/update_transportation_name.sql index 6baaf10..fe6f43f 100644 --- a/layers/transportation_name/update_transportation_name.sql +++ b/layers/transportation_name/update_transportation_name.sql @@ -50,7 +50,7 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring AS ( name, name_en, name_de, - tags, + tags || get_basic_names(tags, geometry) AS "tags", ref, highway, "level", @@ -64,19 +64,20 @@ CREATE MATERIALIZED VIEW osm_transportation_name_linestring AS ( name, name_en, name_de, - slice_language_tags(tags) AS tags, - max(ref) AS ref, - max(highway) AS highway, - max("level") AS "level", - max(layer) AS layer, - bool_or(indoor) AS indoor, - max(network_type) AS network_type, + hstore(string_agg(nullif(slice_language_tags(tags)::text, ''), ',')) + AS "tags", + ref, + highway, + "level", + layer, + indoor, + network_type, min(z_order) AS z_order FROM osm_transportation_name_network WHERE ("rank"=1 OR "rank" is null) AND (name <> '' OR ref <> '') AND NULLIF(highway, '') IS NOT NULL - group by name, name_en, name_de, slice_language_tags(tags) + group by name, name_en, name_de, ref, highway, "level", layer, indoor, network_type ) AS highway_union ); CREATE INDEX IF NOT EXISTS osm_transportation_name_linestring_geometry_idx ON osm_transportation_name_linestring USING gist(geometry);