目录
1、数据类型
1.1介绍
1.2KML
1.2.1 介绍
1.2.2 KML图层
1.3查询图层
1.3.1 介绍
1.3.2 创建查询图层
2、打开数据库
2.1 介绍
2.2使用OpenItemDialog连接数据库
2.3使用ItemFactory连接数据库
2.4使用GeoDatabase类打开数据库
3、要素类结构编辑
4、要素编辑
4.1编辑介绍
4.2要素创建与删除
4.3图层可编辑性控制
4.4编辑回话
4.5 Pro编辑会话API
4.5.1 会话API
4.5.2 会话事件API
4.5.3 示例代码
5、GP工具使用
5.1 地理处理(GP)
5.2 GP工具
5.3 GP环境
5.4 自定义模型或者Python脚本工具
5.5 地理处理工具调用API
5.6 示例代码
1、数据类型
1.1介绍
常用的数据类型有:注记要素类、点线面要素类、CAD、表等,这里介绍下不太常用的KML、查询图层。
1.2KML
1.2.1 介绍
KML(之前称之为 Keyhole 标记语言)是一种基于 XML 的文件格式,用于显示地理环境中的信息。KML 信息可在多种基于 Earth 的浏览器中进行绘制,包括 ArcGIS Earth 和 ArcGIS Pro。KML 版本 2.2 已被采纳为开放地理空间联盟 (OGC) 标准。
可访问 http://www.opengeospatial.org/standards/kml/,查找完整的 KML 规范。
1.2.2 KML图层
可以将KML数据添加到地图或场景。KML 图层与ArcGIS Pro中的任何其他图层类似,但是具备的功能有限。它们引用 .kml 或 .kmz(压缩)文件,或将指向 KML 文件的 URL 引用为数据源。由于单个 KML 文件可同时包含 2D(叠加)和 3D 要素,因此 KML 图层包含于它们自己的场景中的KML 图层类别中。
1.3查询图层
1.3.1 介绍
查询图层是由 SQL 查询定义的图层或独立表。通过查询图层可将空间信息和非空间信息都存储在数据库中,从而使这些信息可以轻松地整合到 ArcGIS Pro 内的各个 GIS 项目中。由于查询图层将通过 SQL 对数据库表和视图进行直接查询,所以查询图层所使用的空间信息不需要位于地理数据库中。
查询图层和任何其他要素图层或独立表一样,所以这些图层可用于作为地理处理工具的输入来显示数据,或使用开发人员 API 通过编程方式进行访问。
1.3.2 创建查询图层
使用地图选项卡上的添加数据按钮来创建查询图层。必须首先创建与数据库的连接,之后才能创建查询图层。
查询图层功能
在SCOTT的EMP表定义查询并加载到内容表。
结果预览
2、打开数据库
2.1 介绍
获取数据库对象的方法有两类,一类是通过Project的Item获取,一类是通过连接字符串实例化数据库对象。
数据库对象模型:
一个工程是一个Project对象,管理工程下面所有的资源(Item),各种类型的Item都是IProjectItem的实现类,GDBProjectItem表示工程中地理数据库对象。
GDBProjectItem :
2.2使用OpenItemDialog连接数据库
参考
2.3使用ItemFactory连接数据库
除了使用Pro API自带的OpenItemDialog类去加载数据源之外,还可以使用ItemFactory类的Create方法加载数据库到工程中。
代码
结果预览
2.4使用GeoDatabase类打开数据库
非地理数据库构造函数
地理数据库构造函数
代码示例
3、要素类结构编辑
修改要素类或者表的结构需要调用GP工具,Pro不提供修改的API。
ArcGIS提供的DEMO中有示例:
4、要素编辑
4.1编辑介绍
编辑地理数据是在地图上创建、修改或删除图层上要素和相关数据的过程。每个图层都连接至用于定义和存储要素的数据源;通常为地理数据库要素类或要素服务。
4.2要素创建与删除
FeatureClass类提供创建和删除接口,不作赘述。
4.3图层可编辑性控制
在内容窗格中,对于需要防止发生不必要编辑的图层,您可以在应用程序级别禁用其编辑功能。
4.4编辑会话
ArcGIS Pro 会在您修改现有数据或创建新数据时自动启动编辑会话。保存或放弃编辑内容会自动停止编辑会话。任何后续编辑操作都会恢复编辑会话,直到您再次保存或放弃编辑内容。
未提供用于启动或停止编辑会话的按钮。您可以编辑任何被授予查看和编辑权限的数据源。在内容 窗格中,对于需要防止发生不必要编辑的图层,您可以在应用程序级别禁用其编辑功能。
注意:与ArcMap不同,ArcPro没有编辑工具条,也提供用于启动或停止编辑会话的按钮。
Pro编辑选项卡
ArcMap编辑工具条
解释:
ArcMap一次编辑会话里面可以包含很多编辑,ArcMap在一个编辑会话中提供保存编辑的按钮保存当前的所有编辑而不会自动停止编辑会话。保存过的编辑从UNDO堆中移除,不能再撤销。
在ArcGIS Pro中没有开启编辑会话的功能按钮,会话随着创建或修改工具的使用而自动开启,随着保存编辑和放弃编辑内容而自动关闭。
4.5 Pro编辑会话API
4.5.1 会话API
4.5.2 会话事件API
EditCompletingEventArgs在编辑完成前触发:
EditCompletedEventArgs在编辑完成后触发:
4.5.3 示例代码
5、GP工具使用
5.1 地理处理(GP)
地理处理是用于处理地理数据和相关数据的框架和工具集。典型地理处理工具在数据集(例如要素类、栅格或表)上执行操作,并创建结果输出数据集。
GP工具参考地址:
http://pro.arcgis.com/zh-cn/pro-app/tool-reference/main/arcgis-pro-tool-reference.htm
5.2 GP工具
5.3 GP环境
除整套工具之外,地理处理还提供一个强大的框架,可支持对处理环境的控制。
地理处理环境设置是一些能够影响地理处理工具的附加设置。这些设置为确保在控制环境下执行地理处理提供了强有力的手段,您可以在控制环境中决定将处理限制到特定地理区域的处理范围、所有输出地理数据集的坐标系或输出栅格数据集的像元大小等。
5.4 自定义模型或者Python脚本工具
Pro提供自定义模型或者Python脚本工具来进行地理处理。
脚本工具:
http://pro.arcgis.com/zh-cn/pro-app/arcpy/geoprocessing_and_python/a-quick-tour-of-creating-script-tools.htm
5.5 地理处理工具调用API
5.6 示例代码
参考地址:
Pro帮助:http://pro.arcgis.com/zh-cn/pro-app/help/main/welcome-to-the-arcgis-pro-app-help.htm
Pro API:http://pro.arcgis.com/en/pro-app/sdk/api-reference/#topic1.html
Pro 社区示例:https://github.com/esri/arcgis-pro-sdk-community-samples