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安装
OSGeo4W安装界面

由于这里只需要GDAL,所以只勾选了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

You may also like...