Esriアプリをインストールせずに、ジオデータベースデータをPostGISに読み込む方法を教えてください。
オンラインで見つけたソリューションでは、ArcGISを使用してGDBをSHPに変換し、SHPをPostGISにインポートする方法について説明しました。
Esriアプリをインストールせずに、ジオデータベースデータをPostGISに読み込む方法を教えてください。
オンラインで見つけたソリューションでは、ArcGISを使用してGDBをSHPに変換し、SHPをPostGISにインポートする方法について説明しました。
回答:
私は常にクライアントのためにそれを行います。
データをFileGDBまたはShapefilesにダンプしてから、次のコマンドを実行します。
ESRIシェープファイルの場合:
ogr2ogr -f "PostgreSQL" PG: "dbname = mydbname user = postgres" myshapefile.shp
FileGDBの場合:
ogr2ogr -f "PostgreSQL" PG: "dbname = mydbname user = postgres" myFileGDB.gdb
FileGDBの場合、FileGDBドライバーがインストールされていることを確認する必要があります。あなたはそれをします:
ogrinfo-フォーマット
FileGDBがどこかに表示され、インストールされていることがわかります。
ogr2ogr -f "PostgreSQL" PG:"dbname=mydbname user=postgres" SanDiegoData.gdb -sql "GetLayerDefinition Parcels"
そのDB内のフィールドにESRIのXMLメタデータをダンプします
私はこれを試していないので、動作を確認できませんが、ファイルジオデータベースAPIを使用すると、ファイルジオデータベースから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プラグイン、およびオープンファイルジオデータベースAPIの1.3を構築する必要もありました。
私ができなかったことは、esriソフトウェアを使用せずに古い9.xファイルジオデータベースを移行することです(ATMでは利用できません)-過去を取得することはできません...
HRESULT = -2147220965、errorText = "GeoDatabaseのこのリリースは無効であるか、古くなっています。"
... 10.x "gdb"のみをサポートするオープンAPIで9.x "gdb"を開こうとするとき。
私はまだ試していませんが、「Spatial Data Integrator」と呼ばれるオープンソースのgeoETLソフトウェアを使用するこのチュートリアル(シェープファイル-> PostGIS)に出会いました。Esri GDBをサポートしているかどうかはわかりませんが、この製品を使用して、ESRI製品を使用せずにGDBからPostGISに同様の変換を行うことができるかどうかを確認する価値があるかもしれません。
私が聞いた他のETLパッケージは、Safe Sofware($、非常に人気)とGeoKettle(オープンソース)のFME、およびSpatial ETLウィキペディアのページにある多くのリファレンスです。
編集:さらに掘り下げてみると、SDIはEsriGDBの読み取りを直接サポートしていないように見えますが、利用可能なOGRファイル形式を読み取ることができます。
FWIWの仕事は、GDBをpostgisローダーに作成することです。これは、GDBバインディングを持つ最新のGDALトランクに依存します。コンパイルして自分で試してみる機会はありませんでしたが、PostGIS 2.0がリリースされる前に願っています。
チェックアウト-http://trac.osgeo.org/postgis/browser/spike/pramsey/postgis2fgdb
おそらくPaulがPostGISニュースグループで話題になり、彼がこれに携わっている場所を知ることができます。 http://www.postgis.org/mailman/listinfo/postgis-users
Personal GeoDatabase形式の場合、GDALはその罰金を読み取ることができます。これは通常、個人のgeodbからデータをエクスポートするために使用するものです。
しばらく前にここに投稿した自分の質問に答えます...
(上記の提案に加えて)私がオンラインで見つけたもう1つのオプションは、pgdbf(https://github.com/kstrauser/pgdbf)を使用することです。これは、postgresに手動で取り込むために使用できるSQLスクリプトをダンプします。