ache051 2021-10-13 14:29:37 +13:00 zatwierdzone przez GitHub
rodzic 6a539b22db
commit c0e3e7955d
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
5 zmienionych plików z 132 dodań i 39 usunięć

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 24 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 35 KiB

Wyświetl plik

@ -1,24 +1,5 @@
tables:
# etldoc: imposm3 -> osm_power_linestring
power_linestring:
type: linestring
fields:
- name: osm_id
type: id
- name: geometry
type: geometry
- key: name
name: name
type: string
- key: power
name: class
type: string
mapping:
power:
- cable
- line
- minor_line
#~ # etldoc: imposm3 -> osm_power_point
# etldoc: imposm3 -> osm_power_point
power_point:
type: point
fields:
@ -26,11 +7,23 @@ tables:
type: id
- name: geometry
type: geometry
- key: name
name: name
type: string
- 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:
@ -42,6 +35,36 @@ tables:
- 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
@ -50,14 +73,27 @@ tables:
type: id
- name: geometry
type: geometry
- key: name
name: name
type: string
- key: power
name: class
type: string
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.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 30 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 32 KiB

Wyświetl plik

@ -1,20 +1,39 @@
-- 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, name text, class text) AS $$
SELECT geometry, name, class
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(
SELECT geometry, name, class
-- etldoc: osm_power_point -> layer_power:z13
SELECT geometry, class, source, gen_source, method, name
FROM osm_power_point
WHERE zoom_level >= 10 AND geometry && bbox
WHERE zoom_level >= 13 AND class = 'tower' AND geometry && bbox
UNION ALL
SELECT geometry, name, class
-- 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 >= 10 AND geometry && bbox
WHERE zoom_level >= 13 AND class = 'line' AND geometry && bbox
UNION ALL
SELECT geometry, name, class
-- 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 >= 10 AND geometry && bbox
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

Wyświetl plik

@ -12,7 +12,6 @@ layer:
Class is derived from the value of the
[`power`](http://wiki.openstreetmap.org/wiki/Key:power) tag.
values:
- cable
- line
- minor_line
- tower
@ -25,10 +24,49 @@ layer:
- 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, name FROM layer_power(!bbox!, z(!scale_denominator!))) AS t
query: (SELECT geometry, class, source, method, name FROM layer_power(!bbox!, z(!scale_denominator!))) AS t
schema:
- ./power.sql
datasources: