kopia lustrzana https://github.com/openmaptiles/openmaptiles
Import additional names from Wikidata
rodzic
d3a5985343
commit
741be6d921
|
@ -11,5 +11,8 @@ quickstart.log
|
||||||
# imput / output data
|
# imput / output data
|
||||||
data/*
|
data/*
|
||||||
|
|
||||||
|
# input wikidata
|
||||||
|
wikidata/*
|
||||||
|
|
||||||
# generated source files
|
# generated source files
|
||||||
build/*
|
build/*
|
3
Makefile
3
Makefile
|
@ -126,6 +126,9 @@ list:
|
||||||
download-geofabrik-list:
|
download-geofabrik-list:
|
||||||
docker-compose run --rm import-osm ./download-geofabrik-list.sh
|
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:
|
start-tileserver:
|
||||||
@echo " "
|
@echo " "
|
||||||
@echo "***********************************************************"
|
@echo "***********************************************************"
|
||||||
|
|
|
@ -68,14 +68,22 @@ services:
|
||||||
- ./build:/mapping
|
- ./build:/mapping
|
||||||
- cache:/cache
|
- cache:/cache
|
||||||
import-sql:
|
import-sql:
|
||||||
image: "openmaptiles/import-sql:0.6"
|
image: "openmaptiles/import-sql:0.7"
|
||||||
env_file: .env
|
env_file: .env
|
||||||
networks:
|
networks:
|
||||||
- postgres_conn
|
- postgres_conn
|
||||||
volumes:
|
volumes:
|
||||||
- ./build:/sql
|
- ./build:/sql
|
||||||
|
import-wikidata:
|
||||||
|
image: "openmaptiles/import-wikidata:0.1"
|
||||||
|
env_file: .env
|
||||||
|
command: import-wikidata
|
||||||
|
networks:
|
||||||
|
- postgres_conn
|
||||||
|
volumes:
|
||||||
|
- ./wikidata:/import
|
||||||
openmaptiles-tools:
|
openmaptiles-tools:
|
||||||
image: "openmaptiles/openmaptiles-tools:0.7"
|
image: "openmaptiles/openmaptiles-tools:0.8"
|
||||||
env_file: .env
|
env_file: .env
|
||||||
networks:
|
networks:
|
||||||
- postgres_conn
|
- postgres_conn
|
||||||
|
|
|
@ -9,7 +9,7 @@ BEGIN
|
||||||
WHERE ST_GeometryType(geometry) <> 'ST_Point';
|
WHERE ST_GeometryType(geometry) <> 'ST_Point';
|
||||||
|
|
||||||
UPDATE osm_aerodrome_label_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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
END;
|
END;
|
||||||
$$ LANGUAGE plpgsql;
|
$$ LANGUAGE plpgsql;
|
||||||
|
|
|
@ -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 $$
|
CREATE OR REPLACE FUNCTION update_osm_peak_point() RETURNS VOID AS $$
|
||||||
BEGIN
|
BEGIN
|
||||||
UPDATE osm_peak_point
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
|
|
|
@ -41,7 +41,7 @@ BEGIN
|
||||||
WHERE osm.osm_id = ne.osm_id;
|
WHERE osm.osm_id = ne.osm_id;
|
||||||
|
|
||||||
UPDATE osm_city_point
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
|
|
|
@ -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 $$
|
CREATE OR REPLACE FUNCTION update_osm_continent_point() RETURNS VOID AS $$
|
||||||
BEGIN
|
BEGIN
|
||||||
UPDATE osm_continent_point
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
|
|
|
@ -37,7 +37,7 @@ BEGIN
|
||||||
WHERE "rank" = 0;
|
WHERE "rank" = 0;
|
||||||
|
|
||||||
UPDATE osm_country_point
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
|
|
|
@ -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 $$
|
CREATE OR REPLACE FUNCTION update_osm_island_point() RETURNS VOID AS $$
|
||||||
BEGIN
|
BEGIN
|
||||||
UPDATE osm_island_point
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
|
|
|
@ -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 geometry=ST_PointOnSurface(geometry) WHERE ST_GeometryType(geometry) <> 'ST_Point';
|
||||||
|
|
||||||
UPDATE osm_island_polygon
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
ANALYZE osm_island_polygon;
|
ANALYZE osm_island_polygon;
|
||||||
|
|
|
@ -33,7 +33,7 @@ BEGIN
|
||||||
DELETE FROM osm_state_point WHERE "rank" IS NULL;
|
DELETE FROM osm_state_point WHERE "rank" IS NULL;
|
||||||
|
|
||||||
UPDATE osm_state_point
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
|
|
|
@ -13,7 +13,7 @@ BEGIN
|
||||||
WHERE funicular = 'yes' and subclass='station';
|
WHERE funicular = 'yes' and subclass='station';
|
||||||
|
|
||||||
UPDATE osm_poi_point
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
|
|
|
@ -22,7 +22,7 @@ BEGIN
|
||||||
WHERE funicular = 'yes' and subclass='station';
|
WHERE funicular = 'yes' and subclass='station';
|
||||||
|
|
||||||
UPDATE osm_poi_polygon
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
ANALYZE osm_poi_polygon;
|
ANALYZE osm_poi_polygon;
|
||||||
|
|
|
@ -22,7 +22,7 @@ BEGIN
|
||||||
WHERE osm.osm_id = ne.osm_id;
|
WHERE osm.osm_id = ne.osm_id;
|
||||||
|
|
||||||
UPDATE osm_marine_point
|
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;
|
WHERE COALESCE(tags->'name:latin', tags->'name:nonlatin', tags->'name_int') IS NULL;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
|
|
|
@ -9,7 +9,7 @@ CREATE MATERIALIZED VIEW osm_water_lakeline AS (
|
||||||
SELECT wp.osm_id,
|
SELECT wp.osm_id,
|
||||||
ll.wkb_geometry AS geometry,
|
ll.wkb_geometry AS geometry,
|
||||||
name, name_en, name_de,
|
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
|
ST_Area(wp.geometry) AS area
|
||||||
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
|
||||||
|
|
|
@ -9,7 +9,7 @@ CREATE MATERIALIZED VIEW osm_water_point AS (
|
||||||
SELECT
|
SELECT
|
||||||
wp.osm_id, ST_PointOnSurface(wp.geometry) AS geometry,
|
wp.osm_id, ST_PointOnSurface(wp.geometry) AS geometry,
|
||||||
wp.name, wp.name_en, wp.name_de,
|
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
|
ST_Area(wp.geometry) AS area
|
||||||
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
|
||||||
|
|
|
@ -3,10 +3,17 @@ DROP TRIGGER IF EXISTS trigger_refresh ON osm_waterway_linestring;
|
||||||
|
|
||||||
DO $$
|
DO $$
|
||||||
BEGIN
|
BEGIN
|
||||||
update osm_waterway_linestring SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry);
|
update osm_waterway_linestring
|
||||||
update osm_waterway_linestring_gen1 SET tags = delete_empty_keys(tags) || get_basic_names(tags, geometry);
|
SET tags = update_tags(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_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 $$;
|
END $$;
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,7 +24,7 @@ CREATE OR REPLACE FUNCTION waterway_linestring.refresh() RETURNS trigger AS
|
||||||
$BODY$
|
$BODY$
|
||||||
BEGIN
|
BEGIN
|
||||||
-- RAISE NOTICE 'Refresh waterway_linestring %', NEW.osm_id;
|
-- 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;
|
RETURN NEW;
|
||||||
END;
|
END;
|
||||||
$BODY$
|
$BODY$
|
||||||
|
|
|
@ -129,6 +129,7 @@ echo "====> : Making directories - if they don't exist ( ./build ./data ./pgdata
|
||||||
mkdir -p pgdata
|
mkdir -p pgdata
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
mkdir -p data
|
mkdir -p data
|
||||||
|
mkdir -p wikidata
|
||||||
|
|
||||||
echo " "
|
echo " "
|
||||||
echo "-------------------------------------------------------------------------------------"
|
echo "-------------------------------------------------------------------------------------"
|
||||||
|
@ -231,6 +232,14 @@ echo " : The OpenstreetMap data license: https://www.openstreetmap.org/copy
|
||||||
echo " : Thank you OpenStreetMap Contributors ! "
|
echo " : Thank you OpenStreetMap Contributors ! "
|
||||||
docker-compose run --rm import-osm
|
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 "-------------------------------------------------------------------------------------"
|
echo "-------------------------------------------------------------------------------------"
|
||||||
echo "====> : Start SQL postprocessing: ./build/tileset.sql -> PostgreSQL "
|
echo "====> : Start SQL postprocessing: ./build/tileset.sql -> PostgreSQL "
|
||||||
|
|
Ładowanie…
Reference in New Issue