Remove alignment of AS in SQL and few others (#932)

* Remove alignment of AS in SQL

* Remove alignment of CREATE TABLE in SQL
This commit is contained in:
Frédéric Rodrigo 2020-07-22 13:48:25 +02:00 committed by GitHub
parent 13aaa404d9
commit 9bb17792a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 502 additions and 503 deletions

View File

@ -24,16 +24,16 @@ SELECT
osm_id, osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
CASE CASE
%%FIELD_MAPPING: class %% %%FIELD_MAPPING: class %%
ELSE 'other' ELSE 'other'
END AS class, END AS class,
NULLIF(iata, '') AS iata, NULLIF(iata, '') AS iata,
NULLIF(icao, '') AS icao, NULLIF(icao, '') AS icao,
substring(ele FROM E'^(-?\\d+)(\\D|$)')::int AS ele, substring(ele FROM E'^(-?\\d+)(\\D|$)')::int AS ele,
round(substring(ele FROM E'^(-?\\d+)(\\D|$)')::int * 3.2808399)::int AS ele_ft round(substring(ele FROM E'^(-?\\d+)(\\D|$)')::int * 3.2808399)::int AS ele_ft
FROM osm_aerodrome_label_point FROM osm_aerodrome_label_point
WHERE geometry && bbox WHERE geometry && bbox

View File

@ -24,7 +24,7 @@ CREATE SCHEMA IF NOT EXISTS aerodrome_label;
CREATE TABLE IF NOT EXISTS aerodrome_label.updates CREATE TABLE IF NOT EXISTS aerodrome_label.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION aerodrome_label.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION aerodrome_label.flag() RETURNS trigger AS

View File

@ -216,11 +216,11 @@ $$ LANGUAGE SQL IMMUTABLE
CREATE OR REPLACE VIEW boundary_z0 AS CREATE OR REPLACE VIEW boundary_z0 AS
( (
SELECT geometry, SELECT geometry,
2 AS admin_level, 2 AS admin_level,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed, (CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
NULL::text AS disputed_name, NULL::text AS disputed_name,
NULL::text AS claimed_by, NULL::text AS claimed_by,
FALSE AS maritime FALSE AS maritime
FROM ne_110m_admin_0_boundary_lines_land FROM ne_110m_admin_0_boundary_lines_land
); );
@ -230,24 +230,24 @@ FROM ne_110m_admin_0_boundary_lines_land
CREATE OR REPLACE VIEW boundary_z1 AS CREATE OR REPLACE VIEW boundary_z1 AS
( (
SELECT geometry, SELECT geometry,
2 AS admin_level, 2 AS admin_level,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed, (CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
NULL AS disputed_name, NULL AS disputed_name,
NULL AS claimed_by, NULL AS claimed_by,
FALSE AS maritime FALSE AS maritime
FROM ne_50m_admin_0_boundary_lines_land FROM ne_50m_admin_0_boundary_lines_land
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
4 AS admin_level, 4 AS admin_level,
FALSE AS disputed, FALSE AS disputed,
NULL AS disputed_name, NULL AS disputed_name,
NULL AS claimed_by, NULL AS claimed_by,
FALSE AS maritime FALSE AS maritime
FROM ne_50m_admin_1_states_provinces_lines FROM ne_50m_admin_1_states_provinces_lines
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -261,24 +261,24 @@ FROM osm_border_disp_linestring_gen11
CREATE OR REPLACE VIEW boundary_z3 AS CREATE OR REPLACE VIEW boundary_z3 AS
( (
SELECT geometry, SELECT geometry,
2 AS admin_level, 2 AS admin_level,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed, (CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
NULL AS disputed_name, NULL AS disputed_name,
NULL AS claimed_by, NULL AS claimed_by,
FALSE AS maritime FALSE AS maritime
FROM ne_50m_admin_0_boundary_lines_land FROM ne_50m_admin_0_boundary_lines_land
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
4 AS admin_level, 4 AS admin_level,
FALSE AS disputed, FALSE AS disputed,
NULL AS disputed_name, NULL AS disputed_name,
NULL AS claimed_by, NULL AS claimed_by,
FALSE AS maritime FALSE AS maritime
FROM ne_50m_admin_1_states_provinces_lines FROM ne_50m_admin_1_states_provinces_lines
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -293,19 +293,19 @@ FROM osm_border_disp_linestring_gen11
CREATE OR REPLACE VIEW boundary_z4 AS CREATE OR REPLACE VIEW boundary_z4 AS
( (
SELECT geometry, SELECT geometry,
2 AS admin_level, 2 AS admin_level,
(CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed, (CASE WHEN featurecla LIKE 'Disputed%' THEN TRUE ELSE FALSE END) AS disputed,
NULL AS disputed_name, NULL AS disputed_name,
NULL AS claimed_by, NULL AS claimed_by,
FALSE AS maritime FALSE AS maritime
FROM ne_10m_admin_0_boundary_lines_land FROM ne_10m_admin_0_boundary_lines_land
WHERE featurecla <> 'Lease limit' WHERE featurecla <> 'Lease limit'
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
4 AS admin_level, 4 AS admin_level,
FALSE AS disputed, FALSE AS disputed,
NULL AS disputed_name, NULL AS disputed_name,
NULL AS claimed_by, NULL AS claimed_by,
FALSE AS maritime FALSE AS maritime
FROM ne_10m_admin_1_states_provinces_lines FROM ne_10m_admin_1_states_provinces_lines
WHERE min_zoom <= 5 WHERE min_zoom <= 5
@ -322,7 +322,7 @@ WHERE maritime = TRUE
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -345,7 +345,7 @@ WHERE admin_level <= 4
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -368,7 +368,7 @@ WHERE admin_level <= 4
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -391,7 +391,7 @@ WHERE admin_level <= 6
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -414,7 +414,7 @@ WHERE admin_level <= 6
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -437,7 +437,7 @@ WHERE admin_level <= 6
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -460,7 +460,7 @@ WHERE admin_level <= 6
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -483,7 +483,7 @@ WHERE admin_level <= 8
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -505,7 +505,7 @@ WHERE osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen2
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime
@ -527,7 +527,7 @@ WHERE osm_id NOT IN (SELECT DISTINCT osm_id FROM osm_border_disp_linestring_gen1
UNION ALL UNION ALL
SELECT geometry, SELECT geometry,
admin_level, admin_level,
TRUE AS disputed, TRUE AS disputed,
edit_name(name) AS disputed_name, edit_name(name) AS disputed_name,
claimed_by, claimed_by,
maritime maritime

View File

@ -9,15 +9,15 @@ CREATE OR REPLACE VIEW osm_all_buildings AS
SELECT SELECT
-- etldoc: osm_building_relation -> layer_building:z14_ -- etldoc: osm_building_relation -> layer_building:z14_
-- Buildings built from relations -- Buildings built from relations
member AS osm_id, member AS osm_id,
geometry, geometry,
COALESCE(CleanNumeric(height), CleanNumeric(buildingheight)) AS height, COALESCE(CleanNumeric(height), CleanNumeric(buildingheight)) AS height,
COALESCE(CleanNumeric(min_height), CleanNumeric(buildingmin_height)) AS min_height, COALESCE(CleanNumeric(min_height), CleanNumeric(buildingmin_height)) AS min_height,
COALESCE(CleanNumeric(levels), CleanNumeric(buildinglevels)) AS levels, COALESCE(CleanNumeric(levels), CleanNumeric(buildinglevels)) AS levels,
COALESCE(CleanNumeric(min_level), CleanNumeric(buildingmin_level)) AS min_level, COALESCE(CleanNumeric(min_level), CleanNumeric(buildingmin_level)) AS min_level,
nullif(material, '') AS material, nullif(material, '') AS material,
nullif(colour, '') AS colour, nullif(colour, '') AS colour,
FALSE AS hide_3d FALSE AS hide_3d
FROM osm_building_relation FROM osm_building_relation
WHERE building = '' WHERE building = ''
AND ST_GeometryType(geometry) = 'ST_Polygon' AND ST_GeometryType(geometry) = 'ST_Polygon'
@ -28,13 +28,13 @@ SELECT
-- Standalone buildings -- Standalone buildings
obp.osm_id, obp.osm_id,
obp.geometry, obp.geometry,
COALESCE(CleanNumeric(obp.height), CleanNumeric(obp.buildingheight)) AS height, COALESCE(CleanNumeric(obp.height), CleanNumeric(obp.buildingheight)) AS height,
COALESCE(CleanNumeric(obp.min_height), CleanNumeric(obp.buildingmin_height)) AS min_height, COALESCE(CleanNumeric(obp.min_height), CleanNumeric(obp.buildingmin_height)) AS min_height,
COALESCE(CleanNumeric(obp.levels), CleanNumeric(obp.buildinglevels)) AS levels, COALESCE(CleanNumeric(obp.levels), CleanNumeric(obp.buildinglevels)) AS levels,
COALESCE(CleanNumeric(obp.min_level), CleanNumeric(obp.buildingmin_level)) AS min_level, COALESCE(CleanNumeric(obp.min_level), CleanNumeric(obp.buildingmin_level)) AS min_level,
nullif(obp.material, '') AS material, nullif(obp.material, '') AS material,
nullif(obp.colour, '') AS colour, nullif(obp.colour, '') AS colour,
obr.role IS NOT NULL AS hide_3d obr.role IS NOT NULL AS hide_3d
FROM osm_building_polygon obp FROM osm_building_polygon obp
LEFT JOIN osm_building_relation obr ON LEFT JOIN osm_building_relation obr ON
obp.osm_id >= 0 AND obp.osm_id >= 0 AND
@ -78,18 +78,18 @@ SELECT geometry,
WHEN 'timber_framing' THEN '#b3b0a9' WHEN 'timber_framing' THEN '#b3b0a9'
WHEN 'sandstone' THEN '#b4a995' -- same as stone WHEN 'sandstone' THEN '#b4a995' -- same as stone
WHEN 'clay' THEN '#9d8b75' -- same as mud WHEN 'clay' THEN '#9d8b75' -- same as mud
END) AS colour, END) AS colour,
CASE WHEN hide_3d THEN TRUE END AS hide_3d CASE WHEN hide_3d THEN TRUE END AS hide_3d
FROM ( FROM (
SELECT SELECT
-- etldoc: osm_building_block_gen1 -> layer_building:z13 -- etldoc: osm_building_block_gen1 -> layer_building:z13
osm_id, osm_id,
geometry, geometry,
NULL::int AS render_height, NULL::int AS render_height,
NULL::int AS render_min_height, NULL::int AS render_min_height,
NULL::text AS material, NULL::text AS material,
NULL::text AS colour, NULL::text AS colour,
FALSE AS hide_3d FALSE AS hide_3d
FROM osm_building_block_gen1 FROM osm_building_block_gen1
WHERE zoom_level = 13 WHERE zoom_level = 13
AND geometry && bbox AND geometry && bbox
@ -98,7 +98,7 @@ FROM (
-- etldoc: osm_building_polygon -> layer_building:z14_ -- etldoc: osm_building_polygon -> layer_building:z14_
DISTINCT ON (osm_id) osm_id, DISTINCT ON (osm_id) osm_id,
geometry, geometry,
ceil(COALESCE(height, levels * 3.66, 5))::int AS render_height, ceil(COALESCE(height, levels * 3.66, 5))::int AS render_height,
floor(COALESCE(min_height, min_level * 3.66, 0))::int AS render_min_height, floor(COALESCE(min_height, min_level * 3.66, 0))::int AS render_min_height,
material, material,
colour, colour,

View File

@ -88,7 +88,7 @@ CREATE SCHEMA IF NOT EXISTS buildings;
CREATE TABLE IF NOT EXISTS buildings.updates CREATE TABLE IF NOT EXISTS buildings.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );

View File

@ -25,7 +25,7 @@ CREATE SCHEMA IF NOT EXISTS housenumber;
CREATE TABLE IF NOT EXISTS housenumber.updates CREATE TABLE IF NOT EXISTS housenumber.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION housenumber.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION housenumber.flag() RETURNS trigger AS

View File

@ -1,14 +1,14 @@
-- etldoc: ne_50m_urban_areas -> landuse_z4 -- etldoc: ne_50m_urban_areas -> landuse_z4
CREATE OR REPLACE VIEW landuse_z4 AS CREATE OR REPLACE VIEW landuse_z4 AS
( (
SELECT NULL::bigint AS osm_id, SELECT NULL::bigint AS osm_id,
geometry, geometry,
'residential'::text AS landuse, 'residential'::text AS landuse,
NULL::text AS amenity, NULL::text AS amenity,
NULL::text AS leisure, NULL::text AS leisure,
NULL::text AS tourism, NULL::text AS tourism,
NULL::text AS place, NULL::text AS place,
NULL::text AS waterway NULL::text AS waterway
FROM ne_50m_urban_areas FROM ne_50m_urban_areas
WHERE scalerank <= 2 WHERE scalerank <= 2
); );
@ -16,14 +16,14 @@ WHERE scalerank <= 2
-- etldoc: ne_50m_urban_areas -> landuse_z5 -- etldoc: ne_50m_urban_areas -> landuse_z5
CREATE OR REPLACE VIEW landuse_z5 AS CREATE OR REPLACE VIEW landuse_z5 AS
( (
SELECT NULL::bigint AS osm_id, SELECT NULL::bigint AS osm_id,
geometry, geometry,
'residential'::text AS landuse, 'residential'::text AS landuse,
NULL::text AS amenity, NULL::text AS amenity,
NULL::text AS leisure, NULL::text AS leisure,
NULL::text AS tourism, NULL::text AS tourism,
NULL::text AS place, NULL::text AS place,
NULL::text AS waterway NULL::text AS waterway
FROM ne_50m_urban_areas FROM ne_50m_urban_areas
); );

View File

@ -35,10 +35,10 @@ FROM (
SELECT osm_id, SELECT osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
substring(ele FROM E'^(-?\\d+)(\\D|$)')::int AS ele, substring(ele FROM E'^(-?\\d+)(\\D|$)')::int AS ele,
round(substring(ele FROM E'^(-?\\d+)(\\D|$)')::int * 3.2808399)::int AS ele_ft, round(substring(ele FROM E'^(-?\\d+)(\\D|$)')::int * 3.2808399)::int AS ele_ft,
row_number() OVER ( row_number() OVER (
PARTITION BY LabelGrid(geometry, 100 * pixel_width) PARTITION BY LabelGrid(geometry, 100 * pixel_width)
@ -47,7 +47,7 @@ FROM (
(CASE WHEN NULLIF(wikipedia, '') IS NOT NULL THEN 10000 ELSE 0 END) + (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 NULLIF(name, '') IS NOT NULL THEN 10000 ELSE 0 END)
) DESC ) DESC
)::int AS "rank" )::int AS "rank"
FROM osm_peak_point FROM osm_peak_point
WHERE geometry && bbox WHERE geometry && bbox
AND ele IS NOT NULL AND ele IS NOT NULL

View File

@ -30,7 +30,7 @@ FROM (
LOWER(REPLACE(NULLIF(protection_title, ''), ' ', '_')), LOWER(REPLACE(NULLIF(protection_title, ''), ' ', '_')),
NULLIF(boundary, ''), NULLIF(boundary, ''),
NULLIF(leisure, '') NULLIF(leisure, '')
) AS class, ) AS class,
name, name,
name_en, name_en,
name_de, name_de,
@ -171,7 +171,7 @@ FROM (
LOWER(REPLACE(NULLIF(protection_title, ''), ' ', '_')), LOWER(REPLACE(NULLIF(protection_title, ''), ' ', '_')),
NULLIF(boundary, ''), NULLIF(boundary, ''),
NULLIF(leisure, '') NULLIF(leisure, '')
) AS class, ) AS class,
name, name,
name_en, name_en,
name_de, name_de,
@ -182,7 +182,7 @@ FROM (
(CASE WHEN boundary = 'national_park' THEN TRUE ELSE FALSE END) DESC, (CASE WHEN boundary = 'national_park' THEN TRUE ELSE FALSE END) DESC,
(COALESCE(NULLIF(tags->'wikipedia', ''), NULLIF(tags->'wikidata', '')) IS NOT NULL) DESC, (COALESCE(NULLIF(tags->'wikipedia', ''), NULLIF(tags->'wikidata', '')) IS NOT NULL) DESC,
area DESC area DESC
)::int AS "rank" )::int AS "rank"
FROM ( FROM (
-- etldoc: osm_park_polygon_gen8 -> layer_park:z6 -- etldoc: osm_park_polygon_gen8 -> layer_park:z6
SELECT osm_id, SELECT osm_id,

View File

@ -22,12 +22,12 @@ FROM (
SELECT osm_id, SELECT osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
place, place,
"rank", "rank",
normalize_capital_level(capital) AS capital normalize_capital_level(capital) AS capital
FROM osm_city_point FROM osm_city_point
WHERE geometry && bbox WHERE geometry && bbox
AND ((zoom_level = 2 AND "rank" = 1) AND ((zoom_level = 2 AND "rank" = 1)
@ -37,17 +37,17 @@ FROM (
SELECT osm_id, SELECT osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
place, place,
COALESCE("rank", gridrank + 10), COALESCE("rank", gridrank + 10),
normalize_capital_level(capital) AS capital normalize_capital_level(capital) AS capital
FROM ( FROM (
SELECT osm_id, SELECT osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
place, place,
@ -59,7 +59,7 @@ FROM (
place ASC NULLS LAST, place ASC NULLS LAST,
population DESC NULLS LAST, population DESC NULLS LAST,
length(name) ASC length(name) ASC
)::int AS gridrank )::int AS gridrank
FROM osm_city_point FROM osm_city_point
WHERE geometry && bbox WHERE geometry && bbox
AND ((zoom_level = 7 AND place <= 'town'::city_place AND ((zoom_level = 7 AND place <= 'town'::city_place

View File

@ -21,16 +21,16 @@ SELECT *
FROM ( FROM (
SELECT SELECT
-- etldoc: osm_continent_point -> layer_place:z0_3 -- etldoc: osm_continent_point -> layer_place:z0_3
osm_id * 10 AS osm_id, osm_id * 10 AS osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
'continent' AS class, 'continent' AS class,
1 AS "rank", 1 AS "rank",
NULL::int AS capital, NULL::int AS capital,
NULL::text AS iso_a2 NULL::text AS iso_a2
FROM osm_continent_point FROM osm_continent_point
WHERE geometry && bbox WHERE geometry && bbox
AND zoom_level < 4 AND zoom_level < 4
@ -42,16 +42,16 @@ FROM (
-- etldoc: osm_country_point -> layer_place:z4_7 -- etldoc: osm_country_point -> layer_place:z4_7
-- etldoc: osm_country_point -> layer_place:z8_11 -- etldoc: osm_country_point -> layer_place:z8_11
-- etldoc: osm_country_point -> layer_place:z12_14 -- etldoc: osm_country_point -> layer_place:z12_14
osm_id * 10 AS osm_id, osm_id * 10 AS osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
'country' AS class, 'country' AS class,
"rank", "rank",
NULL::int AS capital, NULL::int AS capital,
iso3166_1_alpha_2 AS iso_a2 iso3166_1_alpha_2 AS iso_a2
FROM osm_country_point FROM osm_country_point
WHERE geometry && bbox WHERE geometry && bbox
AND "rank" <= zoom_level + 1 AND "rank" <= zoom_level + 1
@ -64,16 +64,16 @@ FROM (
-- etldoc: osm_state_point -> layer_place:z4_7 -- etldoc: osm_state_point -> layer_place:z4_7
-- etldoc: osm_state_point -> layer_place:z8_11 -- etldoc: osm_state_point -> layer_place:z8_11
-- etldoc: osm_state_point -> layer_place:z12_14 -- etldoc: osm_state_point -> layer_place:z12_14
osm_id * 10 AS osm_id, osm_id * 10 AS osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
'state' AS class, 'state' AS class,
"rank", "rank",
NULL::int AS capital, NULL::int AS capital,
NULL::text AS iso_a2 NULL::text AS iso_a2
FROM osm_state_point FROM osm_state_point
WHERE geometry && bbox WHERE geometry && bbox
AND name <> '' AND name <> ''
@ -87,16 +87,16 @@ FROM (
SELECT SELECT
-- etldoc: osm_island_point -> layer_place:z12_14 -- etldoc: osm_island_point -> layer_place:z12_14
osm_id * 10 AS osm_id, osm_id * 10 AS osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
'island' AS class, 'island' AS class,
7 AS "rank", 7 AS "rank",
NULL::int AS capital, NULL::int AS capital,
NULL::text AS iso_a2 NULL::text AS iso_a2
FROM osm_island_point FROM osm_island_point
WHERE zoom_level >= 12 WHERE zoom_level >= 12
AND geometry && bbox AND geometry && bbox
@ -106,16 +106,16 @@ FROM (
SELECT SELECT
-- etldoc: osm_island_polygon -> layer_place:z8_11 -- etldoc: osm_island_polygon -> layer_place:z8_11
-- etldoc: osm_island_polygon -> layer_place:z12_14 -- etldoc: osm_island_polygon -> layer_place:z12_14
osm_id * 10 AS osm_id, osm_id * 10 AS osm_id,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
'island' AS class, 'island' AS class,
island_rank(area) AS "rank", island_rank(area) AS "rank",
NULL::int AS capital, NULL::int AS capital,
NULL::text AS iso_a2 NULL::text AS iso_a2
FROM osm_island_polygon FROM osm_island_polygon
WHERE geometry && bbox WHERE geometry && bbox
AND ((zoom_level = 8 AND island_rank(area) <= 3) AND ((zoom_level = 8 AND island_rank(area) <= 3)
@ -138,7 +138,7 @@ FROM (
place::text AS class, place::text AS class,
"rank", "rank",
capital, capital,
NULL::text AS iso_a2 NULL::text AS iso_a2
FROM layer_city(bbox, zoom_level, pixel_width) FROM layer_city(bbox, zoom_level, pixel_width)
ORDER BY "rank" ASC ORDER BY "rank" ASC
) AS place_all ) AS place_all

View File

@ -60,7 +60,7 @@ CREATE SCHEMA IF NOT EXISTS place_city;
CREATE TABLE IF NOT EXISTS place_city.updates CREATE TABLE IF NOT EXISTS place_city.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION place_city.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION place_city.flag() RETURNS trigger AS

View File

@ -21,7 +21,7 @@ CREATE SCHEMA IF NOT EXISTS place_continent_point;
CREATE TABLE IF NOT EXISTS place_continent_point.updates CREATE TABLE IF NOT EXISTS place_continent_point.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION place_continent_point.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION place_continent_point.flag() RETURNS trigger AS

View File

@ -96,7 +96,7 @@ CREATE SCHEMA IF NOT EXISTS place_country;
CREATE TABLE IF NOT EXISTS place_country.updates CREATE TABLE IF NOT EXISTS place_country.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION place_country.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION place_country.flag() RETURNS trigger AS

View File

@ -21,7 +21,7 @@ CREATE SCHEMA IF NOT EXISTS place_island_point;
CREATE TABLE IF NOT EXISTS place_island_point.updates CREATE TABLE IF NOT EXISTS place_island_point.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION place_island_point.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION place_island_point.flag() RETURNS trigger AS

View File

@ -24,7 +24,7 @@ CREATE SCHEMA IF NOT EXISTS place_island_polygon;
CREATE TABLE IF NOT EXISTS place_island_polygon.updates CREATE TABLE IF NOT EXISTS place_island_polygon.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION place_island_polygon.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION place_island_polygon.flag() RETURNS trigger AS

View File

@ -61,7 +61,7 @@ CREATE SCHEMA IF NOT EXISTS place_state;
CREATE TABLE IF NOT EXISTS place_state.updates CREATE TABLE IF NOT EXISTS place_state.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION place_state.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION place_state.flag() RETURNS trigger AS

View File

@ -20,13 +20,13 @@ CREATE OR REPLACE FUNCTION layer_poi(bbox geometry, zoom_level integer, pixel_wi
) )
AS AS
$$ $$
SELECT osm_id_hash AS osm_id, SELECT osm_id_hash AS osm_id,
geometry, geometry,
NULLIF(name, '') AS name, NULLIF(name, '') AS name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
poi_class(subclass, mapping_key) AS class, poi_class(subclass, mapping_key) AS class,
CASE CASE
WHEN subclass = 'information' WHEN subclass = 'information'
THEN NULLIF(information, '') THEN NULLIF(information, '')
@ -35,15 +35,15 @@ SELECT osm_id_hash AS osm_id,
WHEN subclass = 'pitch' WHEN subclass = 'pitch'
THEN NULLIF(sport, '') THEN NULLIF(sport, '')
ELSE subclass ELSE subclass
END AS subclass, END AS subclass,
agg_stop, agg_stop,
NULLIF(layer, 0) AS layer, NULLIF(layer, 0) AS layer,
"level", "level",
CASE WHEN indoor = TRUE THEN 1 END AS indoor, CASE WHEN indoor = TRUE THEN 1 END AS indoor,
row_number() OVER ( row_number() OVER (
PARTITION BY LabelGrid(geometry, 100 * pixel_width) PARTITION BY LabelGrid(geometry, 100 * pixel_width)
ORDER BY CASE WHEN name = '' THEN 2000 ELSE poi_class_rank(poi_class(subclass, mapping_key)) END ASC ORDER BY CASE WHEN name = '' THEN 2000 ELSE poi_class_rank(poi_class(subclass, mapping_key)) END ASC
)::int AS "rank" )::int AS "rank"
FROM ( FROM (
-- etldoc: osm_poi_point -> layer_poi:z12 -- etldoc: osm_poi_point -> layer_poi:z12
-- etldoc: osm_poi_point -> layer_poi:z13 -- etldoc: osm_poi_point -> layer_poi:z13
@ -73,7 +73,7 @@ FROM (
CASE CASE
WHEN osm_id < 0 THEN -osm_id * 10 + 4 WHEN osm_id < 0 THEN -osm_id * 10 + 4
ELSE osm_id * 10 + 1 ELSE osm_id * 10 + 1
END AS osm_id_hash END AS osm_id_hash
FROM osm_poi_polygon FROM osm_poi_polygon
WHERE geometry && bbox WHERE geometry && bbox
AND zoom_level BETWEEN 12 AND 13 AND zoom_level BETWEEN 12 AND 13
@ -88,7 +88,7 @@ FROM (
CASE CASE
WHEN osm_id < 0 THEN -osm_id * 10 + 4 WHEN osm_id < 0 THEN -osm_id * 10 + 4
ELSE osm_id * 10 + 1 ELSE osm_id * 10 + 1
END AS osm_id_hash END AS osm_id_hash
FROM osm_poi_polygon FROM osm_poi_polygon
WHERE geometry && bbox WHERE geometry && bbox
AND zoom_level >= 14 AND zoom_level >= 14

View File

@ -2,7 +2,7 @@ DROP MATERIALIZED VIEW IF EXISTS osm_poi_stop_centroid CASCADE;
CREATE MATERIALIZED VIEW osm_poi_stop_centroid AS CREATE MATERIALIZED VIEW osm_poi_stop_centroid AS
( (
SELECT uic_ref, SELECT uic_ref,
count(*) AS count, count(*) AS count,
CASE WHEN count(*) > 2 THEN ST_Centroid(ST_UNION(geometry)) END AS centroid CASE WHEN count(*) > 2 THEN ST_Centroid(ST_UNION(geometry)) END AS centroid
FROM osm_poi_point FROM osm_poi_point
WHERE nullif(uic_ref, '') IS NOT NULL WHERE nullif(uic_ref, '') IS NOT NULL

View File

@ -57,7 +57,7 @@ CREATE SCHEMA IF NOT EXISTS poi_point;
CREATE TABLE IF NOT EXISTS poi_point.updates CREATE TABLE IF NOT EXISTS poi_point.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION poi_point.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION poi_point.flag() RETURNS trigger AS

View File

@ -42,7 +42,7 @@ CREATE SCHEMA IF NOT EXISTS poi_polygon;
CREATE TABLE IF NOT EXISTS poi_polygon.updates CREATE TABLE IF NOT EXISTS poi_polygon.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION poi_polygon.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION poi_polygon.flag() RETURNS trigger AS

View File

@ -39,54 +39,54 @@ SELECT osm_id,
WHEN NULLIF(aerialway, '') IS NOT NULL THEN aerialway WHEN NULLIF(aerialway, '') IS NOT NULL THEN aerialway
WHEN NULLIF(shipway, '') IS NOT NULL THEN shipway WHEN NULLIF(shipway, '') IS NOT NULL THEN shipway
WHEN NULLIF(man_made, '') IS NOT NULL THEN man_made WHEN NULLIF(man_made, '') IS NOT NULL THEN man_made
END AS class, END AS class,
CASE CASE
WHEN railway IS NOT NULL THEN railway WHEN railway IS NOT NULL THEN railway
WHEN (highway IS NOT NULL OR public_transport IS NOT NULL) WHEN (highway IS NOT NULL OR public_transport IS NOT NULL)
AND highway_class(highway, public_transport, construction) = 'path' AND highway_class(highway, public_transport, construction) = 'path'
THEN COALESCE(NULLIF(public_transport, ''), highway) THEN COALESCE(NULLIF(public_transport, ''), highway)
END AS subclass, END AS subclass,
-- All links are considered as ramps as well -- All links are considered as ramps as well
CASE CASE
WHEN highway_is_link(highway) OR highway = 'steps' WHEN highway_is_link(highway) OR highway = 'steps'
THEN 1 THEN 1
ELSE is_ramp::int END AS ramp, ELSE is_ramp::int END AS ramp,
is_oneway::int AS oneway, is_oneway::int AS oneway,
brunnel(is_bridge, is_tunnel, is_ford) AS brunnel, brunnel(is_bridge, is_tunnel, is_ford) AS brunnel,
NULLIF(service, '') AS service, NULLIF(service, '') AS service,
NULLIF(layer, 0) AS layer, NULLIF(layer, 0) AS layer,
"level", "level",
CASE WHEN indoor = TRUE THEN 1 END AS indoor, CASE WHEN indoor = TRUE THEN 1 END AS indoor,
NULLIF(bicycle, '') AS bicycle, NULLIF(bicycle, '') AS bicycle,
NULLIF(foot, '') AS foot, NULLIF(foot, '') AS foot,
NULLIF(horse, '') AS horse, NULLIF(horse, '') AS horse,
NULLIF(mtb_scale, '') AS mtb_scale, NULLIF(mtb_scale, '') AS mtb_scale,
NULLIF(surface, '') AS surface NULLIF(surface, '') AS surface
FROM ( FROM (
-- etldoc: osm_transportation_merge_linestring_gen7 -> layer_transportation:z4 -- etldoc: osm_transportation_merge_linestring_gen7 -> layer_transportation:z4
SELECT osm_id, SELECT osm_id,
geometry, geometry,
highway, highway,
construction, construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
NULL AS service, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::boolean AS is_ramp,
NULL::int AS is_oneway, NULL::int AS is_oneway,
NULL AS man_made, NULL AS man_made,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_transportation_merge_linestring_gen7 FROM osm_transportation_merge_linestring_gen7
WHERE zoom_level = 4 WHERE zoom_level = 4
@ -97,25 +97,25 @@ FROM (
geometry, geometry,
highway, highway,
construction, construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
NULL AS service, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::boolean AS is_ramp,
NULL::int AS is_oneway, NULL::int AS is_oneway,
NULL AS man_made, NULL AS man_made,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_transportation_merge_linestring_gen6 FROM osm_transportation_merge_linestring_gen6
WHERE zoom_level = 5 WHERE zoom_level = 5
@ -126,25 +126,25 @@ FROM (
geometry, geometry,
highway, highway,
construction, construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
NULL AS service, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::boolean AS is_ramp,
NULL::int AS is_oneway, NULL::int AS is_oneway,
NULL AS man_made, NULL AS man_made,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_transportation_merge_linestring_gen5 FROM osm_transportation_merge_linestring_gen5
WHERE zoom_level = 6 WHERE zoom_level = 6
@ -155,25 +155,25 @@ FROM (
geometry, geometry,
highway, highway,
construction, construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
NULL AS service, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::boolean AS is_ramp,
NULL::int AS is_oneway, NULL::int AS is_oneway,
NULL AS man_made, NULL AS man_made,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_transportation_merge_linestring_gen4 FROM osm_transportation_merge_linestring_gen4
WHERE zoom_level = 7 WHERE zoom_level = 7
@ -184,25 +184,25 @@ FROM (
geometry, geometry,
highway, highway,
construction, construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
NULL AS service, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::boolean AS is_ramp,
NULL::int AS is_oneway, NULL::int AS is_oneway,
NULL AS man_made, NULL AS man_made,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_transportation_merge_linestring_gen3 FROM osm_transportation_merge_linestring_gen3
WHERE zoom_level = 8 WHERE zoom_level = 8
@ -214,25 +214,25 @@ FROM (
geometry, geometry,
highway, highway,
construction, construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
NULL AS service, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::boolean AS is_ramp,
NULL::int AS is_oneway, NULL::int AS is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
bicycle, bicycle,
foot, foot,
horse, horse,
mtb_scale, mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_highway_linestring_gen2 FROM osm_highway_linestring_gen2
WHERE zoom_level BETWEEN 9 AND 10 WHERE zoom_level BETWEEN 9 AND 10
@ -244,25 +244,25 @@ FROM (
geometry, geometry,
highway, highway,
construction, construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
NULL AS service, NULL AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::boolean AS is_ramp,
NULL::int AS is_oneway, NULL::int AS is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
bicycle, bicycle,
foot, foot,
horse, horse,
mtb_scale, mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_highway_linestring_gen1 FROM osm_highway_linestring_gen1
WHERE zoom_level = 11 WHERE zoom_level = 11
@ -276,11 +276,11 @@ FROM (
geometry, geometry,
highway, highway,
construction, construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
public_transport, public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
@ -289,12 +289,12 @@ FROM (
man_made, man_made,
layer, layer,
CASE WHEN highway IN ('footway', 'steps') THEN "level" END AS "level", CASE WHEN highway IN ('footway', 'steps') THEN "level" END AS "level",
CASE WHEN highway IN ('footway', 'steps') THEN indoor END AS indoor, CASE WHEN highway IN ('footway', 'steps') THEN indoor END AS indoor,
bicycle, bicycle,
foot, foot,
horse, horse,
mtb_scale, mtb_scale,
surface_value(surface) AS "surface", surface_value(surface) AS "surface",
z_order z_order
FROM osm_highway_linestring FROM osm_highway_linestring
WHERE NOT is_area WHERE NOT is_area
@ -322,27 +322,27 @@ FROM (
-- etldoc: osm_railway_linestring_gen5 -> layer_transportation:z8 -- etldoc: osm_railway_linestring_gen5 -> layer_transportation:z8
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
railway, railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::boolean AS is_ramp,
NULL::int AS is_oneway, NULL::int AS is_oneway,
NULL AS man_made, NULL AS man_made,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_railway_linestring_gen5 FROM osm_railway_linestring_gen5
WHERE zoom_level = 8 WHERE zoom_level = 8
@ -354,27 +354,27 @@ FROM (
-- etldoc: osm_railway_linestring_gen4 -> layer_transportation:z9 -- etldoc: osm_railway_linestring_gen4 -> layer_transportation:z9
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
railway, railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_ford, NULL::boolean AS is_ford,
NULL::boolean AS is_ramp, NULL::boolean AS is_ramp,
NULL::int AS is_oneway, NULL::int AS is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_railway_linestring_gen4 FROM osm_railway_linestring_gen4
WHERE zoom_level = 9 WHERE zoom_level = 9
@ -386,27 +386,27 @@ FROM (
-- etldoc: osm_railway_linestring_gen3 -> layer_transportation:z10 -- etldoc: osm_railway_linestring_gen3 -> layer_transportation:z10
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
railway, railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
is_ramp, is_ramp,
is_oneway, is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_railway_linestring_gen3 FROM osm_railway_linestring_gen3
WHERE zoom_level = 10 WHERE zoom_level = 10
@ -417,27 +417,27 @@ FROM (
-- etldoc: osm_railway_linestring_gen2 -> layer_transportation:z11 -- etldoc: osm_railway_linestring_gen2 -> layer_transportation:z11
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
railway, railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
is_ramp, is_ramp,
is_oneway, is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_railway_linestring_gen2 FROM osm_railway_linestring_gen2
WHERE zoom_level = 11 WHERE zoom_level = 11
@ -448,27 +448,27 @@ FROM (
-- etldoc: osm_railway_linestring_gen1 -> layer_transportation:z12 -- etldoc: osm_railway_linestring_gen1 -> layer_transportation:z12
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
railway, railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
is_ramp, is_ramp,
is_oneway, is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_railway_linestring_gen1 FROM osm_railway_linestring_gen1
WHERE zoom_level = 12 WHERE zoom_level = 12
@ -480,27 +480,27 @@ FROM (
-- etldoc: osm_railway_linestring -> layer_transportation:z14_ -- etldoc: osm_railway_linestring -> layer_transportation:z14_
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
railway, railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
is_ramp, is_ramp,
is_oneway, is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_railway_linestring FROM osm_railway_linestring
WHERE zoom_level = 13 WHERE zoom_level = 13
@ -511,27 +511,27 @@ FROM (
-- etldoc: osm_aerialway_linestring_gen1 -> layer_transportation:z12 -- etldoc: osm_aerialway_linestring_gen1 -> layer_transportation:z12
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
NULL AS railway, NULL AS railway,
aerialway, aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
is_ramp, is_ramp,
is_oneway, is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_aerialway_linestring_gen1 FROM osm_aerialway_linestring_gen1
WHERE zoom_level = 12 WHERE zoom_level = 12
@ -541,27 +541,27 @@ FROM (
-- etldoc: osm_aerialway_linestring -> layer_transportation:z14_ -- etldoc: osm_aerialway_linestring -> layer_transportation:z14_
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
NULL AS railway, NULL AS railway,
aerialway, aerialway,
NULL AS shipway, NULL AS shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
is_ramp, is_ramp,
is_oneway, is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_aerialway_linestring FROM osm_aerialway_linestring
WHERE zoom_level >= 13 WHERE zoom_level >= 13
@ -570,27 +570,27 @@ FROM (
-- etldoc: osm_shipway_linestring_gen2 -> layer_transportation:z11 -- etldoc: osm_shipway_linestring_gen2 -> layer_transportation:z11
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
shipway, shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
is_ramp, is_ramp,
is_oneway, is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_shipway_linestring_gen2 FROM osm_shipway_linestring_gen2
WHERE zoom_level = 11 WHERE zoom_level = 11
@ -599,27 +599,27 @@ FROM (
-- etldoc: osm_shipway_linestring_gen1 -> layer_transportation:z12 -- etldoc: osm_shipway_linestring_gen1 -> layer_transportation:z12
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
shipway, shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
is_ramp, is_ramp,
is_oneway, is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_shipway_linestring_gen1 FROM osm_shipway_linestring_gen1
WHERE zoom_level = 12 WHERE zoom_level = 12
@ -629,27 +629,27 @@ FROM (
-- etldoc: osm_shipway_linestring -> layer_transportation:z14_ -- etldoc: osm_shipway_linestring -> layer_transportation:z14_
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULL AS highway, NULL AS highway,
NULL AS construction, NULL AS construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
shipway, shipway,
NULL AS public_transport, NULL AS public_transport,
service_value(service) AS service, service_value(service) AS service,
is_bridge, is_bridge,
is_tunnel, is_tunnel,
is_ford, is_ford,
is_ramp, is_ramp,
is_oneway, is_oneway,
NULL AS man_made, NULL AS man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_shipway_linestring FROM osm_shipway_linestring
WHERE zoom_level >= 13 WHERE zoom_level >= 13
@ -664,29 +664,29 @@ FROM (
SELECT osm_id, SELECT osm_id,
geometry, geometry,
highway, highway,
NULL AS construction, NULL AS construction,
NULL AS railway, NULL AS railway,
NULL AS aerialway, NULL AS aerialway,
NULL AS shipway, NULL AS shipway,
public_transport, public_transport,
NULL AS service, NULL AS service,
CASE CASE
WHEN man_made IN ('bridge') THEN TRUE WHEN man_made IN ('bridge') THEN TRUE
ELSE FALSE ELSE FALSE
END AS is_bridge, END AS is_bridge,
FALSE AS is_tunnel, FALSE AS is_tunnel,
FALSE AS is_ford, FALSE AS is_ford,
FALSE AS is_ramp, FALSE AS is_ramp,
FALSE::int AS is_oneway, FALSE::int AS is_oneway,
man_made, man_made,
layer, layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor, NULL::boolean AS indoor,
NULL AS bicycle, NULL AS bicycle,
NULL AS foot, NULL AS foot,
NULL AS horse, NULL AS horse,
NULL AS mtb_scale, NULL AS mtb_scale,
NULL AS surface, NULL AS surface,
z_order z_order
FROM osm_highway_polygon FROM osm_highway_polygon
-- We do not want underground pedestrian areas for now -- We do not want underground pedestrian areas for now

View File

@ -28,7 +28,7 @@ CREATE INDEX IF NOT EXISTS osm_highway_linestring_highway_partial_idx
CREATE MATERIALIZED VIEW osm_transportation_merge_linestring AS CREATE MATERIALIZED VIEW osm_transportation_merge_linestring AS
( (
SELECT (ST_Dump(geometry)).geom AS geometry, SELECT (ST_Dump(geometry)).geom AS geometry,
NULL::bigint AS osm_id, NULL::bigint AS osm_id,
highway, highway,
construction, construction,
z_order z_order
@ -36,7 +36,7 @@ FROM (
SELECT ST_LineMerge(ST_Collect(geometry)) AS geometry, SELECT ST_LineMerge(ST_Collect(geometry)) AS geometry,
highway, highway,
construction, construction,
min(z_order) AS z_order min(z_order) AS z_order
FROM osm_highway_linestring FROM osm_highway_linestring
WHERE (highway IN ('motorway', 'trunk', 'primary') OR WHERE (highway IN ('motorway', 'trunk', 'primary') OR
highway = 'construction' AND construction IN ('motorway', 'trunk', 'primary')) highway = 'construction' AND construction IN ('motorway', 'trunk', 'primary'))
@ -126,7 +126,7 @@ CREATE SCHEMA IF NOT EXISTS transportation;
CREATE TABLE IF NOT EXISTS transportation.updates CREATE TABLE IF NOT EXISTS transportation.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION transportation.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION transportation.flag() RETURNS trigger AS

View File

@ -23,33 +23,33 @@ AS
$$ $$
SELECT osm_id, SELECT osm_id,
geometry, geometry,
NULLIF(name, '') AS name, NULLIF(name, '') AS name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
NULLIF(ref, ''), NULLIF(ref, ''),
NULLIF(LENGTH(ref), 0) AS ref_length, NULLIF(LENGTH(ref), 0) AS ref_length,
--TODO: The road network of the road is not yet implemented --TODO: The road network of the road is not yet implemented
CASE CASE
WHEN network IS NOT NULL WHEN network IS NOT NULL
THEN network::text THEN network::text
WHEN length(coalesce(ref, '')) > 0 WHEN length(coalesce(ref, '')) > 0
THEN 'road' THEN 'road'
END AS network, END AS network,
highway_class(highway, '', construction) AS class, highway_class(highway, '', construction) AS class,
CASE CASE
WHEN highway IS NOT NULL AND highway_class(highway, '', construction) = 'path' WHEN highway IS NOT NULL AND highway_class(highway, '', construction) = 'path'
THEN highway THEN highway
END AS subclass, END AS subclass,
NULLIF(layer, 0) AS layer, NULLIF(layer, 0) AS layer,
"level", "level",
CASE WHEN indoor = TRUE THEN 1 END AS indoor CASE WHEN indoor = TRUE THEN 1 END AS indoor
FROM ( FROM (
-- etldoc: osm_transportation_name_linestring_gen4 -> layer_transportation_name:z6 -- etldoc: osm_transportation_name_linestring_gen4 -> layer_transportation_name:z6
SELECT *, SELECT *,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor NULL::boolean AS indoor
FROM osm_transportation_name_linestring_gen4 FROM osm_transportation_name_linestring_gen4
WHERE zoom_level = 6 WHERE zoom_level = 6
@ -57,8 +57,8 @@ FROM (
-- etldoc: osm_transportation_name_linestring_gen3 -> layer_transportation_name:z7 -- etldoc: osm_transportation_name_linestring_gen3 -> layer_transportation_name:z7
SELECT *, SELECT *,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor NULL::boolean AS indoor
FROM osm_transportation_name_linestring_gen3 FROM osm_transportation_name_linestring_gen3
WHERE zoom_level = 7 WHERE zoom_level = 7
@ -66,8 +66,8 @@ FROM (
-- etldoc: osm_transportation_name_linestring_gen2 -> layer_transportation_name:z8 -- etldoc: osm_transportation_name_linestring_gen2 -> layer_transportation_name:z8
SELECT *, SELECT *,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor NULL::boolean AS indoor
FROM osm_transportation_name_linestring_gen2 FROM osm_transportation_name_linestring_gen2
WHERE zoom_level = 8 WHERE zoom_level = 8
@ -77,8 +77,8 @@ FROM (
-- etldoc: osm_transportation_name_linestring_gen1 -> layer_transportation_name:z10 -- etldoc: osm_transportation_name_linestring_gen1 -> layer_transportation_name:z10
-- etldoc: osm_transportation_name_linestring_gen1 -> layer_transportation_name:z11 -- etldoc: osm_transportation_name_linestring_gen1 -> layer_transportation_name:z11
SELECT *, SELECT *,
NULL::int AS layer, NULL::int AS layer,
NULL::int AS level, NULL::int AS level,
NULL::boolean AS indoor NULL::boolean AS indoor
FROM osm_transportation_name_linestring_gen1 FROM osm_transportation_name_linestring_gen1
WHERE zoom_level BETWEEN 9 AND 11 WHERE zoom_level BETWEEN 9 AND 11

View File

@ -13,7 +13,7 @@ CREATE MATERIALIZED VIEW osm_transportation_name_network AS
( (
SELECT hl.geometry, SELECT hl.geometry,
hl.osm_id, hl.osm_id,
CASE WHEN length(hl.name) > 15 THEN osml10n_street_abbrev_all(hl.name) ELSE hl.name END AS "name", CASE WHEN length(hl.name) > 15 THEN osml10n_street_abbrev_all(hl.name) ELSE hl.name END AS "name",
CASE WHEN length(hl.name_en) > 15 THEN osml10n_street_abbrev_en(hl.name_en) ELSE hl.name_en END AS "name_en", CASE WHEN length(hl.name_en) > 15 THEN osml10n_street_abbrev_en(hl.name_en) ELSE hl.name_en END AS "name_en",
CASE WHEN length(hl.name_de) > 15 THEN osml10n_street_abbrev_de(hl.name_de) ELSE hl.name_de END AS "name_de", CASE WHEN length(hl.name_de) > 15 THEN osml10n_street_abbrev_de(hl.name_de) ELSE hl.name_de END AS "name_de",
hl.tags, hl.tags,
@ -22,14 +22,14 @@ SELECT hl.geometry,
WHEN (rm.network_type IS NOT NULL AND nullif(rm.ref::text, '') IS NOT NULL) WHEN (rm.network_type IS NOT NULL AND nullif(rm.ref::text, '') IS NOT NULL)
THEN rm.ref::text THEN rm.ref::text
ELSE hl.ref ELSE hl.ref
END AS ref, END AS ref,
hl.highway, hl.highway,
hl.construction, hl.construction,
CASE WHEN highway IN ('footway', 'steps') THEN layer END AS layer, CASE WHEN highway IN ('footway', 'steps') THEN layer END AS layer,
CASE WHEN highway IN ('footway', 'steps') THEN "level" END AS "level", CASE WHEN highway IN ('footway', 'steps') THEN "level" END AS "level",
CASE WHEN highway IN ('footway', 'steps') THEN indoor END AS indoor, CASE WHEN highway IN ('footway', 'steps') THEN indoor END AS indoor,
ROW_NUMBER() OVER (PARTITION BY hl.osm_id ROW_NUMBER() OVER (PARTITION BY hl.osm_id
ORDER BY rm.network_type) AS "rank", ORDER BY rm.network_type) AS "rank",
hl.z_order hl.z_order
FROM osm_highway_linestring hl FROM osm_highway_linestring hl
LEFT JOIN osm_route_member rm ON (rm.member = hl.osm_id) LEFT JOIN osm_route_member rm ON (rm.member = hl.osm_id)
@ -40,8 +40,8 @@ CREATE INDEX IF NOT EXISTS osm_transportation_name_network_geometry_idx ON osm_t
-- etldoc: osm_transportation_name_network -> osm_transportation_name_linestring -- etldoc: osm_transportation_name_network -> osm_transportation_name_linestring
CREATE MATERIALIZED VIEW osm_transportation_name_linestring AS CREATE MATERIALIZED VIEW osm_transportation_name_linestring AS
( (
SELECT (ST_Dump(geometry)).geom AS geometry, SELECT (ST_Dump(geometry)).geom AS geometry,
NULL::bigint AS osm_id, NULL::bigint AS osm_id,
name, name,
name_en, name_en,
name_de, name_de,
@ -52,7 +52,7 @@ SELECT (ST_Dump(geometry)).geom AS geometry,
"level", "level",
layer, layer,
indoor, indoor,
network_type AS network, network_type AS network,
z_order z_order
FROM ( FROM (
SELECT ST_LineMerge(ST_Collect(geometry)) AS geometry, SELECT ST_LineMerge(ST_Collect(geometry)) AS geometry,
@ -61,8 +61,7 @@ FROM (
name_de, name_de,
hstore(string_agg(nullif(slice_language_tags(tags || hstore(string_agg(nullif(slice_language_tags(tags ||
hstore(ARRAY ['name', name, 'name:en', name_en, 'name:de', name_de]))::text, hstore(ARRAY ['name', name, 'name:en', name_en, 'name:de', name_de]))::text,
''), ',')) ''), ',')) AS "tags",
AS "tags",
ref, ref,
highway, highway,
construction, construction,
@ -70,7 +69,7 @@ FROM (
layer, layer,
indoor, indoor,
network_type, network_type,
min(z_order) AS z_order min(z_order) AS z_order
FROM osm_transportation_name_network FROM osm_transportation_name_network
WHERE ("rank" = 1 OR "rank" IS NULL) WHERE ("rank" = 1 OR "rank" IS NULL)
AND (name <> '' OR ref <> '') AND (name <> '' OR ref <> '')
@ -183,7 +182,7 @@ CREATE SCHEMA IF NOT EXISTS transportation_name;
CREATE TABLE IF NOT EXISTS transportation_name.updates CREATE TABLE IF NOT EXISTS transportation_name.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION transportation_name.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION transportation_name.flag() RETURNS trigger AS

View File

@ -32,7 +32,7 @@ FROM ne_110m_ocean
UNION ALL UNION ALL
-- etldoc: ne_110m_lakes -> water_z0 -- etldoc: ne_110m_lakes -> water_z0
SELECT geometry, SELECT geometry,
'lake'::text AS class, 'lake'::text AS class,
NULL::boolean AS is_intermittent, NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
@ -51,7 +51,7 @@ FROM ne_110m_ocean
UNION ALL UNION ALL
-- etldoc: ne_110m_lakes -> water_z1 -- etldoc: ne_110m_lakes -> water_z1
SELECT geometry, SELECT geometry,
'lake'::text AS class, 'lake'::text AS class,
NULL::boolean AS is_intermittent, NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
@ -70,7 +70,7 @@ FROM ne_50m_ocean
UNION ALL UNION ALL
-- etldoc: ne_50m_lakes -> water_z2 -- etldoc: ne_50m_lakes -> water_z2
SELECT geometry, SELECT geometry,
'lake'::text AS class, 'lake'::text AS class,
NULL::boolean AS is_intermittent, NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
@ -89,7 +89,7 @@ FROM ne_50m_ocean
UNION ALL UNION ALL
-- etldoc: ne_10m_lakes -> water_z4 -- etldoc: ne_10m_lakes -> water_z4
SELECT geometry, SELECT geometry,
'lake'::text AS class, 'lake'::text AS class,
NULL::boolean AS is_intermittent, NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
@ -108,7 +108,7 @@ FROM ne_10m_ocean
UNION ALL UNION ALL
-- etldoc: ne_10m_lakes -> water_z5 -- etldoc: ne_10m_lakes -> water_z5
SELECT geometry, SELECT geometry,
'lake'::text AS class, 'lake'::text AS class,
NULL::boolean AS is_intermittent, NULL::boolean AS is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
@ -129,8 +129,8 @@ UNION ALL
SELECT geometry, SELECT geometry,
water_class(waterway) AS class, water_class(waterway) AS class,
is_intermittent, is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen6 FROM osm_water_polygon_gen6
WHERE "natural" != 'bay' WHERE "natural" != 'bay'
); );
@ -149,8 +149,8 @@ UNION ALL
SELECT geometry, SELECT geometry,
water_class(waterway) AS class, water_class(waterway) AS class,
is_intermittent, is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen5 FROM osm_water_polygon_gen5
WHERE "natural" != 'bay' WHERE "natural" != 'bay'
); );
@ -169,8 +169,8 @@ UNION ALL
SELECT geometry, SELECT geometry,
water_class(waterway) AS class, water_class(waterway) AS class,
is_intermittent, is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen4 FROM osm_water_polygon_gen4
WHERE "natural" != 'bay' WHERE "natural" != 'bay'
); );
@ -189,8 +189,8 @@ UNION ALL
SELECT geometry, SELECT geometry,
water_class(waterway) AS class, water_class(waterway) AS class,
is_intermittent, is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen3 FROM osm_water_polygon_gen3
WHERE "natural" != 'bay' WHERE "natural" != 'bay'
); );
@ -209,8 +209,8 @@ UNION ALL
SELECT geometry, SELECT geometry,
water_class(waterway) AS class, water_class(waterway) AS class,
is_intermittent, is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen2 FROM osm_water_polygon_gen2
WHERE "natural" != 'bay' WHERE "natural" != 'bay'
); );
@ -229,8 +229,8 @@ UNION ALL
SELECT geometry, SELECT geometry,
water_class(waterway) AS class, water_class(waterway) AS class,
is_intermittent, is_intermittent,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel NULL::boolean AS is_tunnel
FROM osm_water_polygon_gen1 FROM osm_water_polygon_gen1
WHERE "natural" != 'bay' WHERE "natural" != 'bay'
); );
@ -311,7 +311,7 @@ $$
SELECT geometry, SELECT geometry,
class::text, class::text,
waterway_brunnel(is_bridge, is_tunnel) AS brunnel, waterway_brunnel(is_bridge, is_tunnel) AS brunnel,
is_intermittent::int AS intermittent is_intermittent::int AS intermittent
FROM ( FROM (
-- etldoc: water_z0 -> layer_water:z0 -- etldoc: water_z0 -> layer_water:z0
SELECT * SELECT *

View File

@ -21,14 +21,14 @@ SELECT
CASE CASE
WHEN osm_id < 0 THEN -osm_id * 10 + 4 WHEN osm_id < 0 THEN -osm_id * 10 + 4
ELSE osm_id * 10 + 1 ELSE osm_id * 10 + 1
END AS osm_id_hash, END AS osm_id_hash,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
'lake'::text AS class, 'lake'::text AS class,
is_intermittent::int AS intermittent is_intermittent::int AS intermittent
FROM osm_water_lakeline FROM osm_water_lakeline
WHERE geometry && bbox WHERE geometry && bbox
AND ((zoom_level BETWEEN 9 AND 13 AND LineLabel(zoom_level, NULLIF(name, ''), geometry)) AND ((zoom_level BETWEEN 9 AND 13 AND LineLabel(zoom_level, NULLIF(name, ''), geometry))
@ -40,14 +40,14 @@ SELECT
CASE CASE
WHEN osm_id < 0 THEN -osm_id * 10 + 4 WHEN osm_id < 0 THEN -osm_id * 10 + 4
ELSE osm_id * 10 + 1 ELSE osm_id * 10 + 1
END AS osm_id_hash, END AS osm_id_hash,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
'lake'::text AS class, 'lake'::text AS class,
is_intermittent::int AS intermittent is_intermittent::int AS intermittent
FROM osm_water_point FROM osm_water_point
WHERE geometry && bbox WHERE geometry && bbox
AND ( AND (
@ -59,14 +59,14 @@ SELECT
-- etldoc: osm_marine_point -> layer_water_name:z0_8 -- etldoc: osm_marine_point -> layer_water_name:z0_8
-- etldoc: osm_marine_point -> layer_water_name:z9_13 -- etldoc: osm_marine_point -> layer_water_name:z9_13
-- etldoc: osm_marine_point -> layer_water_name:z14_ -- etldoc: osm_marine_point -> layer_water_name:z14_
osm_id * 10 AS osm_id_hash, osm_id * 10 AS osm_id_hash,
geometry, geometry,
name, name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
tags, tags,
place::text AS class, place::text AS class,
is_intermittent::int AS intermittent is_intermittent::int AS intermittent
FROM osm_marine_point FROM osm_marine_point
WHERE geometry && bbox WHERE geometry && bbox
AND ( AND (

View File

@ -43,7 +43,7 @@ CREATE SCHEMA IF NOT EXISTS water_name_marine;
CREATE TABLE IF NOT EXISTS water_name_marine.updates CREATE TABLE IF NOT EXISTS water_name_marine.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION water_name_marine.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION water_name_marine.flag() RETURNS trigger AS

View File

@ -4,12 +4,12 @@ DROP TRIGGER IF EXISTS trigger_insert_line ON osm_water_polygon;
CREATE OR REPLACE VIEW osm_water_lakeline_view AS CREATE OR REPLACE VIEW osm_water_lakeline_view AS
SELECT wp.osm_id, SELECT wp.osm_id,
ll.wkb_geometry AS geometry, ll.wkb_geometry AS geometry,
name, name,
name_en, name_en,
name_de, name_de,
update_tags(tags, ll.wkb_geometry) AS tags, update_tags(tags, ll.wkb_geometry) AS tags,
ST_Area(wp.geometry) AS area, ST_Area(wp.geometry) AS area,
is_intermittent is_intermittent
FROM osm_water_polygon AS wp FROM osm_water_polygon AS wp
INNER JOIN lake_centerline ll ON wp.osm_id = ll.osm_id INNER JOIN lake_centerline ll ON wp.osm_id = ll.osm_id

View File

@ -4,12 +4,12 @@ DROP TRIGGER IF EXISTS trigger_insert_point ON osm_water_polygon;
CREATE OR REPLACE VIEW osm_water_point_view AS CREATE OR REPLACE VIEW osm_water_point_view AS
SELECT wp.osm_id, SELECT wp.osm_id,
ST_PointOnSurface(wp.geometry) AS geometry, ST_PointOnSurface(wp.geometry) AS geometry,
wp.name, wp.name,
wp.name_en, wp.name_en,
wp.name_de, wp.name_de,
update_tags(wp.tags, ST_PointOnSurface(wp.geometry)) AS tags, update_tags(wp.tags, ST_PointOnSurface(wp.geometry)) AS tags,
ST_Area(wp.geometry) AS area, ST_Area(wp.geometry) AS area,
wp.is_intermittent wp.is_intermittent
FROM osm_water_polygon AS wp FROM osm_water_polygon AS wp
LEFT JOIN lake_centerline ll ON wp.osm_id = ll.osm_id LEFT JOIN lake_centerline ll ON wp.osm_id = ll.osm_id

View File

@ -26,7 +26,7 @@ FROM (
name, name,
name_en, name_en,
name_de, name_de,
slice_language_tags(tags) AS tags slice_language_tags(tags) AS tags
FROM osm_waterway_linestring FROM osm_waterway_linestring
WHERE name <> '' WHERE name <> ''
AND waterway = 'river' AND waterway = 'river'
@ -78,12 +78,12 @@ CREATE SCHEMA IF NOT EXISTS waterway_important;
CREATE TABLE IF NOT EXISTS waterway_important.changes CREATE TABLE IF NOT EXISTS waterway_important.changes
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
is_old boolean, is_old boolean,
name character varying, name character varying,
name_en character varying, name_en character varying,
name_de character varying, name_de character varying,
tags hstore, tags hstore,
UNIQUE (is_old, name, name_en, name_de, tags) UNIQUE (is_old, name, name_en, name_de, tags)
); );
CREATE OR REPLACE FUNCTION waterway_important.store() RETURNS trigger AS CREATE OR REPLACE FUNCTION waterway_important.store() RETURNS trigger AS
@ -106,7 +106,7 @@ $$ LANGUAGE plpgsql;
CREATE TABLE IF NOT EXISTS waterway_important.updates CREATE TABLE IF NOT EXISTS waterway_important.updates
( (
id serial PRIMARY KEY, id serial PRIMARY KEY,
t text, t text,
UNIQUE (t) UNIQUE (t)
); );
CREATE OR REPLACE FUNCTION waterway_important.flag() RETURNS trigger AS CREATE OR REPLACE FUNCTION waterway_important.flag() RETURNS trigger AS
@ -143,7 +143,7 @@ BEGIN
w.name, w.name,
w.name_en, w.name_en,
w.name_de, w.name_de,
slice_language_tags(w.tags) AS tags slice_language_tags(w.tags) AS tags
FROM osm_waterway_linestring AS w FROM osm_waterway_linestring AS w
JOIN waterway_important.changes AS c ON JOIN waterway_important.changes AS c ON
w.name = c.name AND w.name_en IS NOT DISTINCT FROM c.name_en AND w.name = c.name AND w.name_en IS NOT DISTINCT FROM c.name_en AND

View File

@ -13,10 +13,10 @@ CREATE OR REPLACE VIEW waterway_z3 AS
( (
SELECT geometry, SELECT geometry,
'river'::text AS class, 'river'::text AS class,
NULL::text AS name, NULL::text AS name,
NULL::text AS name_en, NULL::text AS name_en,
NULL::text AS name_de, NULL::text AS name_de,
NULL::hstore AS tags, NULL::hstore AS tags,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_intermittent NULL::boolean AS is_intermittent
@ -29,10 +29,10 @@ CREATE OR REPLACE VIEW waterway_z4 AS
( (
SELECT geometry, SELECT geometry,
'river'::text AS class, 'river'::text AS class,
NULL::text AS name, NULL::text AS name,
NULL::text AS name_en, NULL::text AS name_en,
NULL::text AS name_de, NULL::text AS name_de,
NULL::hstore AS tags, NULL::hstore AS tags,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_intermittent NULL::boolean AS is_intermittent
@ -45,10 +45,10 @@ CREATE OR REPLACE VIEW waterway_z6 AS
( (
SELECT geometry, SELECT geometry,
'river'::text AS class, 'river'::text AS class,
NULL::text AS name, NULL::text AS name,
NULL::text AS name_en, NULL::text AS name_en,
NULL::text AS name_de, NULL::text AS name_de,
NULL::hstore AS tags, NULL::hstore AS tags,
NULL::boolean AS is_bridge, NULL::boolean AS is_bridge,
NULL::boolean AS is_tunnel, NULL::boolean AS is_tunnel,
NULL::boolean AS is_intermittent NULL::boolean AS is_intermittent
@ -167,11 +167,11 @@ AS
$$ $$
SELECT geometry, SELECT geometry,
class, class,
NULLIF(name, '') AS name, NULLIF(name, '') AS name,
COALESCE(NULLIF(name_en, ''), name) AS name_en, COALESCE(NULLIF(name_en, ''), name) AS name_en,
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de, COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
waterway_brunnel(is_bridge, is_tunnel) AS brunnel, waterway_brunnel(is_bridge, is_tunnel) AS brunnel,
is_intermittent::int AS intermittent, is_intermittent::int AS intermittent,
tags tags
FROM ( FROM (
-- etldoc: waterway_z3 -> layer_waterway:z3 -- etldoc: waterway_z3 -> layer_waterway:z3