Python GDAL:ogr.open或driver.open?


10

我一直在使用GDAL和python来操纵shapefile。打开源文件时,我先将驱动程序设置为“ ESRI Shapefile”,然后使用所需的shapefile调用驱动程序的“ Open”方法。

我对此没有任何问题;但是我很好奇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

Answers:


11

如果指定了驱动程序,则OGR将仅尝试使用指定的驱动程序打开文件。

如果未指定,则OGR会尝试使用所有驱动程序打开文件。它将遍历所有驱动程序,直到找到可以打开文件的驱动程序为止。它尝试打开它们的顺序与ogrinfo --formats中列出的顺序相同。

另请参见以下问题:强制OGR将特定的驱动程序用于输入格式

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.