kopia lustrzana https://github.com/openmaptiles/openmaptiles
Merge branch 'master' into power_facilities
commit
b3a3fa5223
|
@ -20,10 +20,10 @@ jobs:
|
|||
- name: Run quickstart for a small area
|
||||
env:
|
||||
area: monaco
|
||||
MIN_ZOOM: 0
|
||||
MAX_ZOOM: 14
|
||||
QUIET: 1
|
||||
run: |
|
||||
echo MIN_ZOOM=0 >> .env
|
||||
echo MAX_ZOOM=14 >> .env
|
||||
./quickstart.sh $area
|
||||
|
||||
- name: Save quickstart.log
|
||||
|
|
|
@ -26,8 +26,6 @@ tables:
|
|||
- forest
|
||||
- village_green
|
||||
- recreation_ground
|
||||
# There are 600 parks tagged with landuse=park instead of leisure=park
|
||||
- park
|
||||
natural:
|
||||
- wood
|
||||
- wetland
|
||||
|
|
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 66 KiB Po Szerokość: | Wysokość: | Rozmiar: 65 KiB |
|
@ -44,8 +44,8 @@ FROM (
|
|||
PARTITION BY LabelGrid(geometry, 100 * pixel_width)
|
||||
ORDER BY (
|
||||
substring(ele FROM E'^(-?\\d+)(\\D|$)')::int +
|
||||
(CASE WHEN NULLIF(wikipedia, '') IS NOT NULL THEN 10000 ELSE 0 END) +
|
||||
(CASE WHEN NULLIF(name, '') IS NOT NULL THEN 10000 ELSE 0 END)
|
||||
(CASE WHEN wikipedia <> '' THEN 10000 ELSE 0 END) +
|
||||
(CASE WHEN name <> '' THEN 10000 ELSE 0 END)
|
||||
) DESC
|
||||
)::int AS "rank"
|
||||
FROM osm_peak_point
|
||||
|
@ -80,8 +80,8 @@ FROM (
|
|||
row_number() OVER (
|
||||
PARTITION BY LabelGrid(geometry, 100 * pixel_width)
|
||||
ORDER BY (
|
||||
(CASE WHEN NULLIF(wikipedia, '') IS NOT NULL THEN 10000 ELSE 0 END) +
|
||||
(CASE WHEN NULLIF(name, '') IS NOT NULL THEN 10000 ELSE 0 END)
|
||||
(CASE WHEN wikipedia <> '' THEN 10000 ELSE 0 END) +
|
||||
(CASE WHEN name <> '' THEN 10000 ELSE 0 END)
|
||||
) DESC
|
||||
)::int AS "rank"
|
||||
FROM osm_mountain_linestring
|
||||
|
|
|
@ -5,7 +5,7 @@ SELECT uic_ref,
|
|||
count(*) AS count,
|
||||
CASE WHEN count(*) > 2 THEN ST_Centroid(ST_UNION(geometry)) END AS centroid
|
||||
FROM osm_poi_point
|
||||
WHERE nullif(uic_ref, '') IS NOT NULL
|
||||
WHERE uic_ref <> ''
|
||||
AND subclass IN ('bus_stop', 'bus_station', 'tram_stop', 'subway')
|
||||
GROUP BY uic_ref
|
||||
HAVING count(*) > 1
|
||||
|
|
|
@ -56,3 +56,37 @@ SELECT CASE
|
|||
$$ LANGUAGE SQL IMMUTABLE
|
||||
STRICT
|
||||
PARALLEL SAFE;
|
||||
|
||||
-- Determine which transportation features are shown at zoom 12
|
||||
CREATE OR REPLACE FUNCTION transportation_filter_z12(highway text, construction text) RETURNS boolean AS
|
||||
$$
|
||||
SELECT CASE
|
||||
WHEN highway IN ('unclassified', 'residential') THEN TRUE
|
||||
WHEN highway_class(highway, '', construction) IN
|
||||
(
|
||||
'motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'raceway',
|
||||
'motorway_construction', 'trunk_construction', 'primary_construction',
|
||||
'secondary_construction', 'tertiary_construction', 'raceway_construction'
|
||||
) THEN TRUE --includes ramps
|
||||
ELSE FALSE
|
||||
END
|
||||
$$ LANGUAGE SQL IMMUTABLE
|
||||
STRICT
|
||||
PARALLEL SAFE;
|
||||
|
||||
-- Determine which transportation features are shown at zoom 13
|
||||
-- Assumes that piers have already been excluded
|
||||
CREATE OR REPLACE FUNCTION transportation_filter_z13(highway text,
|
||||
public_transport text,
|
||||
construction text,
|
||||
service text) RETURNS boolean AS
|
||||
$$
|
||||
SELECT CASE
|
||||
WHEN transportation_filter_z12(highway, construction) THEN TRUE
|
||||
WHEN highway = 'service' OR construction = 'service' THEN service NOT IN ('driveway', 'parking_aisle')
|
||||
WHEN highway_class(highway, public_transport, construction) IN ('minor', 'minor_construction') THEN TRUE
|
||||
ELSE FALSE
|
||||
END
|
||||
$$ LANGUAGE SQL IMMUTABLE
|
||||
STRICT
|
||||
PARALLEL SAFE;
|
||||
|
|
|
@ -36,12 +36,12 @@ $$
|
|||
SELECT osm_id,
|
||||
geometry,
|
||||
CASE
|
||||
WHEN NULLIF(highway, '') IS NOT NULL OR NULLIF(public_transport, '') IS NOT NULL
|
||||
WHEN highway <> '' OR public_transport <> ''
|
||||
THEN highway_class(highway, public_transport, construction)
|
||||
WHEN NULLIF(railway, '') IS NOT NULL THEN railway_class(railway)
|
||||
WHEN NULLIF(aerialway, '') IS NOT NULL THEN 'aerialway'
|
||||
WHEN NULLIF(shipway, '') IS NOT NULL THEN shipway
|
||||
WHEN NULLIF(man_made, '') IS NOT NULL THEN man_made
|
||||
WHEN railway <> '' THEN railway_class(railway)
|
||||
WHEN aerialway <> '' THEN 'aerialway'
|
||||
WHEN shipway <> '' THEN shipway
|
||||
WHEN man_made <> '' THEN man_made
|
||||
END AS class,
|
||||
CASE
|
||||
WHEN railway IS NOT NULL THEN railway
|
||||
|
@ -358,26 +358,17 @@ FROM (
|
|||
z_order
|
||||
FROM osm_highway_linestring
|
||||
WHERE NOT is_area
|
||||
AND (
|
||||
zoom_level = 12 AND (
|
||||
highway_class(highway, public_transport, construction) NOT IN ('track', 'path', 'minor', 'service')
|
||||
OR highway IN ('unclassified', 'residential')
|
||||
) AND man_made <> 'pier'
|
||||
OR zoom_level = 13
|
||||
AND (
|
||||
highway_class(highway, public_transport, construction) NOT IN ('track', 'path') AND
|
||||
man_made <> 'pier'
|
||||
OR
|
||||
man_made = 'pier' AND NOT ST_IsClosed(geometry)
|
||||
)
|
||||
AND service NOT IN ('driveway', 'parking_aisle')
|
||||
OR zoom_level >= 14
|
||||
AND (
|
||||
man_made <> 'pier'
|
||||
OR
|
||||
NOT ST_IsClosed(geometry)
|
||||
)
|
||||
)
|
||||
AND
|
||||
CASE WHEN zoom_level = 12 THEN transportation_filter_z12(highway, construction)
|
||||
WHEN zoom_level = 13 THEN
|
||||
CASE WHEN man_made='pier' THEN NOT ST_IsClosed(geometry)
|
||||
ELSE transportation_filter_z13(highway, public_transport, construction, service)
|
||||
END
|
||||
WHEN zoom_level >= 14 THEN
|
||||
CASE WHEN man_made='pier' THEN NOT ST_IsClosed(geometry)
|
||||
ELSE TRUE
|
||||
END
|
||||
END
|
||||
UNION ALL
|
||||
|
||||
-- etldoc: osm_railway_linestring_gen_z8 -> layer_transportation:z8
|
||||
|
|
|
@ -22,7 +22,7 @@ layer:
|
|||
[`aerialway`](http://wiki.openstreetmap.org/wiki/Key:aerialway),
|
||||
[`route`](http://wiki.openstreetmap.org/wiki/Key:route) tag (for
|
||||
shipping ways), or
|
||||
[`man_made`](http://wiki.openstreetmap.org/wiki/Key:route).
|
||||
[`man_made`](http://wiki.openstreetmap.org/wiki/Key:man_made).
|
||||
values:
|
||||
motorway:
|
||||
highway: ['motorway', 'motorway_link']
|
||||
|
|
|
@ -85,7 +85,7 @@ ALTER TABLE osm_route_member ADD COLUMN IF NOT EXISTS concurrency_index int;
|
|||
INSERT INTO osm_route_member (id, concurrency_index)
|
||||
SELECT
|
||||
id,
|
||||
ROW_NUMBER() over (PARTITION BY member ORDER BY network_type, network, LENGTH(ref), ref) AS concurrency_index
|
||||
DENSE_RANK() over (PARTITION BY member ORDER BY network_type, network, LENGTH(ref), ref) AS concurrency_index
|
||||
FROM osm_route_member
|
||||
ON CONFLICT (id) DO UPDATE SET concurrency_index = EXCLUDED.concurrency_index;
|
||||
|
||||
|
|
|
@ -25,7 +25,8 @@ SELECT
|
|||
route_1, route_2, route_3, route_4, route_5, route_6,
|
||||
z_order
|
||||
FROM (
|
||||
SELECT hl.geometry,
|
||||
SELECT DISTINCT ON (hl.osm_id)
|
||||
hl.geometry,
|
||||
hl.osm_id,
|
||||
CASE WHEN length(hl.name) > 15 THEN osml10n_street_abbrev_all(hl.name) ELSE NULLIF(hl.name, '') END AS "name",
|
||||
CASE WHEN length(hl.name_en) > 15 THEN osml10n_street_abbrev_en(hl.name_en) ELSE NULLIF(hl.name_en, '') END AS "name_en",
|
||||
|
@ -33,7 +34,7 @@ FROM (
|
|||
slice_language_tags(hl.tags) AS tags,
|
||||
rm1.network_type,
|
||||
CASE
|
||||
WHEN rm1.network_type IS NOT NULL AND nullif(rm1.ref::text, '') IS NOT NULL
|
||||
WHEN rm1.network_type IS NOT NULL AND rm1.ref::text <> ''
|
||||
THEN rm1.ref::text
|
||||
ELSE NULLIF(hl.ref, '')
|
||||
END AS ref,
|
||||
|
@ -48,7 +49,7 @@ FROM (
|
|||
NULLIF(rm3.network, '') || '=' || COALESCE(rm3.ref, '') AS route_3,
|
||||
NULLIF(rm4.network, '') || '=' || COALESCE(rm4.ref, '') AS route_4,
|
||||
NULLIF(rm5.network, '') || '=' || COALESCE(rm5.ref, '') AS route_5,
|
||||
NULLIF(rm6.network, '') || '=' || NULLIF(rm6.ref, '') AS route_6,
|
||||
NULLIF(rm6.network, '') || '=' || COALESCE(rm6.ref, '') AS route_6,
|
||||
hl.z_order
|
||||
FROM osm_highway_linestring hl
|
||||
LEFT OUTER JOIN osm_route_member rm1 ON rm1.member = hl.osm_id AND rm1.concurrency_index=1
|
||||
|
@ -58,7 +59,7 @@ FROM (
|
|||
LEFT OUTER JOIN osm_route_member rm5 ON rm5.member = hl.osm_id AND rm5.concurrency_index=5
|
||||
LEFT OUTER JOIN osm_route_member rm6 ON rm6.member = hl.osm_id AND rm6.concurrency_index=6
|
||||
WHERE (hl.name <> '' OR hl.ref <> '' OR rm1.ref <> '' OR rm1.network <> '')
|
||||
AND NULLIF(hl.highway, '') IS NOT NULL
|
||||
AND hl.highway <> ''
|
||||
) AS t;
|
||||
CREATE INDEX IF NOT EXISTS osm_transportation_name_network_osm_id_idx ON osm_transportation_name_network (osm_id);
|
||||
CREATE INDEX IF NOT EXISTS osm_transportation_name_network_name_ref_idx ON osm_transportation_name_network (coalesce(name, ''), coalesce(ref, ''));
|
||||
|
@ -338,7 +339,7 @@ BEGIN
|
|||
slice_language_tags(hl.tags) AS tags,
|
||||
rm.network_type,
|
||||
CASE
|
||||
WHEN rm1.network_type IS NOT NULL AND nullif(rm1.ref::text, '') IS NOT NULL
|
||||
WHEN rm1.network_type IS NOT NULL AND rm1.ref::text <> ''
|
||||
THEN rm1.ref::text
|
||||
ELSE NULLIF(hl.ref, '')
|
||||
END AS ref,
|
||||
|
@ -355,7 +356,7 @@ BEGIN
|
|||
hl.osm_id = c.osm_id
|
||||
LEFT OUTER JOIN osm_route_member rm ON rm.member = hl.osm_id AND rm.concurrency_index=1
|
||||
WHERE (hl.name <> '' OR hl.ref <> '')
|
||||
AND NULLIF(hl.highway, '') IS NOT NULL
|
||||
AND hl.highway <> ''
|
||||
) AS t;
|
||||
|
||||
-- noinspection SqlWithoutWhere
|
||||
|
|
Ładowanie…
Reference in New Issue