本文共 1675 字,大约阅读时间需要 5 分钟。
作者:Neshoir
作为一枚Giser,应该没有人不会不知道PostGIS吧!众所周知PostGIS是一个主流的开源空间数据库引擎,基于开源数据库PostgreSQL的空间扩展插件。PostGIS提供了丰富的空间数据存储模型、矢量和栅格数据的处理能力、空间分析函数、GIST索引、空间坐标系等特性,具有完善的生态圈。很多开源产品如GeoServer、QGIS均使用了PostGIS,一些商业GIS软件如ArcMap、SuperMap iDesktop均有对接PostGIS,能够使用PostGIS作为空间数据的存储引擎,也支持基于它做一些空间分析。本文将重点介绍如果在多个GIS平台软件里共同使用同一个PostGIS库。
创建名称为sde的角色。
-- 创建名称的sde的角色,赋予创建数据库权限,设置密码。CREATE ROLE sde WITH CREATEDB LOGIN PASSWORD 'qaz!123';
创建名称为testdb的数据库。
-- 创建一个数据库,拥有者为sde。CREATE DATABASE testdb OWNER sde TABLESPACE pg_default ENCODING 'UTF8';
连接上testdb数据库,创建插件和schema。
-- 创建postgis插件,在postgis 3以下版本,postgis插件包括了矢量和栅格模块,3.+版本把栅格模块独立出来了。CREATE EXTENSION postgis;-- 创建名称为sde的schemaCREATE SCHEMA sde
注意: 角色和schema的名称为sde,这是必须的,否则无法在ArcMap中无法将空间数据入库到PostGIS中。
ArcMap新建PostGIS库链接。
ArcMap开启并开启"地理数据库功能",以便能支持标注等类型。(ArcMap扩展类型,PostGIS本身不支持)。在PostGIS数据库链接上鼠标右键,点击"开启地理数据库",弹窗后,选择认证文件进行开启。
iDesktop打开china.udb数据源,将china_r面数据集复制到PostGIS中。
ArcMap链接的数据库刷新,即可。
ArcMap中复制gdb下的数据集到PostGIS中。在gdb中选择一个面数据集鼠标右键"复制",然后在PostGIS数据库鼠标右键"粘贴",这时会弹窗参数设置,注意类型选择PG_GEOMETRY。
iDesktop中数据库链接刷新,即可。
转载地址:http://xipxi.baihongyu.com/