1.什么是企业级地理数据库
1.1.什么是地理数据库
在最基本的层面上,ArcGIS 地理数据库是存储在通用文件系统文件夹或多用户关系数据库管理系统(如 Oracle、Microsoft SQL Server、PostgreSQL、IBM Informix 或 IBM Db2)中的各种类型地理数据集的集合。地理数据库大小不一且拥有不同数量的用户,可以小到只是基于文件构建的小型单用户数据库,也可以大到成为可由许多用户访问的大型工作组、部门及企业级地理数据库。
但地理数据库不只是数据集的集合;术语“地理数据库”在 ArcGIS 中有多个含义:
地理数据库是 ArcGIS 的原生数据结构,并且是用于编辑和数据管理的主要数据格式。当 ArcGIS 使用多个地理信息系统 (GIS) 文件格式的地理信息时,会使用地理数据库功能。
它是地理信息的物理存储,主要使用数据库管理系统或文件系统。通过 ArcGIS 或通过使用结构化查询语言 (SQL) 的数据库管理系统,可以访问和使用数据集集合的此物理实例。
地理数据库具有全面的信息模型,用于表示和管理地理信息。此全面信息模型以一系列用于保存要素类、栅格数据集和属性的表的方式来实现。此外,高级 GIS 数据对象添加了以下内容:GIS 行为;用于管理空间完整性的规则以及用于处理核心要素、栅格数据和属性的大量空间关系的工具。
地理数据库软件逻辑提供了 ArcGIS 中使用的通用应用程序逻辑,用于访问和处理各种文件中以及各种格式的所有地理数据。
地理数据库具有一个管理 GIS 数据工作流的事务模型。
1.2.地理数据库类型
地理数据库有三种类型:
1、文件地理数据库 - 在文件系统中以文件夹形式存储。 每个数据集都以文件形式保存,文件大小可扩展至 1 TB。 建议使用文件地理数据库而不是个人地理数据库。GDB
2、个人地理数据库 - 所有的数据集都存储于 Microsoft Access 数据文件内,该数据文件的大小最大为 2 GB。MDB
3、企业级地理数据库 - 也称为多用户地理数据库,在大小和用户数量方面没有限制。 使用 Oracle、Microsoft SQL Server、IBM Db2、IBM Informix 或 PostgreSQL 存储于关系数据库中。SDE

比较三种类型的地理数据库

关键特征 企业级地理数据库 文件地理数据库 个人地理数据库
描述 在关系数据库中以表的形式保存的各种类型的 GIS 数据集的集合(在关系数据库中存储和管理 ArcGIS 时建议使用此原生数据格式。) 保存在文件系统文件夹中的多种类型的 GIS 数据集的集合。 (在文件系统文件夹中存储和管理 ArcGIS 的本地数据时推荐使用此格式。) 在 Microsoft Access 数据文件中存储和管理的 ArcGIS 地理数据库的原始数据格式。(此数据格式的大小有限制且仅适用于 Windows 操作系统。)
用户数 多用户:许多读取者和许多写入者 单个用户和较小的工作组:每个要素数据集、独立要素类或表有多位读取者或一位写入者。 任何特定文件的浮动版最终都会导致大量读取者的降级。 单个用户和较小的工作组(具有较小的数据集):多位读取者和一位写入者。 浮动版最终会导致大量读取者的降级。
存储格式 Oracle Microsoft SQL Server IBM Db2 IBM Informix PostgreSQL 每个数据集都是磁盘上的一个单独文件。 文件地理数据库是用来保存其数据集文件的文件夹。 每个个人地理数据库中的所有内容都保存在单个 Microsoft Access 文件 (.mdb) 中。
大小限制 取决于 DBMS 限制 每个数据集 1 TB。 每个文件地理数据库可保存很多数据集。 对于超大型影像数据集,可将 1 TB 限值提高到 256 TB。 每个要素类最多可将每个数据集扩展到数亿个矢量要素。 每个 Microsoft Access 数据库 2 GB。 性能下降前的有效限制通常介于每个 Microsoft Access 数据库文件 250 到 500 MB 之间。
版本管理支持 在所有 DBMS 上完全支持。包括跨数据库复制、使用检出和检入进行更新以及历史存档。 对于使用检出和检入提交更新的客户端和可使用单向复制向其发送更新的客户端,仅支持作为地理数据库。 对于使用检出和检入提交更新的客户端和可使用单向复制向其发送更新的客户端,仅支持作为地理数据库。
平台 Windows、UNIX、Linux 和与 DBMS 的直接连接,这些 DBMS 可能在用户本地网络中的任意平台上运行。 跨平台。 仅限 Windows。
安全和权限 由 DBMS 提供 操作文件系统安全性。 Windows 文件系统安全性。
数据库管理工具 备份、恢复、复制、SQL 支持、安全性等的完整 DBMS 功能 文件系统管理。 Windows 文件系统管理。

2.为什么要使用企业级地理数据库
2.1.优势
如果需要一种多位用户可同时编辑和使用的大型多用户地理数据库,则企业级地理数据库可提供一种极佳的解决方案。 新增的功能可用于管理共享式多用户地理数据库和支持多种基于版本的关键性 GIS 工作流。 从而使利用贵组织企业关系数据库的能力成为企业级地理数据库的一项重要优势。
企业级地理数据库适用于多种 DBMS 存储模型(Oracle、Microsoft SQL Server、PostgreSQL、IBM Db2 和 IBM Informix)。 企业级地理数据库使用范围广泛,主要适用于个人、工作组、部门和企业环境。 他们充分利用基础 DBMS 架构来支持以下内容:
超大型连续 GIS 数据库
许多并发用户
长事务和版本化工作流
关系数据库支持对 GIS 的数据管理(提供关系数据库的优势,以实现可扩展性、可靠性、安全性、备份、完整性,等等)
所有受支持 DBMS(Oracle、Microsoft SQL Server、PostgreSQL、IBM Db2 和 IBM Informix)中的空间 SQL 类型
可满足大量用户使用的高性能
通过许多大型地理数据库的安装启用,我们发现在将 GIS 数据所需的大型二进制对象移入和移出表格时 DBMS 的效率极高。 此外,与基于文件的 GIS 数据集相比,GIS 数据库的容量更大且支持的用户数量也更多。
2.2.兼容性
1、Oracle
标准版/标准版(一)/企业版:
Oracle 11g R2(64 位)11.2.0.4
标准版 2 (SE2)/企业版 (EE):
Oracle 12c R1(64 位)12.1.0.2
Oracle 12c R2(64 位)12.2.0.1
Oracle 18c(64 位)18.3.0.0、18.4.0.0
Oracle 19c(64 位)19.3.0.0
2、Postgresql
ArcGIS 10.8 和 ArcGIS Pro 2.5
ArcGIS 10.8 和 ArcGIS Pro 2.5 支持以下 PostgreSQL 和 PostGIS 版本组合:
PostgreSQL 9.6.15(64 位)
PostGIS 2.3
PostgreSQL 10.12(64 位)
PostGIS 3.0.1
PostgreSQL 11.7(64 位)
PostGIS 3.0.1

ArcGIS 10.8.1 和 ArcGIS Pro 2.6
ArcGIS 10.8.1 和 ArcGIS Pro 2.6 支持以下 PostgreSQL 版本和 PostGIS 3.0.1:
PostgreSQL 9.6.17(64 位)
PostgreSQL 10.12(64 位)
PostgreSQL 11.7(64 位)
PostgreSQL 12.2(64 位)

GeoScene2.0及以上(国产化GIS平台)
PostgreSQL 10.12(64 位)
PostgreSQL 11.7(64 位)
PostgreSQL 12.10(64 位)
3.如何创建企业级地理数据库
3.1.需要是 PostgreSQL 和地理数据库管理员
1、需要具备数据库管理员和地理数据库管理员的角色,并知道这两个登录角色的密码。
2、在数据库集群中创建 sde 登录角色并授予其超级用户身份。sde 用户必须是超级用户才能创建地理数据库。
3.2.安装并配置 PostgreSQL
1、在windows环境或者linux环境上安装对应版本的数据库。
针对arcgis10.5版本的,安装pg9.5。
针对geoscene系列,或者arcgis10.8及以上,安装pg11+,其中geoscene系列,目前均使用pg12的版本。
2、更改 pg_hba.conf 文件以允许数据库集群接受远程连接。
3、放置st_geometry文件
(1)windows -- st_geometry.dll
必须将 st_geometry.dll 文件放在 PostgreSQL lib 目录下,然后才能创建地理数据库。
PostgreSQL 版本 ArcGIS 客户端安装目录
PostgreSQL 9.6.x DatabaseSupport\PostgreSQL\9.6\Windows64
PostgreSQL 10.x DatabaseSupport\PostgreSQL\10\Windows64
PostgreSQL 11.x DatabaseSupport\PostgreSQL\11\Windows64
PostgreSQL 12.X(仅适用于 10.8.1 和 ArcGIS Pro 2.6) DatabaseSupport\PostgreSQL\12\Windows64
(2)linux-- st_geometry.so
必须将 st_geometry.so 文件放在 PostgreSQL lib 目录下,然后才能创建地理数据库。
**注:使用pg9.6的时候,将对应版本的st_geometry.so文件放在lib里面没有生效,将其放在lib上面一层,反而成功了。
img
img
PostgreSQL 版本 ArcGIS 客户端安装目录
PostgreSQL 9.6.x DatabaseSupport/PostgreSQL/9.6/Linux64
PostgreSQL 10.x DatabaseSupport/PostgreSQL/10/Linux64
PostgreSQL 11.x DatabaseSupport/PostgreSQL/11/Linux64
PostgreSQL 12.X(仅适用于 10.8.1 和 ArcGIS Pro 2.6) DatabaseSupport/PostgreSQL/12/Linux64
3.3.ArcMap或者GeoScene等桌面软件
(1)打开桌面软件,打开创建企业级地理数据库工具。——位于“数据管理”工具箱的“地理数据库管理”工具集中
(2)参数输入
img
(3)授权文件,请浏览到在授权 ArcGIS Server Enterprise 时创建的密钥代码文件,并选择该文件。
将此文件写入 Windows 服务器的 \Program Files\ESRI\License\sysgen 文件夹
或者
Linux/arcgis/server/framework/runtime/.wine/drive_c/Program Files
/ESRI/License/sysgen 中。将此文件复制到客户端(可通过该客户端创建地理数据库)的访问位置。