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 \
|
||||
'generate-sql $(TILESET_FILE) --dir ./build/sql \
|
||||
&& 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'
|
||||
endif
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ layer:
|
|||
fields:
|
||||
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_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:
|
||||
description: |
|
||||
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
|
||||
$$
|
||||
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
|
||||
WHEN network = 'US:I' THEN 'us-interstate'::route_network_type
|
||||
WHEN network = 'US:US' THEN 'us-highway'::route_network_type
|
||||
|
@ -110,35 +106,6 @@ BEGIN
|
|||
USING transportation_name.network_changes c
|
||||
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
|
||||
INSERT INTO transportation_route_member_coalesced
|
||||
SELECT
|
||||
|
@ -155,11 +122,13 @@ BEGIN
|
|||
END AS rank
|
||||
FROM (
|
||||
-- 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
|
||||
SELECT DISTINCT ON (member, COALESCE(network, ''), COALESCE(ref, ''))
|
||||
member,
|
||||
COALESCE(network, '') AS network,
|
||||
COALESCE(ref, '') AS ref,
|
||||
SELECT DISTINCT ON (member, COALESCE(rel.network, ''), COALESCE(rel.ref, ''))
|
||||
rel.member,
|
||||
COALESCE(NULLIF(rel.network,''), gb_way.network, ir_way.network, '') AS network,
|
||||
COALESCE(rel.ref, '') AS ref,
|
||||
osm_id,
|
||||
role,
|
||||
type,
|
||||
|
@ -167,11 +136,13 @@ BEGIN
|
|||
osmc_symbol,
|
||||
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(
|
||||
SELECT NULL
|
||||
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
|
||||
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: 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
|
||||
geometry,
|
||||
osm_id,
|
||||
|
@ -824,7 +825,9 @@ BEGIN
|
|||
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
|
||||
)) AND
|
||||
(highway = 'motorway' AND osm_national_network(network)
|
||||
(highway = 'motorway' OR construction = 'motorway'
|
||||
) OR
|
||||
(osm_national_network(network) AND network != 'gb-trunk'
|
||||
) AND
|
||||
-- Current view: national-importance motorways and trunks
|
||||
ST_Length(geometry) > 1000
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
tileset:
|
||||
layers:
|
||||
- layers/power/power.yaml
|
||||
- layers/water/water.yaml
|
||||
- layers/waterway/waterway.yaml
|
||||
- layers/landcover/landcover.yaml
|
||||
|
|
Ładowanie…
Reference in New Issue