kopia lustrzana https://github.com/openmaptiles/openmaptiles
Porównaj commity
36 Commity
ec5de75e6c
...
ab386663ee
Autor | SHA1 | Data |
---|---|---|
ache051 | ab386663ee | |
Tomas Pohanka | eae7d7e1ed | |
Tomas Pohanka | 382b12ae8a | |
Tomas Pohanka | 59692656bd | |
Tomas Pohanka | ee19519905 | |
Tomas Pohanka | 8266197149 | |
ache051 | 27c2ab76ce | |
ache051 | 88b47916fb | |
ache051 | 868f0a8328 | |
ache051 | 567164d592 | |
ache051 | b3b69b411c | |
ache051 | b049530905 | |
ache051 | c91d702f00 | |
ache051 | 6338b86d0a | |
ache051 | 40ae39fd03 | |
ache051 | c3478a40b4 | |
ache051 | c0e3e7955d | |
Tomas Pohanka | 6a539b22db | |
ache051 | 302887ba16 | |
ache051 | 15138206eb | |
ache051 | 412f7edd31 | |
ache051 | b3a3fa5223 | |
ache051 | d2b589d691 | |
ache051 | 08554e43b8 | |
ache051 | b6554d535c | |
ache051 | f24308be36 | |
ache051 | 1bc93cee64 | |
ache051 | 24eec53839 | |
ache051 | 4cf98ed27d | |
ache051 | cc0729eff8 | |
ache051 | 933f118396 | |
ache051 | 90495aaf28 | |
ache051 | 7bbca699c5 | |
ache051 | b6e93147b8 | |
ache051 | d2f1244249 | |
ache051 | d69c18227e |
2
Makefile
2
Makefile
|
@ -289,7 +289,7 @@ ifeq (,$(wildcard build/sql/run_last.sql))
|
||||||
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools bash -c \
|
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools bash -c \
|
||||||
'generate-sql $(TILESET_FILE) --dir ./build/sql \
|
'generate-sql $(TILESET_FILE) --dir ./build/sql \
|
||||||
&& generate-sqltomvt $(TILESET_FILE) \
|
&& generate-sqltomvt $(TILESET_FILE) \
|
||||||
--key --gzip --postgis-ver 3.2.3 \
|
--key --gzip --postgis-ver 3.3.4 \
|
||||||
--function --fname=getmvt >> ./build/sql/run_last.sql'
|
--function --fname=getmvt >> ./build/sql/run_last.sql'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ layer:
|
||||||
fields:
|
fields:
|
||||||
name: The OSM [`name`](http://wiki.openstreetmap.org/wiki/Key:name) value of the peak. Language-specific values are in `name:xx`.
|
name: The OSM [`name`](http://wiki.openstreetmap.org/wiki/Key:name) value of the peak. Language-specific values are in `name:xx`.
|
||||||
name_en: English name `name:en` if available, otherwise `name`. This is deprecated and will be removed in a future release in favor of `name:en`.
|
name_en: English name `name:en` if available, otherwise `name`. This is deprecated and will be removed in a future release in favor of `name:en`.
|
||||||
name_de: German name `name:de` if available, otherwise `name` or `name:en`.
|
name_de: German name `name:de` if available, otherwise `name` or `name:en`. This is deprecated and will be removed in a future release in favor of `name:de`.
|
||||||
class:
|
class:
|
||||||
description: |
|
description: |
|
||||||
Use the **class** to differentiate between natural objects.
|
Use the **class** to differentiate between natural objects.
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
## power
|
||||||
|
|
||||||
|
### Docs
|
||||||
|
|
||||||
|
### Mapping Diagram
|
||||||
|
![Mapping diagram for transportation](mapping_diagram.png?raw=true)
|
||||||
|
|
||||||
|
### ETL diagram
|
||||||
|
![ETL diagram for transportation](etl_diagram.png?raw=true)
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 35 KiB |
|
@ -0,0 +1,99 @@
|
||||||
|
tables:
|
||||||
|
# etldoc: imposm3 -> osm_power_point
|
||||||
|
power_point:
|
||||||
|
type: point
|
||||||
|
fields:
|
||||||
|
- name: osm_id
|
||||||
|
type: id
|
||||||
|
- name: geometry
|
||||||
|
type: geometry
|
||||||
|
- key: power
|
||||||
|
name: class
|
||||||
|
type: string
|
||||||
|
- key: plant:source
|
||||||
|
name: source
|
||||||
|
type: string
|
||||||
|
- key: plant:method
|
||||||
|
name: method
|
||||||
|
type: string
|
||||||
|
- key: generator:source
|
||||||
|
name: gen_source
|
||||||
|
type: string
|
||||||
|
- key: generator:method
|
||||||
|
name: gen_method
|
||||||
|
type: string
|
||||||
|
- key: power
|
||||||
|
name: name
|
||||||
|
type: string
|
||||||
|
mapping:
|
||||||
|
power:
|
||||||
|
- tower
|
||||||
|
- pole
|
||||||
|
- catenary_mast
|
||||||
|
- generator
|
||||||
|
- portal
|
||||||
|
- transformer
|
||||||
|
- switch
|
||||||
|
- insulator
|
||||||
|
# etldoc: imposm3 -> osm_power_linestring
|
||||||
|
power_linestring:
|
||||||
|
type: linestring
|
||||||
|
fields:
|
||||||
|
- name: osm_id
|
||||||
|
type: id
|
||||||
|
- name: geometry
|
||||||
|
type: geometry
|
||||||
|
- key: power
|
||||||
|
name: class
|
||||||
|
type: string
|
||||||
|
- key: plant:source
|
||||||
|
name: source
|
||||||
|
type: string
|
||||||
|
- key: plant:method
|
||||||
|
name: method
|
||||||
|
type: string
|
||||||
|
- key: generator:source
|
||||||
|
name: gen_source
|
||||||
|
type: string
|
||||||
|
- key: generator:method
|
||||||
|
name: gen_method
|
||||||
|
type: string
|
||||||
|
- key: name
|
||||||
|
name: name
|
||||||
|
type: string
|
||||||
|
mapping:
|
||||||
|
power:
|
||||||
|
- line
|
||||||
|
- minor_line
|
||||||
|
# etldoc: imposm3 -> osm_power_polygon
|
||||||
|
power_polygon:
|
||||||
|
type: polygon
|
||||||
|
fields:
|
||||||
|
- name: osm_id
|
||||||
|
type: id
|
||||||
|
- name: geometry
|
||||||
|
type: geometry
|
||||||
|
- key: power
|
||||||
|
name: class
|
||||||
|
type: string
|
||||||
|
- key: plant:source
|
||||||
|
name: source
|
||||||
|
type: string
|
||||||
|
- key: plant:method
|
||||||
|
name: method
|
||||||
|
type: string
|
||||||
|
- key: generator:source
|
||||||
|
name: gen_source
|
||||||
|
type: string
|
||||||
|
- key: generator:method
|
||||||
|
name: gen_method
|
||||||
|
type: string
|
||||||
|
- key: name
|
||||||
|
name: name
|
||||||
|
type: string
|
||||||
|
mapping:
|
||||||
|
power:
|
||||||
|
- generator
|
||||||
|
- plant
|
||||||
|
- substation
|
||||||
|
- transformer
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 32 KiB |
|
@ -0,0 +1,41 @@
|
||||||
|
-- etldoc: layer_power[shape=record fillcolor=lightpink, style="rounded,filled",
|
||||||
|
-- etldoc: label="layer_power | <z13> z13 | <z14> z14+ " ] ;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION layer_power(bbox geometry, zoom_level int)
|
||||||
|
RETURNS TABLE(geometry geometry, class text, source text, method text, name text) AS $$
|
||||||
|
SELECT geometry, class, COALESCE(NULLIF(source, ''),NULLIF(gen_source, '')), method, name
|
||||||
|
FROM(
|
||||||
|
-- etldoc: osm_power_point -> layer_power:z13
|
||||||
|
SELECT geometry, class, source, gen_source, method, name
|
||||||
|
FROM osm_power_point
|
||||||
|
WHERE zoom_level >= 13 AND class = 'tower' AND geometry && bbox
|
||||||
|
UNION ALL
|
||||||
|
-- etldoc: osm_power_point -> layer_power:z14
|
||||||
|
SELECT geometry, class, source, gen_source, method, name
|
||||||
|
FROM osm_power_point
|
||||||
|
WHERE zoom_level >= 14 AND class = 'pole' AND geometry && bbox
|
||||||
|
UNION ALL
|
||||||
|
-- etldoc: osm_power_linestring -> layer_power:z13
|
||||||
|
SELECT geometry, class, source, gen_source, method, name
|
||||||
|
FROM osm_power_linestring
|
||||||
|
WHERE zoom_level >= 13 AND class = 'line' AND geometry && bbox
|
||||||
|
UNION ALL
|
||||||
|
-- etldoc: osm_power_linestring -> layer_power:z14
|
||||||
|
SELECT geometry, class, source, gen_source, method, name
|
||||||
|
FROM osm_power_linestring
|
||||||
|
WHERE zoom_level >= 14 AND class = 'minor_line' AND geometry && bbox
|
||||||
|
UNION ALL
|
||||||
|
-- etldoc: osm_power_polygon -> layer_power:z13
|
||||||
|
SELECT geometry, class, source, gen_source, method, name
|
||||||
|
FROM osm_power_polygon
|
||||||
|
WHERE zoom_level >= 13 AND class = 'plant' AND geometry && bbox
|
||||||
|
UNION ALL
|
||||||
|
-- etldoc: osm_power_polygon -> layer_power:z14
|
||||||
|
SELECT geometry, class, source, gen_source, method, name
|
||||||
|
FROM osm_power_polygon
|
||||||
|
WHERE zoom_level >= 14 AND class IN ('substation', 'generator', 'transformer') AND geometry && bbox
|
||||||
|
) AS zoom_levels
|
||||||
|
WHERE geometry && bbox;
|
||||||
|
$$ LANGUAGE SQL STABLE
|
||||||
|
-- STRICT
|
||||||
|
PARALLEL SAFE;
|
|
@ -0,0 +1,74 @@
|
||||||
|
layer:
|
||||||
|
id: "power"
|
||||||
|
description: |
|
||||||
|
**power** contains power cables and lines.
|
||||||
|
buffer_size: 4
|
||||||
|
fields:
|
||||||
|
name:
|
||||||
|
description: |
|
||||||
|
Name of the feature.
|
||||||
|
class:
|
||||||
|
description: |
|
||||||
|
Class is derived from the value of the
|
||||||
|
[`power`](http://wiki.openstreetmap.org/wiki/Key:power) tag.
|
||||||
|
values:
|
||||||
|
- line
|
||||||
|
- minor_line
|
||||||
|
- tower
|
||||||
|
- pole
|
||||||
|
- catenary_mast
|
||||||
|
- plant
|
||||||
|
- generator
|
||||||
|
- substation
|
||||||
|
- portal
|
||||||
|
- transformer
|
||||||
|
- switch
|
||||||
|
- insulator
|
||||||
|
source:
|
||||||
|
description: |
|
||||||
|
Class is derived from the value of the
|
||||||
|
[`plant:source`](http://wiki.openstreetmap.org/wiki/Key:plant:source) tag.
|
||||||
|
values:
|
||||||
|
- battery
|
||||||
|
- biogas
|
||||||
|
- biomass
|
||||||
|
- coal
|
||||||
|
- combustion
|
||||||
|
- diesel
|
||||||
|
- gas
|
||||||
|
- geothermal
|
||||||
|
- hydro
|
||||||
|
- nuclear
|
||||||
|
- oil
|
||||||
|
- solar
|
||||||
|
- solar_thermal
|
||||||
|
- waste
|
||||||
|
- wind
|
||||||
|
- wind_turbine
|
||||||
|
- wood
|
||||||
|
method:
|
||||||
|
description: |
|
||||||
|
Class is derived from the value of the
|
||||||
|
[`plant:method`](http://wiki.openstreetmap.org/wiki/Key:plant:method) tag.
|
||||||
|
values:
|
||||||
|
- anaerobic_digestion
|
||||||
|
- combustion
|
||||||
|
- dam
|
||||||
|
- fission
|
||||||
|
- gasification
|
||||||
|
- photovoltaic
|
||||||
|
- run-of-the-river
|
||||||
|
- thermal
|
||||||
|
- water-pumpted-storage
|
||||||
|
- water-storage
|
||||||
|
- wind_turbine
|
||||||
|
|
||||||
|
datasource:
|
||||||
|
geometry_field: geometry
|
||||||
|
query: (SELECT geometry, class, source, method, name FROM layer_power(!bbox!, z(!scale_denominator!))) AS t
|
||||||
|
|
||||||
|
schema:
|
||||||
|
- ./power.sql
|
||||||
|
datasources:
|
||||||
|
- type: imposm3
|
||||||
|
mapping_file: ./mapping.yaml
|
Plik binarny nie jest wyświetlany.
Przed Szerokość: | Wysokość: | Rozmiar: 772 KiB Po Szerokość: | Wysokość: | Rozmiar: 865 KiB |
|
@ -48,10 +48,6 @@ WHERE length(ref) > 1
|
||||||
CREATE OR REPLACE FUNCTION osm_route_member_network_type(network text, ref text) RETURNS route_network_type AS
|
CREATE OR REPLACE FUNCTION osm_route_member_network_type(network text, ref text) RETURNS route_network_type AS
|
||||||
$$
|
$$
|
||||||
SELECT CASE
|
SELECT CASE
|
||||||
-- https://wiki.openstreetmap.org/wiki/WikiProject_Europe/E-road_network
|
|
||||||
WHEN network = 'e-road' THEN 'e-road'::route_network_type
|
|
||||||
-- https://wiki.openstreetmap.org/wiki/Asia/Asian_Highway_Network
|
|
||||||
WHEN network = 'AsianHighway' THEN 'a-road'::route_network_type
|
|
||||||
-- https://wiki.openstreetmap.org/wiki/United_States_roads_tagging
|
-- https://wiki.openstreetmap.org/wiki/United_States_roads_tagging
|
||||||
WHEN network = 'US:I' THEN 'us-interstate'::route_network_type
|
WHEN network = 'US:I' THEN 'us-interstate'::route_network_type
|
||||||
WHEN network = 'US:US' THEN 'us-highway'::route_network_type
|
WHEN network = 'US:US' THEN 'us-highway'::route_network_type
|
||||||
|
@ -110,35 +106,6 @@ BEGIN
|
||||||
USING transportation_name.network_changes c
|
USING transportation_name.network_changes c
|
||||||
WHERE c.is_old IS TRUE AND transportation_route_member_coalesced.member = c.osm_id;
|
WHERE c.is_old IS TRUE AND transportation_route_member_coalesced.member = c.osm_id;
|
||||||
|
|
||||||
-- Create GBR/IRE relations (so we can use it in the same way as other relations)
|
|
||||||
-- etldoc: gbr_route_members_view -> transportation_route_member_coalesced
|
|
||||||
INSERT INTO transportation_route_member_coalesced (member, network, ref, network_type, concurrency_index, osm_id)
|
|
||||||
SELECT member, network, coalesce(ref, '') AS ref,
|
|
||||||
osm_route_member_network_type(network, coalesce(ref, '')) AS network_type,
|
|
||||||
1 AS concurrency_index, 0 AS osm_id
|
|
||||||
FROM gbr_route_members_view
|
|
||||||
WHERE full_update OR EXISTS(
|
|
||||||
SELECT NULL
|
|
||||||
FROM transportation_name.network_changes c
|
|
||||||
WHERE c.is_old IS FALSE AND c.osm_id = gbr_route_members_view.member
|
|
||||||
)
|
|
||||||
GROUP BY member, network, coalesce(ref, '')
|
|
||||||
ON CONFLICT (member, network, ref) DO NOTHING;
|
|
||||||
|
|
||||||
-- etldoc: ire_route_members_view -> transportation_route_member_coalesced
|
|
||||||
INSERT INTO transportation_route_member_coalesced (member, network, ref, network_type, concurrency_index, osm_id)
|
|
||||||
SELECT member, network, coalesce(ref, '') AS ref,
|
|
||||||
osm_route_member_network_type(network, coalesce(ref, '')) AS network_type,
|
|
||||||
1 AS concurrency_index, 0 AS osm_id
|
|
||||||
FROM ire_route_members_view
|
|
||||||
WHERE full_update OR EXISTS(
|
|
||||||
SELECT NULL
|
|
||||||
FROM transportation_name.network_changes c
|
|
||||||
WHERE c.is_old IS FALSE AND c.osm_id = ire_route_members_view.member
|
|
||||||
)
|
|
||||||
GROUP BY member, network, coalesce(ref, '')
|
|
||||||
ON CONFLICT (member, network, ref) DO NOTHING;
|
|
||||||
|
|
||||||
-- etldoc: osm_route_member -> transportation_route_member_coalesced
|
-- etldoc: osm_route_member -> transportation_route_member_coalesced
|
||||||
INSERT INTO transportation_route_member_coalesced
|
INSERT INTO transportation_route_member_coalesced
|
||||||
SELECT
|
SELECT
|
||||||
|
@ -155,11 +122,13 @@ BEGIN
|
||||||
END AS rank
|
END AS rank
|
||||||
FROM (
|
FROM (
|
||||||
-- etldoc: osm_route_member -> osm_route_member
|
-- etldoc: osm_route_member -> osm_route_member
|
||||||
|
-- etldoc: gbr_route_members_view -> osm_route_member
|
||||||
|
-- etldoc: ire_route_members_view -> osm_route_member
|
||||||
-- see http://wiki.openstreetmap.org/wiki/Relation:route#Road_routes
|
-- see http://wiki.openstreetmap.org/wiki/Relation:route#Road_routes
|
||||||
SELECT DISTINCT ON (member, COALESCE(network, ''), COALESCE(ref, ''))
|
SELECT DISTINCT ON (member, COALESCE(rel.network, ''), COALESCE(rel.ref, ''))
|
||||||
member,
|
rel.member,
|
||||||
COALESCE(network, '') AS network,
|
COALESCE(NULLIF(rel.network,''), gb_way.network, ir_way.network, '') AS network,
|
||||||
COALESCE(ref, '') AS ref,
|
COALESCE(rel.ref, '') AS ref,
|
||||||
osm_id,
|
osm_id,
|
||||||
role,
|
role,
|
||||||
type,
|
type,
|
||||||
|
@ -167,11 +136,13 @@ BEGIN
|
||||||
osmc_symbol,
|
osmc_symbol,
|
||||||
colour,
|
colour,
|
||||||
ref_colour
|
ref_colour
|
||||||
FROM osm_route_member
|
FROM osm_route_member rel
|
||||||
|
LEFT JOIN gbr_route_members_view gb_way ON (gb_way.member=rel.member)
|
||||||
|
LEFT JOIN ire_route_members_view ir_way ON (ir_way.member=rel.member)
|
||||||
WHERE full_update OR EXISTS(
|
WHERE full_update OR EXISTS(
|
||||||
SELECT NULL
|
SELECT NULL
|
||||||
FROM transportation_name.network_changes c
|
FROM transportation_name.network_changes c
|
||||||
WHERE c.is_old IS FALSE AND c.osm_id = osm_route_member.member
|
WHERE c.is_old IS FALSE AND c.osm_id = rel.member
|
||||||
)
|
)
|
||||||
) osm_route_member_filtered
|
) osm_route_member_filtered
|
||||||
ON CONFLICT (member, network, ref) DO UPDATE SET osm_id = EXCLUDED.osm_id, role = EXCLUDED.role,
|
ON CONFLICT (member, network, ref) DO UPDATE SET osm_id = EXCLUDED.osm_id, role = EXCLUDED.role,
|
||||||
|
|
|
@ -66,7 +66,8 @@ $$ LANGUAGE SQL IMMUTABLE
|
||||||
|
|
||||||
-- etldoc: osm_highway_linestring -> osm_transportation_name_network
|
-- etldoc: osm_highway_linestring -> osm_transportation_name_network
|
||||||
-- etldoc: transportation_route_member_coalesced -> osm_transportation_name_network
|
-- etldoc: transportation_route_member_coalesced -> osm_transportation_name_network
|
||||||
CREATE TABLE IF NOT EXISTS osm_transportation_name_network AS
|
DROP TABLE IF EXISTS osm_transportation_name_network;
|
||||||
|
CREATE TABLE osm_transportation_name_network AS
|
||||||
SELECT
|
SELECT
|
||||||
geometry,
|
geometry,
|
||||||
osm_id,
|
osm_id,
|
||||||
|
@ -824,7 +825,9 @@ BEGIN
|
||||||
WHERE transportation.changes_z4_z5_z6_z7.is_old IS FALSE AND
|
WHERE transportation.changes_z4_z5_z6_z7.is_old IS FALSE AND
|
||||||
transportation.changes_z4_z5_z6_z7.id = osm_transportation_merge_linestring_gen_z5.id
|
transportation.changes_z4_z5_z6_z7.id = osm_transportation_merge_linestring_gen_z5.id
|
||||||
)) AND
|
)) AND
|
||||||
(highway = 'motorway' AND osm_national_network(network)
|
(highway = 'motorway' OR construction = 'motorway'
|
||||||
|
) OR
|
||||||
|
(osm_national_network(network) AND network != 'gb-trunk'
|
||||||
) AND
|
) AND
|
||||||
-- Current view: national-importance motorways and trunks
|
-- Current view: national-importance motorways and trunks
|
||||||
ST_Length(geometry) > 1000
|
ST_Length(geometry) > 1000
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
tileset:
|
tileset:
|
||||||
layers:
|
layers:
|
||||||
|
- layers/power/power.yaml
|
||||||
- layers/water/water.yaml
|
- layers/water/water.yaml
|
||||||
- layers/waterway/waterway.yaml
|
- layers/waterway/waterway.yaml
|
||||||
- layers/landcover/landcover.yaml
|
- layers/landcover/landcover.yaml
|
||||||
|
|
Ładowanie…
Reference in New Issue