ArcGIS连接Postgres 数据库

1 引言

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

  • 便于数据的传输与共享

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

  • 便于数据的处理

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

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

image

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

系统环境: windows 10

软件环境:

  • ArcGIS 10.4.1
  • Postgres 9.4

2 步骤

2.1 安装相关软件环境

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

2.2 将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

2.3 ArcGIS 中创建地理数据库

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

image

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

image

2.4 连接新的空间数据库

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

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

image

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

3 常见问题

3.1 创建要素失败

postgresql中创建要素类提示

 Database user name and current user schema do not match

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

4 参考文章

  1. arcgis10.1连接postgres总结 http://blog.sina.com.cn/s/blog_54b09dc90101f3vm.html
posted @ 2021-06-12 21:46  smileGIS  阅读(2038)  评论(0编辑  收藏  举报