GDAL集成FileGDB
GDAL对GDB的支持
FileGDB,即ESRI File Geodatabase,是ESRI的一种存储空间数据的格式,GDAL对FileGDB的支持主要通过两种驱动实现,一种是OpenFileGDB,另一种是FileGDB。
两种驱动的区别在于,驱动OpenFileGDB只支持对FileGDB文件的读操作,不支持写操作,而驱动FileGDB是由ESRI公司提供,既可以读文件,也支持写。
下载驱动
ESRI提供的FileGDB驱动程序程序有两个地址,其中一个是ESRI网站提供的地址,其中包含了:
- File Geodatabase API 1.2
- File Geodatabase API 1.3
- File Geodatabase API 1.4
另外的一个地址在GitHub上,包含了: - FileGDB API 1.4
- FileGDB API 1.5
- FileGDB API 1.5.1
以插件的方式集成
可以以插件(plugin)的方式将FileGDB驱动集成到GDAL中:
- 先在注释掉FGDB块(nmake.opt)的情况编译GDAL;
- 之后,编辑nmake.opt;
FGDB_ENABLE = YES
FGDB_PLUGIN = YES
FGDB_SDK = D:\opensource\ESRI\FileGDB_API_1_5_1-VS2017
FGDB_INC = $(FGDB_SDK)\include
FGDB_LIB = $(FGDB_SDK)\lib64\FileGDBAPI.lib
- 进入到
ogr/ogrsf_frmts/filegdb
目录中; - 执行以下命令;
nmake /f makefile.vc plugin
nmake /f makefile.vc plugin-install
在目录中会产生文件ogr_FileGDB.dll
;
5. 同时还需要FileGDBAPI.dll
;
6. 在系统中增加环境变量GDAL_DRIVER_PATH
环境变量;
测试
查看ogr支持的格式
C:\Users\Administrator>ogrinfo --formats
Supported Formats:
FileGDB -vector- (rw+): ESRI FileGDB
PCIDSK -raster,vector- (rw+v): PCIDSK Database File
PDS4 -raster,vector- (rw+vs): NASA Planetary Data System 4
VICAR -raster,vector- (rw+v): MIPL VICAR file
PDF -raster,vector- (w+): Geospatial PDF
MBTiles -raster,vector- (rw+v): MBTiles
EEDA -vector- (ro): Earth Engine