ArcGIS连接Postgres 数据库

ArcGIS连接Postgres 数据库

此前在使用ArcGIS的过程中,一般使用文件方式对数据进行管理,后面也有使用 GeoDatabase 数据库对数据进行管理,但是这种管理方式也存在一些弊端,特别是在数据传输与共享方面,非常的不方便。 ArcGIS Spatial Database Engine(SDE)是一种空间数据引擎,通过这个中间件能够使得传统的DBMS数据库能够存储和管理空间数据。这种空间数据库的管理主要有如下优势:

  • 便于数据的传输与共享

    只要是在同一个局域网内的用户,通过对空间数据库的连接,便可以对数据进行查看、编辑,实现了数据共享

  • 便于数据的处理

    ArcGIS SDE 的这个空间扩展提供了很多的空间查询与分析的空间函数,可以使用SQL语句对数据库中的数据进行查询、处理、

    分析,大大提高了工作效率

ArcGIS连接Postgres 数据库

常用的主流数据库如 Oracle , SQL server ,Postgres SQL 均可以通过SDE和ArcGIS建立联系,实现对空间数据的储存和管理,这里以Postgres数据库为例。

系统环境: windows 10

软件环境:

  • ArcGIS 10.4.1
  • Postgres 9.4

步骤

安装相关软件环境

这里的ArcGIS 和Postgres版本必须要对应,例如,我的ArcGIS 10.4版本就只能支持Postgres 9.2-9.4版本

ST_Geometry.dll拷贝到相应的数据库位置

这里ST_Geometry.dll文件位于一般位于ArcGIS Desktop\Server 的安装目录下面

C:\Program Files (x86)\ArcGIS\Desktop10.1\DatabaseSupport\PostgreSQL\Windows64

数据库的位置这里是指Postgres的安装目录

D:\Program Files\PostgreSQL\9.4\lib

ArcGIS 中创建地理数据库

工具:【Data Management Tools】->【GeoDatabase Administration】->【Create Enterprise GeoDatabase】

ArcGIS连接Postgres 数据库

创建好数据库后,即可在数据库中查看,可以看到数据库中多了一个 sde的数据库,这个就是刚刚新创建的空间

ArcGIS连接Postgres 数据库

连接新的空间数据库

创建完空间数据库后,还需要在ArcGIS中对空间数据进行连接,才能对空间数据库进行查看、编辑

连接数据库主要是在ArcGIS Catalog中进行 ,具体地址为:【Database Connections】->【Add Database Connections】

ArcGIS连接Postgres 数据库

点击OK,即可完成连接,连接完成后,便可像处理文件夹或者本地的GeoDatabase数据库那样对数据进行处理。

常见问题

创建要素失败

postgresql中创建要素类提示

 Database user name and current user schema do not match

解决方式: 用户使用的是postgres用户来连接SDE,这样可以连接但是创建不了要素类,必须使用sde

参考文章

  1. http://blog.sina.com.cn/s/blog_54b09dc90101f3vm.html
上一篇:【Laravel3.0.0源码阅读分析】Postgres连接类


下一篇:postgres/greenplum unnest(Array) 实现列转行