Import additional names from Wikidata

pull/361/head
jirik 2017-11-10 21:28:12 +01:00 zatwierdzone przez Jiri Kozel
rodzic d3a5985343
commit 741be6d921
18 zmienionych plików z 50 dodań i 20 usunięć

3
.gitignore vendored
Wyświetl plik

@ -11,5 +11,8 @@ quickstart.log
# imput / output data
data/*
# input wikidata
wikidata/*
# generated source files
build/*

Wyświetl plik

@ -126,6 +126,9 @@ list:
download-geofabrik-list:
docker-compose run --rm import-osm ./download-geofabrik-list.sh
download-wikidata:
mkdir -p wikidata && docker-compose run --rm --entrypoint /usr/src/app/download-gz.sh import-wikidata
start-tileserver:
@echo " "
@echo "***********************************************************"

Wyświetl plik

@ -68,14 +68,22 @@ services:
- ./build:/mapping
- cache:/cache
import-sql:
image: "openmaptiles/import-sql:0.6"
image: "openmaptiles/import-sql:0.7"
env_file: .env
networks:
- postgres_conn
volumes:
- ./build:/sql
import-wikidata:
image: "openmaptiles/import-wikidata:0.1"
env_file: .env
command: import-wikidata
networks:
- postgres_conn
volumes:
- ./wikidata:/import
openmaptiles-tools:
image: "openmaptiles/openmaptiles-tools:0.7"
image: "openmaptiles/openmaptiles-tools:0.8"
env_file: .env
networks:
- postgres_conn

Wyświetl plik

@ -9,7 +9,7 @@ BEGIN
WHERE ST_GeometryType(geometry) <> 'ST_Point';
UPDATE osm_aerodrome_label_point
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
END;
$$ LANGUAGE plpgsql;

Wyświetl plik

@ -5,7 +5,7 @@ DROP TRIGGER IF EXISTS trigger_refresh ON mountain_peak_point.updates;
CREATE OR REPLACE FUNCTION update_osm_peak_point() RETURNS VOID AS $$
BEGIN
UPDATE osm_peak_point
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
END;

Wyświetl plik

@ -41,7 +41,7 @@ BEGIN
WHERE osm.osm_id = ne.osm_id;
UPDATE osm_city_point
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
END;

Wyświetl plik

@ -5,7 +5,7 @@ DROP TRIGGER IF EXISTS trigger_refresh ON place_continent_point.updates;
CREATE OR REPLACE FUNCTION update_osm_continent_point() RETURNS VOID AS $$
BEGIN
UPDATE osm_continent_point
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
END;

Wyświetl plik

@ -37,7 +37,7 @@ BEGIN
WHERE "rank" = 0;
UPDATE osm_country_point
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
END;

Wyświetl plik

@ -5,7 +5,7 @@ DROP TRIGGER IF EXISTS trigger_refresh ON place_island_point.updates;
CREATE OR REPLACE FUNCTION update_osm_island_point() RETURNS VOID AS $$
BEGIN
UPDATE osm_island_point
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
END;

Wyświetl plik

@ -7,7 +7,7 @@ BEGIN
UPDATE osm_island_polygon SET geometry=ST_PointOnSurface(geometry) WHERE ST_GeometryType(geometry) <> 'ST_Point';
UPDATE osm_island_polygon
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
ANALYZE osm_island_polygon;

Wyświetl plik

@ -33,7 +33,7 @@ BEGIN
DELETE FROM osm_state_point WHERE "rank" IS NULL;
UPDATE osm_state_point
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
END;

Wyświetl plik

@ -13,7 +13,7 @@ BEGIN
WHERE funicular = 'yes' and subclass='station';
UPDATE osm_poi_point
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
END;

Wyświetl plik

@ -22,7 +22,7 @@ BEGIN
WHERE funicular = 'yes' and subclass='station';
UPDATE osm_poi_polygon
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
ANALYZE osm_poi_polygon;

Wyświetl plik

@ -22,7 +22,7 @@ BEGIN
WHERE osm.osm_id = ne.osm_id;
UPDATE osm_marine_point
SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry)
SET tags = update_tags(tags, geometry)
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
END;

Wyświetl plik

@ -9,7 +9,7 @@ CREATE MATERIALIZED VIEW osm_water_lakeline AS (
SELECT wp.osm_id,
ll.wkb_geometry AS geometry,
name, name_en, name_de,
delete_empty_keys(tags) || get_basic_names(tags, ll.wkb_geometry) AS tags,
update_tags(tags, ll.wkb_geometry) AS tags,
ST_Area(wp.geometry) AS area
FROM osm_water_polygon AS wp
INNER JOIN lake_centerline ll ON wp.osm_id = ll.osm_id

Wyświetl plik

@ -9,7 +9,7 @@ CREATE MATERIALIZED VIEW osm_water_point AS (
SELECT
wp.osm_id, ST_PointOnSurface(wp.geometry) AS geometry,
wp.name, wp.name_en, wp.name_de,
delete_empty_keys(wp.tags) || get_basic_names(wp.tags, ST_PointOnSurface(wp.geometry)) AS tags,
update_tags(wp.tags, ST_PointOnSurface(wp.geometry)) AS tags,
ST_Area(wp.geometry) AS area
FROM osm_water_polygon AS wp
LEFT JOIN lake_centerline ll ON wp.osm_id = ll.osm_id

Wyświetl plik

@ -3,10 +3,17 @@ DROP TRIGGER IF EXISTS trigger_refresh ON osm_waterway_linestring;
DO $$
BEGIN
update osm_waterway_linestring SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry);
update osm_waterway_linestring_gen1 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry);
update osm_waterway_linestring_gen2 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry);
update osm_waterway_linestring_gen3 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry);
update osm_waterway_linestring
SET tags = update_tags(tags, geometry);
update osm_waterway_linestring_gen1
SET tags = update_tags(tags, geometry);
update osm_waterway_linestring_gen2
SET tags = update_tags(tags, geometry);
update osm_waterway_linestring_gen3
SET tags = update_tags(tags, geometry);
END $$;
@ -17,7 +24,7 @@ CREATE OR REPLACE FUNCTION waterway_linestring.refresh() RETURNS trigger AS
$BODY$
BEGIN
-- RAISE NOTICE 'Refresh waterway_linestring %', NEW.osm_id;
NEW.tags = delete_empty_keys(NEW.tags) || get_basic_names(NEW.tags, NEW.geometry);
NEW.tags = update_tags(NEW.tags, NEW.geometry);
RETURN NEW;
END;
$BODY$

Wyświetl plik

@ -129,6 +129,7 @@ echo "====> : Making directories - if they don't exist ( ./build ./data ./pgdata
mkdir -p pgdata
mkdir -p build
mkdir -p data
mkdir -p wikidata
echo " "
echo "-------------------------------------------------------------------------------------"
@ -231,6 +232,14 @@ echo " : The OpenstreetMap data license: https://www.openstreetmap.org/copy
echo " : Thank you OpenStreetMap Contributors ! "
docker-compose run --rm import-osm
echo " "
echo "-------------------------------------------------------------------------------------"
echo "====> : Start importing Wikidata: ./wikidata/latest-all.json.gz -> PostgreSQL"
echo " : Source code: https://github.com/openmaptiles/import-wikidata "
echo " : The Wikidata license: https://www.wikidata.org/wiki/Wikidata:Database_download/en#License "
echo " : Thank you Wikidata Contributors ! "
docker-compose run --rm import-wikidata
echo " "
echo "-------------------------------------------------------------------------------------"
echo "====> : Start SQL postprocessing: ./build/tileset.sql -> PostgreSQL "