ESRI File Geodatabase导入PostGIS
目录
今天尝试将ESRI的GDB文件导入PostGIS,记录下过程。
运行环境
Win10 64bit+PostgreSql 9.5.1+PostGIS 2.2.1
安装GDAL和GDB驱动
主要思路是使用GDAL中的ogr2ogr读取GDB并导入PostGIS。
为了避免编译GDAL的麻烦,一开始按照《PostGIS in Action》第二版4.3节中的介绍,在Windows平台下使用FWTools,但是没有导入成功。安装FWTools后,使用ogrinfo命令后显示支持的格式不包括GDB。
查看FWTools官网后发现已经停止维护,改用OSGeo4W。下载并运行OSGeo4W安装程序,先选择Express Destop安装
由于这里只需要GDAL,所以只勾选了GDAL选项
点击下一步开始下载,由于网络问题可能会下载失败,可以重新运行安装程序会继续下载。
需要注意的是:GDAL的默认安装并不包括GDB驱动(参考),因此需要再次运行OSGeo4W安装程序选择Advanced安装模式,在libs中将GDB驱动勾选并下载安装
安装好后运行OSGeo4W Shell,输入
ogrinfo --formats
可以看到已经提供了对GDB的支持
将GDB导入PostGIS中
事先在PostGIS中新建了一个名为nyc的地理数据库,参考这个使用如下命令将D:/Data/JCData.gdb中的所有数据导入到nyc数据库中。
ogr2ogr -f "PostgreSQL" PG:"host=localhost port=5432 user=postgres password=XXX dbname=nyc" D:/Data/JCData.gdb -overwrite -progress --config PG_USE_COPY YES
- -overwrite 表示会覆盖已经存在的记录
- -progress 表示显示进度
- –config PG_USE_COPY YES 将极大改善导入速度
备注
GDAL中较新的版本GDB驱动已经可以支持9.X版本的ArcGIS创建的GDB文件读取了,但是依然有一些缺点
- GDB中的数据只能读取
- 不能使用空间索引
- 不能读取压缩格式的数据
转载自:https://blog.csdn.net/lrspace/article/details/51116476