ArcGIS Desktop连接PostgreSQL说明及PostGIS两种空间数据存储的比较

        本文先介绍了arcgis 10.x连接postgresql数据库的通用规则,然后对在postgresql中创建sde进行说明,最后对postgresql+postgis存储空间数据的两种方式进行比较,说明他们各自的特点。

1、arcgis 10.x可以连接postgresql/postgis数据库,对版本没有明确的限制;

(1)Arcgis desktop连接postgis,对desktop和postgis版本没有明确要求,只因desktop是32位,故需要从32位版本的 postgresql中拷贝 几个文件(一般直接下载32bit的 binary文件,下载地址https://www.enterprisedb.com/download-postgresql-binaries):

libeay32.dll、libintl.dll、libpq.dll 和 ssleay32.dll (也有说以下5个文件的:libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll 和 ssleay32.dll)到arcgis desktop安装目录bin下面(ArcGIS\Desktop10.3);

(2)通过arcgis dedktop连接postgis,创建sde并实现对数据的入库、编辑等,对arcgis desktop及postgis有版本要求,需保持两者版本的协调性,如10.3:

 

连接的详细信息,可参考 https://www.cnblogs.com/esrichina/p/4389109.html

此时需要把\ArcGIS\Desktop10.3\DatabaseSupport\PostgreSQL 路径下对应版本的 st_geometry.dll 和 libst_raster_pg.dll拷贝到 pg安装目录下!

 

2、若需要通过arcgis toolbox中的 创建企业级数据库 在postgis中创建企业级地理数据库,对arcgis 及 postgis的版本有明确的要求,详细参考 desktop.arcgis.com/zh-cn/arcmap/10.3/manage-data/gdbs-in-postgresql/overview-geodatabases-postgresql.htm

 

3、postgis对空间数据的存储,分为两种:

一是postgis默认的存储,可通过自带工具实现数据的入库;

二是通过arcgis创建企业级地理数据库,这种方式是arcsde的方式,可使用arcgis desktop进行数据管理。

两种方式区别:

第一种方式,支持所有桌面软件(包括arcgis desktop)及geoserver的连接,可作为通用数据源;

通过arcgis desktop连接加载数据,速度相对慢一些(需要计算数据范围),且发布arcgis server服务过程中,出现错误突然崩掉~

第二种方式,只支持arcgis desktop的连接,geoserver中连接需要额外的插件,不支持qgis、udig等。

此种方式,postgresql+postgis相当于一个基础数据库,空间库的存储及管理依赖arcgis 的空间数据引擎arcsde,可通过arcgis desktop进行数据的入库、编辑等,但已不支持postgis的空间函数~

具体用哪种方式对数据进行存储和管理,需要根据具体需求确定,我目前更多使用postgis默认的存储方式。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章