发布时,要素服务包含了添加到地图的图层和表格。 您需要配置数据以满足要素服务的要求。
无论数据源是地理数据库还是数据库,某些数据定义要求是通用的。 接下来的部分会介绍通用要求。 在其他情况下,定义数据的方法取决于数据是位于地理数据库还是数据库中。 企业级或工作组级地理数据库特定要求和数据库特定要求部分中会介绍这些区别。
如果要离线使用要素服务,则需要其他数据准备。 有关这些要求的详细信息,请参阅 ArcGIS Pro 帮助中的准备数据以用于离线要素服务。
注:
路径事件和 x,y 事件之类的虚拟图层在要素服务中是只读的。
数据库和地理数据库通用要求
无论数据源存储在数据库、工作组级地理数据库还是企业级地理数据库,以下要求均适用:
- 发布到要素服务的数据必须来自单个源地理数据库或数据库。 无法在单个地图中发布来自多个数据库连接中的数据。
- 必须为数据定义有效的空间参考。 如未定义,则于发布前在 ArcGIS Pro 中进行指定。 如果未定义空间参考,则不能发布数据。
- 您无法使用 ArcGIS 客户端编辑视图;因此,您不能发布包含基于视图的图层的可编辑要素服务。
- 与注册到 GIS Server 站点的数据库连接文件存储在一起的数据库帐户必须具有访问数据所需的权限。 如果要素服务将保持只读,则帐户只需选择数据的访问权限。 如果要使用要素服务进行编辑,必须授予对数据的编辑权限。 如果注册到站点的数据库连接使用操作系统身份验证,则必须向 ArcGIS Server 帐户授予这些权限。
- Esri 建议在发布为可编辑要素服务的地图中仅包含要编辑的数据。 将底图图层等不想编辑的数据发布为另一服务。 还可以使用 ArcGIS Online 底图。 有关设计地图以叠加在线地图和服务的详细信息,请参阅设计地图以叠加 ArcGIS Online、Google Maps 或 Bing Maps。
- 如果其他人员会将要素服务添加至 ArcGIS Pro 并对其进行编辑,则不要为发布为要素服务的地图的相同要素类定义多个图层。 例如,如果您想要为同一要素类提供不同的符号系统或应用不同的定义查询,请单独创建要素服务;不要使得同一要素服务的同一要素类中包含不同配置的表达。
- 如果数据包含 z 值,而编辑者需要在编辑要素几何时不支持添加 z 值的客户端(例如 ArcGIS Online 和 ArcGIS Enterprise 门户中的 Map Viewer)上编辑要素服务,请配置要素服务以插入默认 z 值。
- 如果数据包含 m 值,而编辑者需要在编辑要素几何时不支持添加 m 值的客户端(例如 ArcGIS Online 和 ArcGIS Enterprise 门户中的 Map Viewer)上编辑要素服务,请配置要素服务以针对 m 值插入 NaN。
提示:
ArcGIS Pro 支持对含有 m 值和 z 值的要素进行所有编辑操作(插入、删除和更新,包括几何更新)。 如果编辑者仅在这些客户端中编辑要素服务,则您不需要配置默认 z 值和 NaN m 值。
企业级或工作组级地理数据库特定要求
此处列出的要素服务要求特定于企业级或工作组级地理数据库中存储的数据。 您的数据必须满足以上部分所述要求,同时也需要满足本部分所述要求。
- 可以发布未在地理数据库中注册的表或要素类。
- 如果允许对要素服务进行编辑,并且要素服务包含参与几何网络的要素类,则要素类数据必须与编辑客户端应用程序处于相同的投影和坐标参考系中。 例如,如果计划将要素服务添加到 Map Viewer 经典版 进行编辑,则数据必须存储在 WGS 1984 Web 墨卡托 (Auxiliary Sphere) 中。 在发布之前,不能只改变在 ArcGIS Pro 地图中的投影;数据必须使用与编辑客户端相同的投影和坐标参考系。
- 要素服务中支持版本化(传统和分支)和非版本化地理数据库数据。 分支版本化数据必须发布后才能进行编辑。
- 要编辑分支版本化数据,您必须在引用注册数据的 ArcGIS Pro 中发布要素图层。 有关详细信息,请参阅 ArcGIS Pro 帮助中的共享分支版本化数据。
- 如果地图中存在下列任意一种图层,则不支持通过 ArcGIS Pro 发布引用注册数据的要素图层:
- 未升级的尺寸
- 图层组
- 包括虚拟列、where 子句或连接的查询图层
- 栅格
- Terrain
- 通过 ArcGIS Pro 发布引用注册数据的要素图层时,您可以在地图中包括注记图层。
- 在 ArcGIS Pro 中创建的宗地结构必须作为要素服务发布,才能进行编辑。
- 可以发布属于复杂类型(如几何网络和网络数据集)的图层,但是要素服务不会返回类型本身。 例如,您可以查询参与网络数据集的图层,但无法查询网络。
- 您可以在要素服务中包括包含分支版本化要素类的拓扑。 因为您只能通过要素服务编辑分支版本化数据,所以您可在要素服务中包括拓扑以便在编辑后验证拓扑,并纠正由编辑引起的任何拓扑错误。 有关详细信息,请参阅 ArcGIS Pro 帮助中的共享拓扑。
- 仅当关系是通过地理数据库关系类定义时,要素服务才允许对相关数据进行查询。 如果发布的地图文档具有通过地理数据库关系类相关联的图层和表,要素服务允许对图层进行查询以返回关联表中的对象。 要支持返回关联对象的查询,关系类中涉及的表和图层必须包含在发布的地图文档中。 如果原始或目标图层或表未包含在地图文档中,则要素服务将忽略该关系。
注:
对于属性关系类,需要在地图文档中包含关系类表。
- 要维护公共设施网络,您必须通过 ArcGIS Pro 将其发布为要素图层。 有关详细信息,请参阅 ArcGIS Pro 帮助中的通过公共设施网络发布和使用服务。
要将 ArcGIS Survey123 与引用注册企业级数据存储中数据的要素服务一起使用,您必须对数据运行 ArcGIS Pro 中的升级附件地理处理工具。 借助升级附件,Survey123 可以将人们通过调查提交的图像与特定调查问题相关联。 如果您不升级现有附件,则图像仍会与调查一起存储,但不会与特定调查问题相关联。
警告:
运行升级附件工具后,ArcGIS Desktop、ArcGIS Pro 2.6 和更早版本以及 ArcGIS Enterprise 10.8.1 和更早版本将无法再访问附件数据。 如果您决定需要移除附件以允许这些客户端访问数据,请运行降级附件地理处理工具。
准备地理数据库数据以供离线使用
要离线使用地图(换言之,不连接到组织网络),需在地图所使用的要素服务中启用同步功能。 在发布引用地理数据库中数据且启用同步的要素服务之前,您必须准备数据。 有关详细信息,请参阅准备数据以用于离线要素服务和准备供离线使用的要素服务。
数据库特定要求
下面将介绍数据库中所存储数据的特定要素服务数据要求。 您的数据除了满足地理数据库和数据库的通用要求外,还必须满足这些要求。
- 向 ArcGIS Pro 中的地图添加数据库数据时,将创建一个查询图层。 如果改变查询图层定义,请确保查询只包含一个表、没有重复列,且不包含连接、where 子句、虚拟列或合并列。
- 为表定义的查询图层将决定发布什么数据。 例如,含有 ArcGIS 不支持的数据类型的表可以进行发布,但不能通过 ArcGIS 或要素服务访问不受支持的数据类型。 有关向地图添加数据库表时如何初始化定义查询图层的相关信息,请参阅在 ArcGIS 中查看数据库数据。
- 表格必须包含由数据库维护的唯一整型列。 如果您使用 ArcGIS 创建表并将数据加载到数据库,则将自动添加一个数据库维护的唯一整型对象 ID。 如果表格数据是在 ArcGIS 外部创建的,则需要确保其中包含一个由数据库维护的唯一非空整型列。 如果不存在这种列,则不能发布要素服务。 您可以使用添加增量 ID 字段地理处理工具将数据库维护的整型列添加到工具“使用情况”部分中列出的数据库的表中。 如果位于其他数据库,则使用数据库管理系统工具或 SQL 来创建 ID 列。
- 您可以从中发布要素服务的受支持数据库平台包括 Dameng、Db2(Linux、UNIX 或 Windows 上)Oracle、PostgreSQL、SAP HANA、SQL Server、Teradata Vantage、受支持的基于云的数据库服务以及 Google BigQuery(只读)。