目录
1、数据源类型
2、 ArcGIS 中支持的DBMS数据类型
3、 兼容版本
4、 数据源加载
4.1 在目录界面管理数据源
4.2 添加数据库连接
4.3 连接数据库
4.4 管理非地理数据库
5、 企业级数据管理策略
5.1 介绍
5.2 非版本化数据管理
5.3 版本化数据管理
6、 数据源管理
6.1 程序集
6.2 接口调用说明
6.2.1 异步调用
6.2.2 资源释放
6.3 工程管理API
6.3.1 接口
6.3.2 属性和方法
6.4 数据源加载API
6.4.1 API介绍
6.4.2 代码示例
6.4.3 效果
7、 数据导入导出
7.1 介绍
1、数据源类型
Pro支持文件地理数据库和企业级地理数据库。
企业级数据库类型:
数据库连接界面
2、 ArcGIS 中支持的DBMS数据类型
ArcGIS 使用特定数据类型。通过数据库连接、查询图层或 web 服务访问数据库表时,ArcGIS 将过滤掉任何不受支持的数据类型。ArcGIS 不会显示不受支持的数据类型并且您无法通过 ArcGIS 编辑不受支持的数据类型。同样,使用 ArcGIS 将包含不受支持的数据类型的表从一个数据库复制和粘贴到另一个数据库时,ArcGIS 只粘贴使用受支持的数据类型的列。
具体请参考:http://pro.arcgis.com/zh-cn/pro-app/help/data/databases/dbms-data-types-supported.htm
3、 兼容版本
并非必须将地理数据库和 ArcGIS 客户端版本保持一致,下表指示 ArcGIS 客户端应用程序的版本可与地理数据库的哪些版本连接:
如果从 32 位 ArcGIS 客户端进行连接,则必须安装 32 位 Oracle 客户端。即便是将 ArcGIS 客户端应用程序安装到一台 64 位操作系统 (OS) 的计算机上,且数据库和服务器的 OS 均为 64 位,也是如此。如果从 64 位 ArcGIS 客户端进行连接,则必须安装 64 位 Oracle 客户端。如果从 64 位 ArcGIS 客户端进行连接,则安装 64 位 Oracle 客户端。
4、 数据源加载
ArcGIS Pro 能够连接到文件和企业级地理数据库。要访问企业级地理数据库或数据库中的数据,必须配置客户端应用程序以连接到该数据库。ArcGIS Pro 包含连接到 PostgreSQL 的客户端文件。连接到 PostgreSQL 数据库或 PostgreSQL 中的地理数据库时不需要 DBMS 客户端安装程序。
以Oracle数据库为示例。
4.1 在目录界面管理数据源
添加数据源
4.2 添加数据库连接
因为ArcGIS Pro是64位的客户端,所以Oracle客户端也必须是64位。
4.3 连接数据库
在目录界面可以对连接成功的数据库进行导入导出等管理操作。
4.4 管理非地理数据库
5、 企业级数据管理策略
5.1 介绍
企业级地理数据库支持两种数据管理策略:版本化数据管理和非版本化数据管理,这两种数据管理策略使得用户和应用程序对数据执行短期和长期事务时的工作流需求得到了平衡。非版本化方法用于管理短期事务的编辑,而版本化方法则适用于长期事务。
5.2 非版本化数据管理
在编辑会话中的首次编辑将使事务启动,而执行的各个编辑操作则均将作为单个事务提交至数据库。在 ArcGIS Pro 中编辑非版本化数据时,无须保存编辑所有事务就将自动提交至数据库。事务结束后,您所做出的全部更改将对访问数据的所有其他用户及应用程序可用。
非版本化数据管理的局限性包括以下内容:
- 只能编辑简单数据:点、线、面、注记和关系。不能编辑参与构建拓扑、网络数据集、公共设施网络或其他高级数据集的要素类。
- 由于是直接对数据源进行编辑,在误操作时,无法撤消或恢复单次编辑。
- 使用非版本化编辑时,不会检测冲突。如果一名用户更新要素并保存,随后另一用户更新同一要素并且也进行保存,则最后所做的更新会覆盖第一次更新。
- 在多用户编辑场景中,当一个用户编辑某一要素时,DBMS 会将该要素锁定,以防止其他编辑者同时编辑同一要素。
5.3 版本化数据管理
企业级地理数据库使用版本化来适应多用户编辑场景和长期事务的需要。地理数据库对标准 DBMS 事务模型进行了扩展,允许数据库同时存在多个并发状态(即版本)。这使得多个用户可同时对地理数据库中的同一数据进行编辑,而无需锁定或复制数据。
有两种可用的版本化类型,每种版本化均适用于特定的工作流和部署选项:
- 分支版本化
- 传统版本化
6、 数据源管理
6.1 程序集
Geodatabase API功能是在ArcGIS.Core.dll中找到的。Geodatabase API通常与地图探索、地图创作和编辑一起使用。
ArcGIS.Core.Data命名空间下包含数据获取相关的操作方法。关于数据结构的操作譬如创建表删除表修改表结构等需要通过GP工具进行操作。
6.2 接口调用说明
6.2.1 异步调用
几乎所有的方法都是在ArcGIS.Core中。正如在API参考中所述,应该在主CIM线程(MCT)上调用Data API。这些方法调用应该封装在QueuedTask中。运行调用。如果不这样做,就会导致构造上的错误。
6.2.2 资源释放
因为ArcGIS.Core.Data 的API使用非托管资源(即不由垃圾收集管理的资源),它们必须由应用程序显式地发布。非托管资源包括文件锁、数据库连接和网络连接等。
6.3 工程管理API
6.3.1 接口
ArcGIS.Desktop.Core命名空间下Project类主要负责对工程的管理和操作。
6.3.2 属性和方法
属性工程管理方法
编辑操作方法
6.4 数据源加载API
6.4.1 API介绍
打开Browse对话框,允许您选择一个或多个项目项、门户项目或来自本地或网络磁盘的项目。
6.4.2 代码示例
6.4.3 效果
添加地理数据库窗口添加进工程
7、 数据导入导出
7.1 介绍
数据导入导出提供了一系列的GP转换工具进行操作。
参考地址:
概念:https://github.com/esri/arcgis-pro-sdk/wiki/ProConcepts-Geodatabase
代码片段:https://github.com/esri/arcgis-pro-sdk/wiki/ProSnippets-Geodatabase