Python GDAL:ogr.openまたはdriver.open?


10

私はGDALとPythonを使用してシェープファイルを操作しています。ソースファイルを開くとき、必要なシェープファイルを使用してドライバーの「Open」メソッドを呼び出す前に、まずドライバーを「ESRIシェープファイル」に設定しました。

私はこれで問題はありませんでした。ただし、Driverインスタンスのメソッド「Open」とogr関数「Open」の違いは何なのか気になります。たとえば、次の違いは何ですか。

driver = ogr.GetDriverByName("ESRI Shapefile")
source = driver.Open(“O:\myshp.shp”,0)

そして

source = ogr.Open(“O:\myshp.shp”,0)

どちらを使用するかという特定のシナリオはありますか?


フォローアップの質問:それはdriver = gdal.GetDriverByNameうまくいくように見え、うまくいきますgdal.Openが、driver.Openしません。ラスターファイルに相当するものはありませんか?GDALとOGRはもともと別の人が開発したものですが、これらのAPIの不整合とドキュメントの完全な欠如は本当に痛い...
Adam Stewart

回答:


11

ドライバーを指定すると、OGRは指定されたドライバーでのみファイルを開こうとします。

指定しない場合、OGRはすべてのドライバーでファイルを開こうとします。ファイルを開くことができるドライバが見つかるまで、すべてのドライバをループします。それらが開こうとする順序は、ogrinfo --formatsにリストされている順序と同じです。

この質問も参照してください:OGRに入力形式に特定のドライバーを使用させる

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.