QGIS(または他のオープンソースソフトウェア)でGDB(Esriジオデータベース)を開く方法を見つけるのに2日ほど費やしましたが、まだ成功していません。
最新のOSGeo4Wインストーラーをダウンロードし、セットアップ-高速デスクトップインストール-すべてのパッケージ、およびgdal-filegdbを含む高度なインストールを試しました。
インストールやQGISでの.gdbの開き方(OSGeo4Wインストール)など、より詳細な手順を説明できますか?
QGIS(または他のオープンソースソフトウェア)でGDB(Esriジオデータベース)を開く方法を見つけるのに2日ほど費やしましたが、まだ成功していません。
最新のOSGeo4Wインストーラーをダウンロードし、セットアップ-高速デスクトップインストール-すべてのパッケージ、およびgdal-filegdbを含む高度なインストールを試しました。
インストールやQGISでの.gdbの開き方(OSGeo4Wインストール)など、より詳細な手順を説明できますか?
回答:
2017年12月に更新
これで、.gdbファイル(ディレクトリ)をQGISにドラッグアンドドロップできます。これは、ファイルジオデータベースへの読み取りアクセスのみです。書き込みアクセスが必要な場合は、さらにお読みください。
2015年7月更新
QGISのFileGDBサポートの一部の要素が変更されたため、この回答をもう少し最新のものにするときが来ました。現在、QGIS 2.10.0-Pisaを実行しています。OSGeo4Wインストーラーを使用してインストールされました。
変更されたのは、QGISの基本インストール時に、Open FileGDBドライバーを使用して、File GDBの読み取り専用アクセスがデフォルトで有効になることです。これに最初に留意した功績は、@ SaultDonに与えられなければなりません。
読み取り/書き込みアクセスは、OGR_FileGDBライブラリを介したFileGDBドライバーのインストールを使用して有効にできます。ライブラリは、QGISをインストールするとき、または個別に、以下のプロセスを使用して有効にする必要があります。ドライバーの詳細は以下のとおりです。
ベクターレイヤーを追加するときはSource Type
、使用するドライバーに基づいて選択するだけです。
ESRI FileGDBドライバー
FileGDBドライバーを開く
以下のプロセスは、OSGeo4WインストーラーからQGISをインストールし、OGR_FileGDBライブラリがインストールされていることを確認してから、ファイルジオデータベースからレイヤーをロードする手順を詳細に示しています。
OSGeo4Wからosgeo4w-setup-x86.exe
32ビットまたはosgeo42-setup-x86_64.exe
64ビット用にダウンロードして実行します。
[詳細インストール]、[インターネットからインストール]の順に選択します。ルートおよびローカルパッケージディレクトリを選択してから、接続タイプ(この場合は「直接接続」)を選択します。[次へ]をクリックすると、多数の折りたたまれたメニューが画面に表示されます。
[デスクトップ]メニューを展開します。「qgis:Quantum GIS(desktop)」のエントリを見つけます。[新規]列で、エントリを[スキップ]から変更して、バージョン2.10.0-1を表示します。
「Libs」メニューを展開します。「gdal-filegdb:OGR FileGDB Driver」のエントリを見つけます。[新規]列で、エントリを[スキップ]から変更して、バージョン1.11.2-1を表示します。
[次へ]をクリックすると、QGISと関連するすべてのライブラリがインストールされます。これが完了したら、Quantum GISを開き、[ベクターデータの追加]を選択します。オプションを「ディレクトリ」に変更します。上記のように、ここでドライバーを選択します。
ファイルジオデータベースを参照し、ディレクトリを選択します。「開く」をクリックします
ベクターレイヤーを選択して「OK」を押します。FileGDB API はラスターイメージをサポートしていないことに注意してください。
ご覧のとおり、選択したレイヤーが読み込まれます。Esriドライバーを使用して、編集が可能です。Open FileGDBドライバーを使用する場合、データは読み取り専用です。
参考までに、QGISのインストールからの「About」ウィンドウに、ソフトウェアのバージョンと使用されているGDAL / OGRライブラリが表示されています。
このインストールは、Windows 7 64ビットコンピューターで実行されました。以前のインストーラーでは、いくつかの矛盾した結果がありました。これは、32ビットまたは64ビットのインストーラーに切り替えると変更される場合があります。OSGEOでこのスレッドは、人々が経験していたいくつかの古い問題について説明します。スレッド
FileGDBAPI.dll
gdal-filegdb
パッケージの一部であり、に既にインストールされている必要があります%osgeo4w_root%\bin
。残念ながら、それだけでは私のシステムでは十分ではありません。
1.8
が現在のインストールバージョンであったときに書かれました。あなたが示したように、現在のバージョンは今まで2.2.0
です。ライブラリがインストールされていることを確認するプロセスと手順は同じですがQGIS
、gdal-fgdb
ライブラリとライブラリの両方で利用可能な最新バージョンを常に使用する必要があります。
QGISを実行し、GDAL 1.11.0に対してコンパイルしている場合、OpenFileGDBドライバーを介したネイティブFileGDBサポートがあります。
QGISでジオデータベースを開くには、「ベクターレイヤーの追加」、「ソースタイプ=ディレクトリ」を選択し、ソースは「OpenFileGDB」または「ESRI FileGDB」のいずれかである必要があります。次に、選択した* .gdbフォルダーを参照し、[開く]を押すと、レイヤーがコンテンツウィンドウにロードされます。
現在、FileGDBに書き込めないなどの制限がありますが、FileGDB <= 10.0をサポートしています。これは非常にボーナスであり、「カスタム予測」です。
Macを使用している場合は、これらの手順を使用してfilegdbドライバーを最初からコンパイルできます。
更新:この回答から2年が経ちましたが、今すぐ試してみてください:https : //github.com/OSGeo/homebrew-osgeo4macまた、多くの人が言うように、OpenFileGDBドライバーは使用しません。これを達成するためのESRIバイナリ。これは、仕様がどのように機能するかをリバースエンジニアリングしたプロジェクトであり、ESRIの認可ではないことに注意してください(代替案があることは素晴らしいことであり、素晴らしい仕事を表しています)。
OSGEO4Wセットアップをダウンロードして実行します(32ビットバージョンをお勧めします)
デスクトップインストールオプションを使用して1回実行し、QGIS(およびその他の必要なデスクトッププログラム)をインストールします。
すべて完了したら、[スタート]メニューからもう一度OSGEO4Wセットアップを実行し、[詳細インストール]を選択して、パッケージを選択するセットアップの部分に進みます。「gdal-filegdb」パッケージまでスクロールし、このスクリーンショットの「Keep」と表示されている場所をクリックします。
パッケージが既にインストールされているため、「Keep」と表示されます。左の「Current」番号に一致するテキストをクリックするまでクリックします。
約3か月前に関連する問題/質問がありました(win-versionのqgis 2.8.1 arcgis filegdb不完全リストを参照)
数日前、質問で説明したファイルジオデータベースの問題を取り除くことを望んで、2.8.xから2.10.1-Pisaに切り替えました。残念ながら成功しませんでした。
それ以来私が考え出したのは、カスタム座標系にまだ問題があるようです!別のPCでarcgis 10.1とarcgis 10.3を使用して作成されたfilegdbを使用したテストでは、カスタムCRSを含むフィーチャクラスのみを含むfilegdbを開こうとすると、次のエラーが返されます:
" Invalid Data Source:D:\ xxxx \ yyy \ zzzz.gdbは有効または認識されたデータソースではありません "
...両方のドライバー(FileGDBドライバー、OpenFileGDBドライバー)は同じエラーを返します!
しばらく缶FileGDB SDKは、カスタム座標系をサポートするために作られますか?ここの記事といくつかのコメント/回答は、OpenFileGDBを介したカスタムCRCサポートが実装されていると述べています-私のシステムでは動作しません(gdal-filegdb:OGR FileGDB Driver 1.11.2-1)
filegdbにテーブルが含まれている場合-これらのテーブルのみが「追加するベクターレイヤーの選択...」リストに表示され、カスタムCRCと非カスタムデータが次のように混合されます
アークカタログ:
qgis 2.10:
私の個人的な結論:常に標準CRCを使用してください!!!