kopia lustrzana https://github.com/openmaptiles/openmaptiles
Merge 531b0b5f52
into d3a9b36873
commit
3b35d40393
|
@ -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 ||
|
||||
hstore(ARRAY [
|
||||
'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
|
||||
'name', CASE WHEN length(name) > 15 THEN osml10n_street_abbrev_all(name) ELSE NULLIF(name, '') END
|
||||
]))::text,
|
||||
''), ','));
|
||||
$$ LANGUAGE SQL IMMUTABLE
|
||||
|
|
|
@ -94,14 +94,6 @@ name_field: &name
|
|||
name: name
|
||||
key: name
|
||||
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
|
||||
key: short_name
|
||||
name: short_name
|
||||
|
@ -232,8 +224,6 @@ tables:
|
|||
- *level
|
||||
- *indoor
|
||||
- *name
|
||||
- *name_en
|
||||
- *name_de
|
||||
- name: tags
|
||||
type: hstore_tags
|
||||
- *short_name
|
||||
|
@ -312,8 +302,6 @@ tables:
|
|||
- *level
|
||||
- *indoor
|
||||
- *name
|
||||
- *name_en
|
||||
- *name_de
|
||||
- name: tags
|
||||
type: hstore_tags
|
||||
- *short_name
|
||||
|
@ -350,8 +338,6 @@ tables:
|
|||
- *z_order
|
||||
- *layer
|
||||
- *name
|
||||
- *name_en
|
||||
- *name_de
|
||||
- name: tags
|
||||
type: hstore_tags
|
||||
- *short_name
|
||||
|
@ -389,8 +375,6 @@ tables:
|
|||
- *z_order
|
||||
- *layer
|
||||
- *name
|
||||
- *name_en
|
||||
- *name_de
|
||||
- name: tags
|
||||
type: hstore_tags
|
||||
- *short_name
|
||||
|
@ -458,8 +442,6 @@ tables:
|
|||
- *layer
|
||||
- *level
|
||||
- *name
|
||||
- *name_en
|
||||
- *name_de
|
||||
- name: tags
|
||||
type: hstore_tags
|
||||
- name: ref
|
||||
|
|
|
@ -70,7 +70,7 @@ FROM (
|
|||
SELECT DISTINCT ON (hl.osm_id)
|
||||
hl.geometry,
|
||||
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,
|
||||
CASE
|
||||
WHEN rm1.network_type IS NOT NULL AND rm1.ref::text <> ''
|
||||
|
|
|
@ -6,8 +6,6 @@ CREATE OR REPLACE FUNCTION layer_transportation_name(bbox geometry, zoom_level i
|
|||
(
|
||||
geometry geometry,
|
||||
name text,
|
||||
name_en text,
|
||||
name_de text,
|
||||
tags hstore,
|
||||
ref text,
|
||||
ref_length int,
|
||||
|
@ -29,8 +27,6 @@ AS
|
|||
$$
|
||||
SELECT geometry,
|
||||
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,
|
||||
ref,
|
||||
NULLIF(LENGTH(ref), 0) AS ref_length,
|
||||
|
|
|
@ -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
|
||||
fields:
|
||||
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_length: Length of the `ref` field. Useful for having a shield icon as background for labeling motorways.
|
||||
network:
|
||||
|
@ -110,7 +108,7 @@ layer:
|
|||
datasource:
|
||||
geometry_field: geometry
|
||||
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:
|
||||
- ./highway_classification.sql
|
||||
- ./update_transportation_name.sql
|
||||
|
|
|
@ -157,7 +157,7 @@ FROM (
|
|||
array_agg(osm_id) AS source_ids,
|
||||
1 AS source,
|
||||
transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
) AS tags,
|
||||
NULL AS ref,
|
||||
'shipway' AS highway,
|
||||
|
@ -182,7 +182,7 @@ FROM (
|
|||
-- to 1. https://postgis.net/docs/ST_ClusterDBSCAN.html
|
||||
ST_ClusterDBSCAN(geometry, 0, 1) OVER (
|
||||
PARTITION BY transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
), shipway, layer
|
||||
) AS cluster,
|
||||
-- ST_ClusterDBSCAN returns an increasing integer as the cluster-ids within each partition
|
||||
|
@ -191,14 +191,14 @@ FROM (
|
|||
-- partition columns.
|
||||
DENSE_RANK() OVER (
|
||||
ORDER BY transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
), shipway, layer
|
||||
) as cluster_group
|
||||
FROM osm_shipway_linestring
|
||||
WHERE name <> ''
|
||||
) q
|
||||
GROUP BY cluster_group, cluster, transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
), shipway, layer
|
||||
UNION ALL
|
||||
|
||||
|
@ -215,7 +215,7 @@ FROM (
|
|||
array_agg(osm_id) AS source_ids,
|
||||
2 AS source,
|
||||
transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
) AS tags,
|
||||
NULL AS ref,
|
||||
'aerialway' AS highway,
|
||||
|
@ -240,7 +240,7 @@ FROM (
|
|||
-- to 1. https://postgis.net/docs/ST_ClusterDBSCAN.html
|
||||
ST_ClusterDBSCAN(geometry, 0, 1) OVER (
|
||||
PARTITION BY transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
), aerialway, layer
|
||||
) AS cluster,
|
||||
-- ST_ClusterDBSCAN returns an increasing integer as the cluster-ids within each partition
|
||||
|
@ -249,14 +249,14 @@ FROM (
|
|||
-- partition columns.
|
||||
DENSE_RANK() OVER (
|
||||
ORDER BY transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
), aerialway, layer
|
||||
) as cluster_group
|
||||
FROM osm_aerialway_linestring
|
||||
WHERE name <> ''
|
||||
) q
|
||||
GROUP BY cluster_group, cluster, transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
), aerialway, layer
|
||||
) AS highway_union;
|
||||
|
||||
|
@ -736,7 +736,7 @@ BEGIN
|
|||
FROM (
|
||||
SELECT hl.geometry,
|
||||
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,
|
||||
CASE
|
||||
WHEN rm1.network_type IS NOT NULL AND rm1.ref::text <> ''
|
||||
|
@ -1207,7 +1207,7 @@ BEGIN
|
|||
-- Add all Source-LineStrings affected by this update
|
||||
SELECT osm_id, NULL::INTEGER AS id, NULL::BIGINT[] AS source_ids, geometry,
|
||||
transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
) AS tags, shipway AS subclass, layer, z_order
|
||||
FROM (
|
||||
-- Get Source-LineString-IDs of deleted or updated elements
|
||||
|
@ -1389,7 +1389,7 @@ BEGIN
|
|||
-- Add all Source-LineStrings affected by this update
|
||||
SELECT osm_id, NULL::INTEGER AS id, NULL::BIGINT[] AS source_ids, geometry,
|
||||
transportation_name_tags(
|
||||
NULL::geometry, tags, name, name_en, name_de
|
||||
NULL::geometry, tags, name
|
||||
) AS tags, aerialway AS subclass, layer, z_order
|
||||
FROM (
|
||||
-- Get Source-LineString-IDs of deleted or updated elements
|
||||
|
|
Ładowanie…
Reference in New Issue