GeoJSON 파일을 PostgreSQL / PostGIS에 하나의 테이블로 입력할 때 사용할 수 있는 툴은  ogr2ogr 이라는 툴입니다. 


ogr2ogr의 기능은 꽤 다양한데요. 자세한 내용은 아래 웹 페이지를 참고하세요.  

ogr2ogr description web page : http://www.gdal.org/ogr2ogr.html


기능 중 하나가 GeoJSON과 같은 포맷을 공간정보 데이터베이스에 입력하는 것입니다.


예로 aaa.geojson 이라는 파일이 존재할 때 PostgreSQL / PostGIS에 입력하는 커맨드는 다음과 같습니다. 


ogr2ogr -s_srs EPSG:3857 -t_srs EPSG:3857 -f PostgreSQL PG:"dbname=mydb user=postgres" aaa.geojson -nln aaa


복잡해보이지만 하나씩 끊어서 간단하게 설명하면 다음과 같습니다. 


-s_srs 는 Override source SRS 이네요. aaa.geojson의 좌표체계에 대한 정보를 입력하면 됩니다. 

-t_srs 는 Reproject/transform to this SRS on output 로 설명되고 있습니다. 위 명령어에서 데이터베이스에 geojson을 입력하기 때문에

              데이터베이스에 저장될 때 어떤 좌표체계를 가지도록 할 것인지 정보를 입력하면 됩니다. 


-f PostgreSQL 은 포맷이름이 PostgreSQL 이라는 것이구요.

   만약에 -f PostgreSQL 이 정상적으로 작동하지 않는다면, 

   GDAL 빌드 시에 --with-pg 옵션을 통해 PostgreSQL Support를 yes로 만들고 빌드하셔야 합니다.

   관련 포스팅 : http://ngee.tistory.com/764



PG:"dbname ~~~ user ~~~"는 destination 이구요. 

aaa.geojson을 source입니다. 


마지막으로 -nln 옵션은 데이터베이스에 저장될 때 테이블 이름을 지정할 수 있는 옵션입니다. 


위와 같은 명령어로 실행하면 아래와 같이 테이블에 데이터가 저장된 것을 확인할 수 있습니다.

      


간단하게 ogr2ogr을 통해서 GeoJSON 파일을 PostgreSQL / PostGIS 에 입력하는 것을 테스트해봤습니다 :)


+ Recent posts