关于ArcGIS和PostGIS
这篇文章打算通过讲讲ArcGIS和PostGIS的关系,来深化一下空间类型的概念。
在机器上安装PostgreSQL数据库,创建用户sde,数据库test,架构名sde。然后在ArcMap中连接,发现是可以连上的。
然后新建一个要素类会提示如下错误。
错误原因也很清晰,就是这个数据库中没有空间类型,而创建要素类是指定了空间字段的,所以无法创建。
这时可以安装PostGIS插件,然后执行create extension postgis;
这样该库就有了一个空间类型postgis,就可以成功创建要素类了,不过我们发现这个要素类没法编辑,
这是因为ArcMap识别到该库没有创建Geodatabase模型,所以无法开启编辑。
这个时候就需要执行 create enterprise geodatabase工具来创建Geodatabase模型,
完成创建后,该库就有了两种空间类型,一种是ArcGIS的st_geometry,一种是PostGIS的geometry。
而ArcGIS是可以兼容PostGIS类型的,
所以创建要素类执行到以下步骤的时候,可以选择使用哪种类型,default就是st_geometry,pg_geometry是postgis。
这个选择决定了该要素类的空间字段是什么类型,可以对比如下的区别。
当我们复制粘贴数据到SDE的时候,也可以重新选择空间类型,
所以到了这里,就可以理解,空间类型,就是决定空间字段的类型。
那么类似几何网络这样的高级模型,涉及到空间字段的时候,也可以自己选择类型,但整个模型的成功运行,还是需要依赖Geodatabase模型中的对象。