Saya telah menggunakan GDAL dengan python untuk memanipulasi shapefile. Saat membuka file sumber, saya pertama-tama mengatur driver ke "ESRI Shapefile" sebelum memanggil metode "Open" driver dengan shapefile yang diperlukan.
Saya tidak punya masalah dengan ini; namun saya ingin tahu apa perbedaan antara metode instance Driver "Open" dan fungsi ogr "Open". Misalnya, apa perbedaan antara:
driver = ogr.GetDriverByName("ESRI Shapefile")
source = driver.Open(“O:\myshp.shp”,0)
dan
source = ogr.Open(“O:\myshp.shp”,0)
Apakah ada skenario tertentu di mana Anda akan menggunakan salah satunya?
driver = gdal.GetDriverByName
bekerja, dangdal.Open
berfungsi, tetapidriver.Open
tidak. Apakah tidak ada padanan untuk file raster? Saya tahu GDAL dan OGR pada awalnya dikembangkan oleh orang yang berbeda, tetapi ketidakkonsistenan API ini dan kurangnya dokumentasi sangat menyakitkan ...Jawaban:
Jika Anda menentukan driver, OGR hanya akan mencoba untuk membuka file Anda dengan driver yang ditentukan.
Jika Anda tidak menentukannya, OGR akan mencoba membuka file Anda dengan semua driver. Ini akan mengulang semua driver hingga menemukan driver yang dapat membuka file Anda. Perintah yang mencoba membukanya adalah urutan yang sama seperti yang tercantum dalam ogrinfo --formats.
Lihat juga pertanyaan ini: Paksa OGR untuk menggunakan driver spesifik untuk format input
sumber