diff --git a/layers/place/place.sql b/layers/place/place.sql index dc3b3e4..3326a48 100644 --- a/layers/place/place.sql +++ b/layers/place/place.sql @@ -1,64 +1,64 @@ CREATE OR REPLACE VIEW place_z2 AS ( - SELECT geometry, name, place, scalerank, population + SELECT geometry, name, name_en, place, scalerank, population FROM osm_important_place_point WHERE scalerank <= 0 ); CREATE OR REPLACE VIEW place_z3 AS ( - SELECT geometry, name, place, scalerank, population + SELECT geometry, name, name_en, place, scalerank, population FROM osm_important_place_point WHERE scalerank <= 2 ); CREATE OR REPLACE VIEW place_z4 AS ( - SELECT geometry, name, place, scalerank, population + SELECT geometry, name, name_en, place, scalerank, population FROM osm_important_place_point WHERE scalerank <= 5 ); CREATE OR REPLACE VIEW place_z5 AS ( - SELECT geometry, name, place, scalerank, population + SELECT geometry, name, name_en, place, scalerank, population FROM osm_important_place_point WHERE scalerank <= 6 ); CREATE OR REPLACE VIEW place_z6 AS ( - SELECT geometry, name, place, scalerank, population + SELECT geometry, name, name_en, place, scalerank, population FROM osm_important_place_point WHERE scalerank <= 7 ); CREATE OR REPLACE VIEW place_z7 AS ( - SELECT geometry, name, place, scalerank, population + SELECT geometry, name, name_en, place, scalerank, population FROM osm_important_place_point ); CREATE OR REPLACE VIEW place_z8 AS ( - SELECT geometry, name, place, NULL::integer AS scalerank, population FROM osm_place_point + SELECT geometry, name, name_en, place, NULL::integer AS scalerank, population FROM osm_place_point WHERE place IN ('city', 'town') ); CREATE OR REPLACE VIEW place_z10 AS ( - SELECT geometry, name, place, NULL::integer AS scalerank, population FROM osm_place_point + SELECT geometry, name, name_en, place, NULL::integer AS scalerank, population FROM osm_place_point WHERE place IN ('city', 'town', 'village') OR place='subregion' ); CREATE OR REPLACE VIEW place_z11 AS ( - SELECT geometry, name, place, NULL::integer AS scalerank, population FROM osm_place_point + SELECT geometry, name, name_en, place, NULL::integer AS scalerank, population FROM osm_place_point ); CREATE OR REPLACE VIEW place_z13 AS ( - SELECT geometry, name, place, NULL::integer AS scalerank, population FROM osm_place_point + SELECT geometry, name, name_en, place, NULL::integer AS scalerank, population FROM osm_place_point ); CREATE OR REPLACE FUNCTION layer_place(bbox geometry, zoom_level int, pixel_width numeric) -RETURNS TABLE(geometry geometry, name text, place text, scalerank int) AS $$ - SELECT geometry, name, 'country' AS place, scalerank FROM layer_country(bbox, zoom_level) +RETURNS TABLE(geometry geometry, name text, name_en text, place text, abbrev text, postal text, scalerank int) AS $$ + SELECT geometry, name, name AS name_en, 'country' AS place, abbrev, postal, scalerank FROM layer_country(bbox, zoom_level) UNION ALL - SELECT geometry, name, 'state' AS place, scalerank FROM layer_state(bbox, zoom_level) + SELECT geometry, name, name_en, 'state' AS place, abbrev, postal, scalerank FROM layer_state(bbox, zoom_level) UNION ALL - SELECT geometry, name, place, scalerank FROM ( - SELECT geometry, name, place, scalerank, + SELECT geometry, name, name_en, place, NULL AS abbrev, NULL AS postal, scalerank FROM ( + SELECT geometry, name, name_en, place, scalerank, row_number() OVER ( PARTITION BY LabelGrid(geometry, 150 * pixel_width) ORDER BY scalerank ASC NULLS LAST,