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 ||
|
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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 <> ''
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Ładowanie…
Reference in New Issue