我花了大约两天时间来找到在QGIS(或任何其他开源软件)中打开GDB(Esri地理数据库)的方法,但仍然没有成功。
我已经下载了最新的OSGeo4W安装程序,并尝试了安装程序-快速桌面安装-所有软件包以及高级安装incl gdal-filegdb。
您能否描述更详细的过程,包括安装以及如何在QGIS中打开.gdb(OSGeo4W安装)?
我花了大约两天时间来找到在QGIS(或任何其他开源软件)中打开GDB(Esri地理数据库)的方法,但仍然没有成功。
我已经下载了最新的OSGeo4W安装程序,并尝试了安装程序-快速桌面安装-所有软件包以及高级安装incl gdal-filegdb。
您能否描述更详细的过程,包括安装以及如何在QGIS中打开.gdb(OSGeo4W安装)?
Answers:
2017年12月更新
现在,您只需将.gdb文件(目录)拖放到QGIS中即可。这是对文件地理数据库的只读访问权限。如果您需要写访问权限,请进一步阅读。
2015年7月更新
现在是时候让这个答案更具最新性了,因为QGIS中FileGDB支持的某些元素已经改变。我现在正在运行QGIS 2.10.0-比萨。它是使用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位运行。
选择高级安装,然后从Internet安装。选择您的根和本地软件包目录,然后选择您的连接类型,在本例中为“直接连接”。单击下一步后,它将显示一个带有多个折叠菜单的屏幕。
展开“桌面”菜单。查找“ qgis:Quantum GIS(桌面)”的条目。在“新建”列中,将条目从“跳过”更改为显示版本2.10.0-1。
展开“库”菜单。找到“ gdal-filegdb:OGR FileGDB驱动程序”的条目。在“新建”列中,将条目从“跳过”更改为显示版本1.11.2-1。
单击“下一步”后,它将安装QGIS和所有关联的库。完成此操作后,打开Quantum GIS,然后选择“添加矢量数据”。将选项更改为“目录”。在上面选择驱动程序的位置,如上所示。
浏览到文件地理数据库并选择目录。点击“打开”
选择一个矢量层,然后按“确定”。请注意,FileGDB API 不支持栅格图像。
如您所见,将加载选定的图层。使用Esri驱动程序,可以进行编辑。如果您使用Open FileGDB驱动程序,则数据为只读。
供您参考,这是我安装的QGIS中的“关于”窗口,其中显示了软件的版本以及所使用的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,但它支持<= 10.0的FileGDB,这是一个很大的好处,并且具有“自定义预测”。
如果您使用的是Mac,则可以按照以下说明从头开始编译filegdb驱动程序。
更新:距此答案已有2年了,您可能现在想尝试一下:https : //github.com/OSGeo/homebrew-osgeo4mac另外,正如现在许多人所言,您可以使用不使用OpenFileGDB驱动程序。 ESRI二进制文件可完成此任务。请注意,这是一个对规范的工作方式进行了逆向工程的项目,而不是ESRI认可的项目(仍然很高兴有替代方法,它代表了惊人的工作)。
下载并运行OSGEO4W安装程序(建议使用32位版本)
使用“桌面安装”选项运行一次,以安装QGIS(以及所需的任何其他桌面程序)。
完成所有这些之后,从“开始”菜单再次运行OSGEO4W安装程序,选择“高级安装”,然后继续进行选择软件包的安装程序部分。向下滚动到“ gdal-filegdb”软件包,然后在此屏幕快照中单击显示“保持”的位置:
它说“保持”,因为我已经安装了软件包,您将要单击它,直到其中的文本与它左侧的“当前”数字匹配为止。
3个月前,我遇到了一个相关的问题/问题(请参阅:win-version中的qgis 2.8.1 arcgis filegdb不完整列表)
几天前,我已经从2.8.x切换到2.10.1-Pisa,希望摆脱我的问题中所述的文件地理数据库问题。不幸的是没有成功。
从那时起,我想出的是:自定义坐标系似乎仍然存在问题!我在不同PC上使用用arcgis 10.1创建的filegdb和在另一个pc上使用arcgis 10.3创建的filegdb的测试显示,尝试打开仅包含具有自定义CRS要素类的filegdb会返回以下错误:
“ 无效数据源:D:\ xxxx \ yyy \ zzzz.gdb不是有效或公认的数据源 “
...两个驱动程序(FileGDB驱动程序,OpenFileGDB驱动程序)都返回相同的错误!
同时可以使FileGDB SDK支持自定义坐标系吗?文章和此处的某些评论/回答指出,已实现了通过OpenFileGDB的自定义CRC支持-在我的系统上不起作用(gdal-filegdb:OGR FileGDB驱动程序1.11.2-1)
如果filegdb包含任何表-仅这些表显示在“选择要添加的矢量层”列表中,并将自定义CRC和非自定义数据与如下所示混合
arccatalog:
qgis 2.10:
我的个人结论:始终使用标准CRC!!!