Skip to content

Instantly share code, notes, and snippets.

@ttomasz
Created June 15, 2021 22:15
Show Gist options
  • Save ttomasz/7d95443f1a646a4013b38b9851148c44 to your computer and use it in GitHub Desktop.
Save ttomasz/7d95443f1a646a4013b38b9851148c44 to your computer and use it in GitHub Desktop.
Przykładowe komendy do zaimportowania danych OpenStreetMap do PostGIS z użyciem narzędzia Imposm3 (WSL2+Docker)
# import danych OpenStreetMap z pliku PBF do bazy PostgreSQL + PostGIS z użyciem Imposm3
mkdir imposm-test
cd imposm-test
wget https://github.com/omniscale/imposm3/releases/download/v0.11.1/imposm-0.11.1-linux-x86-64.tar.gz
tar -xvf imposm-0.11.1-linux-x86-64.tar.gz
wget http://download.geofabrik.de/europe/poland/opolskie-latest.osm.pbf
# link dla pliku z danymi całej Polski
# wget http://download.geofabrik.de/europe/poland-latest.osm.pbf
wget https://github.com/openstreetmap-polska/gugik2osm/raw/main/imposm3/poland.geojson
wget https://github.com/openstreetmap-polska/gugik2osm/raw/main/imposm3/mapping.yaml
# utworzenie
# config.json
# z zawartością:
{
"cachedir": "/home/tt/imposm-test/imposm_cache/",
"connection": "postgis://postgres:1234@localhost:25434/gis",
"limitto": "/home/tt/imposm-test/poland.geojson",
"mapping": "/home/tt/imposm-test/mapping.yaml",
"srid": 4326,
"diffdir": "/home/tt/imposm-test/imposm_diff/"
}
docker run --name "postgis25434" --shm-size=4g -e MAINTAINANCE_WORK_MEM=1024MB -p 25434:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASS=1234 -e POSTGRES_DBNAME=gis -d -t kartoza/postgis
# jeżeli chcemy mieć pliki postgresql z bazą danych w jakimś konkretnym folderze można dodać
# -v /mnt/f/osm/postgis:/var/lib/postgresql
./imposm-0.11.1-linux-x86-64/imposm import -config ./config.json -read ./opolskie-latest.osm.pbf -overwritecache -write -diff -deployproduction
psql -h localhost -p 25434 -U postgres -d gis
# przykładowe kwerendy
select miejscowosc, cz_msc, ulica, type, st_astext(geometry) from osm_addr_point limit 5;
select tags -> 'name', tags -> 'amenity', tags -> 'tourism', st_astext(geometry) from osm_amenity_points limit 5;
./imposm-0.11.1-linux-x86-64/imposm run -config ./config.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment