Esri 앱을 설치하지 않고도 지오 데이터베이스 데이터를 PostGIS에로드하는 방법을 알려줄 수 있습니까?
온라인에서 찾은 솔루션은 ArcDBS를 사용하여 GDB를 SHP로 변환 한 다음 SHP를 PostGIS로 가져 오는 것에 대해 이야기했습니다.
Esri 앱을 설치하지 않고도 지오 데이터베이스 데이터를 PostGIS에로드하는 방법을 알려줄 수 있습니까?
온라인에서 찾은 솔루션은 ArcDBS를 사용하여 GDB를 SHP로 변환 한 다음 SHP를 PostGIS로 가져 오는 것에 대해 이야기했습니다.
답변:
나는 항상 내 고객을 위해 그것을합니다.
FileGDB 또는 Shapefiles에 데이터를 덤프 한 후 다음 명령을 실행하십시오.
ESRI Shapefile의 경우 :
ogr2ogr -f "PostgreSQL"PG : "dbname = mydbname 사용자 = postgres"myshapefile.shp
FileGDB의 경우 :
ogr2ogr -f "PostgreSQL"PG : "dbname = mydbname 사용자 = postgres"myFileGDB.gdb
FileGDB의 경우 FileGDB 드라이버가 설치되어 있는지 확인해야합니다. 당신은 그것을 가지고 :
ogrinfo-포맷
FileGDB가 설치되었음을 알리는 어딘가에 표시됩니다.
ogr2ogr -f "PostgreSQL" PG:"dbname=mydbname user=postgres" SanDiegoData.gdb -sql "GetLayerDefinition Parcels"
그 DB의 필드에 ESRI의 XML 메타 데이터를 덤프 것
나는 이것을 시도하지 않았으므로 작동하는지 확인할 수 없지만 File Geodatabase API 를 사용하면 Geodatabase 파일에서 SHP (및 그 이후 PostGIS)로 데이터를 내보낼 수 있습니다. 설명서는 다음과 같이 말합니다.
With the API you can... Read and write data
Esri 파일 지오 데이터베이스 API는 10.x를 사용하여 생성 된 파일 지오 데이터베이스에서만 작동합니다. 이전 버전은 GDAL, QGIS 또는 열린 파일 지오 데이터베이스 API 에 의존하는 다른 어떤 것도 작동하지 않습니다 . 이전 개인 지오 데이터베이스는 MS Access에 의존하며 사용 가능한 리더 및 코드가 있습니다.
10.x 파일 지오 데이터베이스가있는 경우 FileGDB에서 레이어를 읽고 단일 ogr2ogr 명령을 사용하여 PostGIS로로드 할 수 있습니다 ( 문서 참조 ).
ogr2ogr -overwrite -skipfailures -f "PostgreSQL" PG:"host=myhost user=myuser dbname=mydb password=mypass" "C:\somefolder\BigFileGDB.gdb" "MyFeatureClass"
이를 위해 VS2010 Express Edition을 다운로드하고 GDAL, ogr 플러그인 및 1.3의 열린 파일 지오 데이터베이스 API를 빌드해야했습니다.
내가 할 수 없었던 것은 esri 소프트웨어를 사용하지 않고 이전 9.x 파일 지오 데이터베이스를 마이그레이션하는 것입니다 (atm에서는 사용할 수 없음)-지나칠 수 없습니다 ...
HRESULT = -2147220965, errorText = "이 GeoDatabase 릴리스는 유효하지 않거나 오래되었습니다."
... 10.x "gdb"만 지원하는 공개 API로 9.x "gdb"를 열려고 할 때.
아직 직접 시도하지는 않았지만 " Spatial Data Integrator " 라는 오픈 소스 geoETL 소프트웨어를 사용하는 이 자습서 (shapefile-> PostGIS)를 살펴 보았습니다 . Esri GDB를 지원하는지 여부는 확실하지 않지만 ESRI 제품을 사용하지 않고이 제품을 사용하여 GDB에서 PostGIS로 유사한 변환을 수행 할 수 있는지 더 자세히 조사해 볼 가치가 있습니다.
내가 들었던 다른 ETL 패키지 는 Safe Sofware ($, 매우 인기있는) 및 GeoKettle (오픈 소스)의 FME 와 Spatial ETL wikipedia 페이지 의 더 많은 참조입니다 .
편집 : 조금 더 자세히 살펴보면 SDI가 EsriGDB 읽기를 직접 지원하지 않지만 사용 가능한 OGR 파일 형식을 읽을 수있는 것처럼 보입니다 .
FWIW 작업은 postgis 로더에 GDB를 작성하는 중입니다. 이것은 GDB 바인딩이있는 최신 GDAL 트렁크에 따라 다릅니다. 컴파일하고 시도 할 기회가 없었지만 PostGIS 2.0이 나오기 전에 희망을 가졌습니다.
체크 아웃 -http : //trac.osgeo.org/postgis/browser/spike/pramsey/postgis2fgdb
폴이 PostGIS 뉴스 그룹에 대한 정보를 제공하여 자신이 어디에 있는지 알 수 있습니다. http://www.postgis.org/mailman/listinfo/postgis-users
개인 지오 데이터베이스 형식의 경우 GDAL은이를 잘 읽을 수 있으며 개인 지오 DB에서 데이터를 내보내는 데 주로 사용합니다.
내가 여기에 잠시 게시 한 내 자신의 질문에 대답 ...
온라인에서 찾은 다른 옵션 (위의 제안 외에도)은 pgdbf ( https://github.com/kstrauser/pgdbf ) 를 사용 하여 SQL 스크립트를 덤프하여 postgres에 수동으로 수집하는 데 사용할 수 있습니다.