Skip to content

Commit

Permalink
Import additional names from Wikidata
Browse files Browse the repository at this point in the history
  • Loading branch information
jirik committed Nov 16, 2017
1 parent d3a5985 commit 741be6d
Show file tree
Hide file tree
Showing 18 changed files with 50 additions and 20 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,8 @@ quickstart.log
# imput / output data
data/*

# input wikidata
wikidata/*

# generated source files
build/*
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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 "***********************************************************"
Expand Down
12 changes: 10 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion layers/aerodrome_label/update.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/mountain_peak/update_peak_point.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/place/update_city_point.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/place/update_continent_point.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/place/update_country_point.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/place/update_island_point.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/place/update_island_polygon.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/place/update_state_point.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/poi/update_poi_point.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/poi/update_poi_polygon.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/water_name/update_marine_point.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion layers/water_name/update_water_lakeline.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion layers/water_name/update_water_point.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
17 changes: 12 additions & 5 deletions layers/waterway/update_waterway_linestring.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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 $$;


Expand All @@ -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$
Expand Down
9 changes: 9 additions & 0 deletions quickstart.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 "-------------------------------------------------------------------------------------"
Expand Down Expand Up @@ -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 "
Expand Down

0 comments on commit 741be6d

Please sign in to comment.