이번 포스팅에서는 gdal을 이용하여 shape 파일을 postgis db table로 컨버팅 작업을 해보자
먼저 shape 속성에 한글이 포함되어 있다면 인코딩 작업이 필요하다.
cmd > PGCLIENTENCODING=cp949 또는 PGCLIENTENCODING=EUC-KR
cmd > ogr2ogr -f "PostgreSQL" "PG:host=호스트 user=유저 dbname=데이터베이스 password=패스워드" "shapefile 경로" -nlt GEOMETRY -nln 스키마.생성할 테이블 이름 -t_srs EPSG:4326 -lco PRECISION=no -skipfailures -overwrite
-t_srs 는 좌표계 설정
-skipfailures 옵션의 경우 insert 도중 에러가 발생하면 프로세스가 끝나는게 아니라 예외처리되서 다음 레코드로 insert 작업이 진행된다.
-overwirte 옵션일 경우 디비에 테이블이 존재할 경우 덮어쓴다
-progress 옵션은 쉘에서 프로그래스를 확인할 수 있다.
실제 옵션을 주고 하면 다음과 같이 진행된다.
0...10...20...30...40...50...60...70...80...90...100...done
따옴표는 생략할 경우 에러가 발생할 수도 있다.
자세한 옵션은 아래 링크를 참조하면 된다.
gdal.org/programs/ogr2ogr.html
ogr2ogr — GDAL documentation
Define the geometry type for the created layer. One of NONE, GEOMETRY, POINT, LINESTRING, POLYGON, GEOMETRYCOLLECTION, MULTIPOINT, MULTIPOLYGON, MULTILINESTRING, CIRCULARSTRING, COMPOUNDCURVE, CURVEPOLYGON, MULTICURVE, and MULTISURFACE non-linear geometry
gdal.org
gdal 명령어를 활용하여 shape파일을 컨버팅 하는 작업을 해봤다.
그 외 geotools, shp2pgsql을 활용하여 할 수도 있다.
geotools와 shp2pgsql을 활용한 컨버팅은 아래 링크를 참조하면 확인 할 수 있다.
spatiumwdev.tistory.com/entry/Geotools-shapefile-PostGis-데이터로-바꾸기
Geotools shapefile PostGis 데이터로 바꾸기
이번 글에서는 geotools를 활용해서 shpaefile을 Postgis로 변환하는 것에 대해 알아볼려고 한다. dbf 파일에 직접 접근해서 데이터를 가져올 수 도 있지만 공간쿼리를가 필요한 경우 아무래도 postgis와
spatiumwdev.tistory.com
spatiumwdev.tistory.com/entry/shp2pgsql을-활용하여-Shapefile-to-postgis로-바꿔보자
shp2pgsql을 활용하여 Shapefile to postgis로 바꿔보자
이번엔 shapefile을 postgresql table로 바꾸는 작업을 해보겠다. 전에 쓰던 방법은 gdal을 활용하여 shapefile을 db table로 컨버팅을 한 적이 있다. 하지만 용량이 조금이라도 클 경우 예를 들어 100MB 이상에.
spatiumwdev.tistory.com
'GDAL' 카테고리의 다른 글
postgresql 테이블을 geojson,gml 파일로 변환하기 (0) | 2021.06.15 |
---|---|
gdal shape 파일을 mysql(mariadb) 테이블로 변환 (0) | 2021.04.28 |