이번 포스팅에서는 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
gdal 명령어를 활용하여 shape파일을 컨버팅 하는 작업을 해봤다.
그 외 geotools, shp2pgsql을 활용하여 할 수도 있다.
geotools와 shp2pgsql을 활용한 컨버팅은 아래 링크를 참조하면 확인 할 수 있다.
spatiumwdev.tistory.com/entry/Geotools-shapefile-PostGis-데이터로-바꾸기
spatiumwdev.tistory.com/entry/shp2pgsql을-활용하여-Shapefile-to-postgis로-바꿔보자
'GDAL' 카테고리의 다른 글
postgresql 테이블을 geojson,gml 파일로 변환하기 (0) | 2021.06.15 |
---|---|
gdal shape 파일을 mysql(mariadb) 테이블로 변환 (0) | 2021.04.28 |