pátek 23. října 2015

OpenStreetMap import do PostGIS


Po dlouhé době jsem opět narazil na databázi PotgresSQL a jeho velmi zajímavé rozšíření PostGIS. Mile mě překvapilo, jak snadno se dá PostGIS naplnit daty z OpenStreetMap (OSM). A tím si snadno vytvoříte vlastní mapový server s velmi podrobnými daty.

Testováno na OS FreeBSD 10.2

Instalace poslední verze PostgreSQL 9.4

cd /usr/ports/databases/postgresql94-server/ && make install clean

Instalace rozšíření PostGIS

cd /usr/ports/databases/postgis21/ && make install clean

Instalace konvertoru OSM do pgsql

/usr/ports/converters/osm2pgsql/ && make install clean

Dále je postup poměrně jednoduchý.  Připravíme si databázi nejlépe i s table space.

mkdir -p /data/pgsql/postgis && chown pgsql:pgsql /data/pgsql/postgis

CREATE USER postgis;
CREATE TABLESPACE postgis OWNER postgis LOCATION '/data/pgsql/postgis';
CREATE DATABASE postgis WITH OWNER = postgis TABLESPACE = postgis;
CREATE LANGUAGE plpgsql;


Provedeme instalaci PostGIS rozšíření PostgreSQL.

cd /usr/local/share/postgresql/contrib/postgis-2.1/
psql -d postgis -f postgis.sql
psql -d postgis -f spatial_ref_sys.sql
psql -d postgis -f postgis_comments.sql
psql -d postgis -f topology.sql
psql -d postgis -f topology_comments.sql
psql -d postgis -f rtpostgis.sql
psql -d postgis -f rtpostgis_legacy.sql
psql -d postgis -f legacy.sql


Ověříme verze PostgreSQL a PostGIS

[root@gis-test ~]# psql postgis
psql (9.4.5)
Type "help" for help.

postgis=# SELECT version();
PostgreSQL 9.4.5 on amd64-portbld-freebsd10.2, compiled by FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512, 64-bit

postgis=# SELECT postgis_full_version();
POSTGIS="2.1.7 r13414" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.9.1, 04 March 2015" GDAL="GDAL 2.0.1, released 2015/09/15" LIBXML="2.9.2" LIBJSON="UNKNOWN" TOPOLOGY RASTER



Provedeme stažení OSM mapy ČR a naimportujeme do PostGIS.

fetch http://download.geofabrik.de/europe/czech-republic-latest.osm.pbf # 589M

osm2pgsql -d postgis --slim -C 1500 --number-processes 4 czech-republic-latest.osm.pbf

Import nějakou dobu trvá a zabere i dost místa ve vytvořeném TABLE SPACE :-)

Jak používat data z PostGIS je zase jiné téma. Jen uvedu pár zajímavých projektů.

Žádné komentáře: