在 Standard 或 Advanced 许可等级下可用。
可以使用创建空间类型地理处理工具或 Python 脚本将 ST_Geometry 类型、子类型和函数添加到 PostgreSQL 数据库。
创建空间类型工具可执行以下操作:
- 在 PostgreSQL 数据库集群中创建 sde 登录角色
- 授予 sde 用户超级用户权限(创建 ST_Geometry 类型后可撤销这些权限)
- 在安装 ST_Geometry 类型的数据库中创建一个名为 sde 的方案
- 授予 sde 用户对 sde 方案的完全权限
- 授予公共登录组对 sde 方案的 USAGE 权限(如果需要,可撤销该权限,但必须为需要访问 ST_Geometry 类型、子类型或函数的所有用户授予对 sde 方案的 USAGE 权限。)
- 在 sde 方案中创建必需的函数、属性域、表(sde_coordinate_systems 和 sde_geometry_columns)和视图(st_geometry_columns 和 st_spatial_references),并在公共方案中创建 sde_spatial_references 表
在运行工具之前,您必须将 st_geometry 库复制到 PostgreSQL 服务器。
下列步骤对如何在 PostgreSQL 数据库中安装 ST_Geometry 类型进行了说明:
- 从位于 ArcGIS 客户端安装位置中的 DatabaseSupport 目录复制 st_geometry 库,并将其放置在 PostgreSQL lib 目录中。确保为将使用的 PostgreSQL 版本和操作系统复制了正确的 st_geometry 库。
- 根据安装 PostgreSQL 方式的不同,Linux 上 lib 目录的位置可能会有所不同。要确定 PostgreSQL 安装程序的正确位置,请以 postgres 用户身份执行 pg_config。针对 PKGLIBDIR 返回的值是需要放置 st_geometry 库的 lib 目录。以超级用户身份登录,从而将文件复制到 lib 位置。
- 如果 PostgreSQL 安装在 Windows 服务器上,则将 st_geometry.dll 文件放在 %PostgreSQL%\lib 目录中。
- 如果在 Windows 服务器上安装了 PostgreSQL,则必须在该服务器上安装 Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)。如果 PostgreSQL 服务器上没有该组件包,可从 Microsoft 站点下载后安装。
使用 ST_Geometry 类型时需要该组件包。
- 启动 ArcCatalog 或 ArcMap,然后打开目录窗口。
- 创建与 PostgreSQL 数据库的连接。以 postgres 用户身份登录。
- 打开创建空间类型工具。
可以使用搜索窗口搜索工具或者从数据管理工具箱的“工作空间”工具集中打开工具。
- 将在第 4 步中创建的数据库连接添加到输入数据库工作空间文本框中。
- 在 SDE 用户密码文本框中输入 sde 用户的密码。
- 将表空间名称文本框留空。
- 单击确定以运行工具。
ST_Geometry 类型、子类型和函数是在 sde 用户的方案中创建的。