pull/1474/merge
Brian Sperlongano 2023-12-28 08:58:54 +01:00 zatwierdzone przez GitHub
commit 3b35d40393
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
6 zmienionych plików z 15 dodań i 41 usunięć

Wyświetl plik

@ -1,10 +1,8 @@
CREATE OR REPLACE FUNCTION transportation_name_tags(geometry geometry, tags hstore, name text, name_en text, name_de text) RETURNS hstore AS CREATE OR REPLACE FUNCTION transportation_name_tags(geometry geometry, tags hstore, name text) RETURNS hstore AS
$$ $$
SELECT hstore(string_agg(nullif(slice_language_tags(tags || SELECT hstore(string_agg(nullif(slice_language_tags(tags ||
hstore(ARRAY [ hstore(ARRAY [
'name', CASE WHEN length(name) > 15 THEN osml10n_street_abbrev_all(name) ELSE NULLIF(name, '') END, 'name', CASE WHEN length(name) > 15 THEN osml10n_street_abbrev_all(name) ELSE NULLIF(name, '') END
'name:en', CASE WHEN length(name_en) > 15 THEN osml10n_street_abbrev_en(name_en) ELSE NULLIF(name_en, '') END,
'name:de', CASE WHEN length(name_de) > 15 THEN osml10n_street_abbrev_de(name_de) ELSE NULLIF(name_de, '') END
]))::text, ]))::text,
''), ',')); ''), ','));
$$ LANGUAGE SQL IMMUTABLE $$ LANGUAGE SQL IMMUTABLE

Wyświetl plik

@ -94,14 +94,6 @@ name_field: &name
name: name name: name
key: name key: name
type: string type: string
name_en_field: &name_en
name: name_en
key: name:en
type: string
name_de_field: &name_de
name: name_de
key: name:de
type: string
short_name_field: &short_name short_name_field: &short_name
key: short_name key: short_name
name: short_name name: short_name
@ -232,8 +224,6 @@ tables:
- *level - *level
- *indoor - *indoor
- *name - *name
- *name_en
- *name_de
- name: tags - name: tags
type: hstore_tags type: hstore_tags
- *short_name - *short_name
@ -312,8 +302,6 @@ tables:
- *level - *level
- *indoor - *indoor
- *name - *name
- *name_en
- *name_de
- name: tags - name: tags
type: hstore_tags type: hstore_tags
- *short_name - *short_name
@ -350,8 +338,6 @@ tables:
- *z_order - *z_order
- *layer - *layer
- *name - *name
- *name_en
- *name_de
- name: tags - name: tags
type: hstore_tags type: hstore_tags
- *short_name - *short_name
@ -389,8 +375,6 @@ tables:
- *z_order - *z_order
- *layer - *layer
- *name - *name
- *name_en
- *name_de
- name: tags - name: tags
type: hstore_tags type: hstore_tags
- *short_name - *short_name
@ -458,8 +442,6 @@ tables:
- *layer - *layer
- *level - *level
- *name - *name
- *name_en
- *name_de
- name: tags - name: tags
type: hstore_tags type: hstore_tags
- name: ref - name: ref

Wyświetl plik

@ -70,7 +70,7 @@ FROM (
SELECT DISTINCT ON (hl.osm_id) SELECT DISTINCT ON (hl.osm_id)
hl.geometry, hl.geometry,
hl.osm_id, hl.osm_id,
transportation_name_tags(hl.geometry, hl.tags, hl.name, hl.name_en, hl.name_de) AS tags, transportation_name_tags(hl.geometry, hl.tags, hl.name) AS tags,
rm1.network_type, rm1.network_type,
CASE CASE
WHEN rm1.network_type IS NOT NULL AND rm1.ref::text <> '' WHEN rm1.network_type IS NOT NULL AND rm1.ref::text <> ''

Wyświetl plik

@ -6,8 +6,6 @@ CREATE OR REPLACE FUNCTION layer_transportation_name(bbox geometry, zoom_level i
( (
geometry geometry, geometry geometry,
name text, name text,
name_en text,
name_de text,
tags hstore, tags hstore,
ref text, ref text,
ref_length int, ref_length int,
@ -29,8 +27,6 @@ AS
$$ $$
SELECT geometry, SELECT geometry,
tags->'name' AS name, tags->'name' AS name,
COALESCE(tags->'name:en', tags->'name') AS name_en,
COALESCE(tags->'name:de', tags->'name', tags->'name:en') AS name_de,
tags, tags,
ref, ref,
NULLIF(LENGTH(ref), 0) AS ref_length, NULLIF(LENGTH(ref), 0) AS ref_length,

Wyświetl plik

@ -13,8 +13,6 @@ layer:
srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over
fields: fields:
name: The OSM [`name`](http://wiki.openstreetmap.org/wiki/Highways#Names_and_references) value of the highway. name: The OSM [`name`](http://wiki.openstreetmap.org/wiki/Highways#Names_and_references) value of the highway.
name_en: English name `name:en` if available, otherwise `name`.
name_de: German name `name:de` if available, otherwise `name` or `name:en`.
ref: The OSM [`ref`](http://wiki.openstreetmap.org/wiki/Key:ref) tag of the motorway or its network. ref: The OSM [`ref`](http://wiki.openstreetmap.org/wiki/Key:ref) tag of the motorway or its network.
ref_length: Length of the `ref` field. Useful for having a shield icon as background for labeling motorways. ref_length: Length of the `ref` field. Useful for having a shield icon as background for labeling motorways.
network: network:
@ -110,7 +108,7 @@ layer:
datasource: datasource:
geometry_field: geometry geometry_field: geometry
srid: 900913 srid: 900913
query: (SELECT geometry, name, name_en, name_de, {name_languages}, ref, ref_length, network::text, class::text, subclass, brunnel, layer, level, indoor, route_1, route_2, route_3, route_4, route_5, route_6 FROM layer_transportation_name(!bbox!, z(!scale_denominator!))) AS t query: (SELECT geometry, name, {name_languages}, ref, ref_length, network::text, class::text, subclass, brunnel, layer, level, indoor, route_1, route_2, route_3, route_4, route_5, route_6 FROM layer_transportation_name(!bbox!, z(!scale_denominator!))) AS t
schema: schema:
- ./highway_classification.sql - ./highway_classification.sql
- ./update_transportation_name.sql - ./update_transportation_name.sql

Wyświetl plik

@ -157,7 +157,7 @@ FROM (
array_agg(osm_id) AS source_ids, array_agg(osm_id) AS source_ids,
1 AS source, 1 AS source,
transportation_name_tags( transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
) AS tags, ) AS tags,
NULL AS ref, NULL AS ref,
'shipway' AS highway, 'shipway' AS highway,
@ -182,7 +182,7 @@ FROM (
-- to 1. https://postgis.net/docs/ST_ClusterDBSCAN.html -- to 1. https://postgis.net/docs/ST_ClusterDBSCAN.html
ST_ClusterDBSCAN(geometry, 0, 1) OVER ( ST_ClusterDBSCAN(geometry, 0, 1) OVER (
PARTITION BY transportation_name_tags( PARTITION BY transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
), shipway, layer ), shipway, layer
) AS cluster, ) AS cluster,
-- ST_ClusterDBSCAN returns an increasing integer as the cluster-ids within each partition -- ST_ClusterDBSCAN returns an increasing integer as the cluster-ids within each partition
@ -191,14 +191,14 @@ FROM (
-- partition columns. -- partition columns.
DENSE_RANK() OVER ( DENSE_RANK() OVER (
ORDER BY transportation_name_tags( ORDER BY transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
), shipway, layer ), shipway, layer
) as cluster_group ) as cluster_group
FROM osm_shipway_linestring FROM osm_shipway_linestring
WHERE name <> '' WHERE name <> ''
) q ) q
GROUP BY cluster_group, cluster, transportation_name_tags( GROUP BY cluster_group, cluster, transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
), shipway, layer ), shipway, layer
UNION ALL UNION ALL
@ -215,7 +215,7 @@ FROM (
array_agg(osm_id) AS source_ids, array_agg(osm_id) AS source_ids,
2 AS source, 2 AS source,
transportation_name_tags( transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
) AS tags, ) AS tags,
NULL AS ref, NULL AS ref,
'aerialway' AS highway, 'aerialway' AS highway,
@ -240,7 +240,7 @@ FROM (
-- to 1. https://postgis.net/docs/ST_ClusterDBSCAN.html -- to 1. https://postgis.net/docs/ST_ClusterDBSCAN.html
ST_ClusterDBSCAN(geometry, 0, 1) OVER ( ST_ClusterDBSCAN(geometry, 0, 1) OVER (
PARTITION BY transportation_name_tags( PARTITION BY transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
), aerialway, layer ), aerialway, layer
) AS cluster, ) AS cluster,
-- ST_ClusterDBSCAN returns an increasing integer as the cluster-ids within each partition -- ST_ClusterDBSCAN returns an increasing integer as the cluster-ids within each partition
@ -249,14 +249,14 @@ FROM (
-- partition columns. -- partition columns.
DENSE_RANK() OVER ( DENSE_RANK() OVER (
ORDER BY transportation_name_tags( ORDER BY transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
), aerialway, layer ), aerialway, layer
) as cluster_group ) as cluster_group
FROM osm_aerialway_linestring FROM osm_aerialway_linestring
WHERE name <> '' WHERE name <> ''
) q ) q
GROUP BY cluster_group, cluster, transportation_name_tags( GROUP BY cluster_group, cluster, transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
), aerialway, layer ), aerialway, layer
) AS highway_union; ) AS highway_union;
@ -736,7 +736,7 @@ BEGIN
FROM ( FROM (
SELECT hl.geometry, SELECT hl.geometry,
hl.osm_id, hl.osm_id,
transportation_name_tags(hl.geometry, hl.tags, hl.name, hl.name_en, hl.name_de) AS tags, transportation_name_tags(hl.geometry, hl.tags, hl.name) AS tags,
rm1.network_type, rm1.network_type,
CASE CASE
WHEN rm1.network_type IS NOT NULL AND rm1.ref::text <> '' WHEN rm1.network_type IS NOT NULL AND rm1.ref::text <> ''
@ -1207,7 +1207,7 @@ BEGIN
-- Add all Source-LineStrings affected by this update -- Add all Source-LineStrings affected by this update
SELECT osm_id, NULL::INTEGER AS id, NULL::BIGINT[] AS source_ids, geometry, SELECT osm_id, NULL::INTEGER AS id, NULL::BIGINT[] AS source_ids, geometry,
transportation_name_tags( transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
) AS tags, shipway AS subclass, layer, z_order ) AS tags, shipway AS subclass, layer, z_order
FROM ( FROM (
-- Get Source-LineString-IDs of deleted or updated elements -- Get Source-LineString-IDs of deleted or updated elements
@ -1389,7 +1389,7 @@ BEGIN
-- Add all Source-LineStrings affected by this update -- Add all Source-LineStrings affected by this update
SELECT osm_id, NULL::INTEGER AS id, NULL::BIGINT[] AS source_ids, geometry, SELECT osm_id, NULL::INTEGER AS id, NULL::BIGINT[] AS source_ids, geometry,
transportation_name_tags( transportation_name_tags(
NULL::geometry, tags, name, name_en, name_de NULL::geometry, tags, name
) AS tags, aerialway AS subclass, layer, z_order ) AS tags, aerialway AS subclass, layer, z_order
FROM ( FROM (
-- Get Source-LineString-IDs of deleted or updated elements -- Get Source-LineString-IDs of deleted or updated elements