当创作地图以发布为要素服务时,您需要考虑要素服务的目的以及要素服务数据的存储位置,因为这会影响到创建、管理和使用要素服务的方式。
本主题将介绍如何创作发布到独立或联合 ArcGIS GIS Server 站点的要素服务以及如何使要素服务参考注册到 GIS Server 站点的地理数据库或数据库中的数据。
在创作地图之前,请准备数据以满足要素服务要求并使用 GIS Server 站点注册您的数据存储。当数据准备好后,请创建并配置地图使其包含您要发布的数据,定义符号系统和地图内的其他数据属性,以及为编辑环境定义要素模板(如果您希望要素服务可编辑)。
配置地图
准备并注册数据后,将其添加到 ArcMap 文档,并设置图层和表的属性。 这些属性定义数据的显示方式和可对数据进行处理的客户端。
在 ArcMap 中配置地图文档
定义完数据后,将其添加至想要发布的 ArcMap 地图文档,并设置图层和表的属性。这些属性定义数据的显示方式和可对数据进行处理的客户端。
对于数据库和地理数据库数据,地图文档的配置相似。但是,如果地图文档包含地理数据库数据,可在发布之前配置地图以利用仅在地理数据库中可用的额外功能。
设置图层名称
将要素类或表添加到地图时,默认名称为数据库内表的完全限定称。您至少应该更改图层名称,使其不包括数据库名称和用户名。右键单击内容列表中的每个图层,然后单击属性。在常规选项卡中输入可表示图层内容的有帮助的名称,且不包括数据库名称和用户名。
例如,如果将名为 mygdb 的企业级地理数据库中的要素类 rivers 添加到地图中,且要素类为用户 gdbdata 所有,则地图中默认的图层名称为 mygdb.gdbdata.rivers。将图层名称更改为 rivers。
如果您在图层上设置了定义查询,用来更改地图中所显示的要素,则可以进一步更改图层名称。例如,如果将定义查询设置为仅显示距离矿山 5 英里以内的河流,则更改图层名称以反应该设置很有用;例如,将图层名称设置为 rivers near mines。如果要素类参与关系类,且相关数据会因此包含在您所发布的服务中,则可以更改图层名称来反应这一变化。例如,如果河流要素类参与关系类,且该关系类将其连接到包含分水岭信息的表中,则可以将图层名称更改为 rivers and watersheds。
定义符号系统
要素服务可用于查询要素及获取要素的符号系统。客户端可以使用此信息通过与服务中定义的内容一致的符号系统来绘制要素。
服务所返回的符号完全基于 ArcMap 文档中所设置的图层符号系统。每个图层中的每个符号都被称为类型。例如,用简单渲染器(一个符号)符号化后的图层具有一个类型。如果使用唯一值渲染器,则会为渲染器中的每个唯一值返回一个类型。
要素服务支持简单、唯一值、分类间隔以及制图表达等渲染器。如果使用不受支持的渲染器,服务不会启动。使用 ArcGIS Server 日志以确定哪些图层具有不受支持的渲染器。
大多数符号类型都可用于要素服务;但是,某些情况下,符号会自动降级。
线图层支持简单线符号。如果使用其他符号,则要素服务会将其转换为可最好地表示原始符号的简单线符号。例如,地图文档中的制图线符号可以在要素服务客户端中绘制为简单实线。如果线符号比较复杂或包含多个图层,则要素服务会将线降级,尽可能以最好的方式表示原始线符号。
面图层支持简单填充符号和图片填充符号。如果使用其他符号,要素服务会将它们自动降级为简单填充符号。对于多图层填充符号,要素服务会只考虑顶部图层。而且,填充符号的轮廓符号具有与上面所述的线图层相同的支持级别。
点图层支持简单标记符号和图片标记符号。如果使用其他符号,要素服务会将它们降级为图片标记符号。多图层标记符号也会降级为图片标记符号,其中的图层会合并到单个图层中。不支持掩膜属性(即,可在其中设置标记符号的晕圈)。
启动带要素访问的地图服务时,根据需要检查符号并对其进行降级。如果需要降级,则会在服务器日志中加入相关警告信息以描述降级了哪些符号。
另外还需注意:如果地图文档中存在使用制图表达渲染器的图层,则当客户端通过 REST 访问服务时,渲染器会报告为唯一值渲染器。
定义要素模板
使用地图文档中的要素模板可实现通过要素服务插入新要素。模板可用于数字化新要素,并具有相应的属性默认值设置。要素服务需要每个要素类型都具有模板。启动编辑会话或发布服务时,将为每个类型创建一个默认模板。
默认模板始终可用于数据库数据。您可以创建用于地理数据库数据的自定义模板。有关详细信息,请参阅自定义要素模板部分。
设置比例范围
默认情况下,要素服务仅显示 1,000 个要素。在所发布的地图中为要素图层设置比例范围,这样图层便不会以大于最大要素数的比例进行显示。
要为要素图层设置比例范围,右键单击 ArcMap 内容列表中的图层,然后单击属性。设置图层属性对话框的常规选项卡上的比例范围。
字段属性
ArcMap 中设置的字段属性通过要素服务显示;其中包括字段别名、字段可见性和字段的只读属性。只读字段包括系统管理的字段(如 ObjectID 和 globalid)、编辑者追踪字段(仅限地理数据库)以及地图文档中设置为只读的字段。
应用更新时,如果为只读字段设置了值,则要素服务将忽略该值。应用插入时,将对只读字段和不可见字段应用默认值。如果未定义默认值,将会应用空值。如果字段不能存储空值,则插入将失败。
图层描述和版权信息
地图文档中指定的图层描述和制作者名单(版权)将在要素服务中作为图层描述和版权信息针对每个图层分别进行显示。
HTML 弹出窗口
要素服务支持在 ArcMap 中配置的 HTML 弹出窗口。HTML 弹出窗口是共享有关要素的 HTML 格式信息的有效而简单的方式。除了能够以自定义的 HTML 格式显示信息,这些工具的工作方式与“识别”工具非常相似。有关如何在 ArcMap 中设置 HTML 弹出窗口的详细信息,请参阅为要素图层设置 HTML 弹出窗口属性。
如果要在 Web 上使用要素服务并使弹出窗口可用,可以考虑在Map Viewer中对其进行定义。或者,开发人员可以使用客户端 API 本身来定义弹出窗口的样式。
时间支持
要素服务支持时态数据 - 表示某个时间点状态的数据。将时间信息存储在单个或多个属性字段中,并且在特定时间或以时间间隔使用该信息显示数据。要通过要素服务来显示图层的时态数据,在图层属性对话框的时间选项卡中启用时间。有关如何在图层上启用时间的详细信息,请参阅对数据启用时间。
坐标系
发布为要素服务的地图文档可以包含具有不同坐标系的图层。客户端访问要素服务时,要素服务会根据需要转换坐标系。例如,如果客户端使用与图层坐标系不同的坐标系通过要素服务插入要素,要素服务在存储新要素之前会将其转换,以符合图层的坐标系。涉及几何的空间查询在应用前也会转换为图层的坐标系,以返回正确的结果。
要素服务也会根据需要使用地理(基准面)变换。例如,如果图层存储在 NAD27 中并且通过服务插入了坐标系为 WGS 1984 的要素,则在存储要素前会执行 WGS 1984 到 NAD27 的基准面变换。在发布前设置地图文档的数据框属性中的变换,可以控制变换方法。如果未在地图中定义变换,将执行默认变换。
连接数据
可以为地图文档中的图层或表定义属性连接。发布具有要素访问功能(访问 GIS Server 站点)的地图服务时,地图服务会包含连接列,但要素服务不会包含连接列。要素服务仅包含连接表(在其中定义了连接的表或要素类)中的列。如果图层的符号系统是基于连接列的,地图服务会包含用于符号化要素的渲染器,但要素服务会恢复为简单渲染器。如果图层中的渲染器基于连接中最左边的要素类,则地图服务器和要素服务器包含该渲染器。
不能将连接数据发布到 ArcGIS Enterprise 门户或 ArcGIS Online 上。向这两个应用程序发布要素服务(托管要素图层)之前,应删除连接。
附加地理数据库功能
如果数据存储在地理数据库中,则可利用某些附加功能。请在发布要素服务前配置此功能。
定义子类型和属性域
如果发布的数据位于地理数据库中,则在适当情况下可配置数据集以使用子类型和属性域,从而增强要素服务的用户体验并防止数据输入错误。属性域和子类型可用于对数据进行分类,并确保编辑数据时自动输入合适的值。要素服务可以检测并使用子类型和属性域。例如,如果有一个属性域将消火栓颜色限制为红色、黄色或蓝色,则 Web 应用程序会显示一个下拉列表,并只允许从这三种颜色中选择一个。
自定义要素模板
在 ArcMap 中,可以创建模板或修改现有模板以通过要素服务自定义编辑体验。这包括设置用于创建该要素类型的默认构造工具。如果删除特定要素类型的模板,则将在发布服务时创建一个默认模板。
根据模板要创建的要素类型,可使用几种不同类型的构造工具。例如,如果拥有线模板,则只能选择用于创建线要素的工具。随模板保存的构造工具可通过要素服务获取。唯一的例外是被称为线末端的点的点工具,要素服务不支持该工具。有关模板的详细信息,请参阅设置要素模板属性。
保存地图文档时,模板会随地图中的图层一同保存。发布地图文档时,这些模板可供要素服务客户端使用。在地图文档中定义了图层、类型和模板后,即可准备发布服务。
附件
要素服务可用于对附件进行查询和编辑。附件是与地理数据库中的要素或对象关联的介质文件。例如,通过附件可将照片和视频添加到观鸟要素类中,然后单击观察点进行查看。要使用此要素,地理数据库中的数据集必须首先配置为支持附件。将这些数据集添加到地图文档并发布后,客户端可以通过要素服务查询、插入和删除附件。
可附加到要素服务的附件的大小和类型均有限制。有关这些限制以及附件设置修改方法的详细信息,请参阅 ArcGIS REST API 帮助中的上传主题。
有关如何配置数据集以支持附件的详细信息,请参阅启用附件。
ArcMap 工作流示例:观鸟要素服务
以下部分将演示一个示例,向您展示如何设置地图文档、如何定义数据以及如何定义通过观鸟要素服务显示的符号系统。要素服务允许观鸟社区成员将观鸟活动直接提交到地图上并将照片、音频文件和视频文件等介质文件附加到特定观赏点。
定义数据
创作要素服务的第一步是定义通过服务可用的数据。在本例中,首先要处理的是地理数据库中称为 Bird_Sightings 的要素类。要使附件与此要素类关联,必须在 ArcCatalog 中或在 ArcMap 的目录窗口中添加附件。为此,首先连接到数据库,然后右键单击该要素类,最后选择管理 > 创建附件。这样便会创建一个表,其中将存储附件和将要素类与附件表关联的关系类。有关如何将附件添加到要素类的详细信息,请参阅启用附件。
定义符号系统
设置数据后,下一步是向 ArcMap 中添加数据并定义符号系统。要素服务所返回的符号完全基于 ArcMap 文档中所设置的图层符号系统。每个图层中的每个符号都被称为类型。在本例中,默认情况下,Bird_Sightings 图层通过简单渲染器(一个符号)进行符号化。
但在这种情况下,您可能想要基于观察类型而将观鸟图层符号化。为此,可使用唯一渲染器。要更改渲染图层的方式,可以右键单击该图层并选择属性。在图层属性对话框上,单击符号系统选项卡并且在类别下选择唯一值。然后可选择要使用的字段以对图层进行符号化。本例有三种特有的观赏类型(观鸟、观巢和观赏珍稀鸟);因此服务将返回三种类型(每种观赏类型一种)。
选择完渲染器后,接下来要选择将表示每种观赏类型的符号。在本例中,在 Esri 符号选择器中选择鸟类符号。将每种观赏类型的前景和背景设置为不同的颜色,以便在要素服务中轻松地加以区分。发布地图文档时,这些符号将转换为 PNG 图形返回到客户端。
设置完符号系统后,下一步是定义可通过要素服务使用的编辑环境。
定义编辑环境
此要素服务的目标是允许鸟类爱好者向地图中输入观鸟信息和全部相关信息。使用地图文档中的要素模板可实现通过要素服务进行编辑。如果未创建模板,则发布服务时会为每种类型创建一个默认模板。不过,您还可以创建模板或修改现有模板以自定义编辑体验。
在本例中,您想要为此要素服务创建模板。为此,右键单击要素类并选择编辑要素,然后选择组织要素模板。在图层下,选择该图层并单击新建模板。将弹出模板向导,可在其中创建模板。选择为所有不同的观鸟类型创建模板。创建模板后,可通过复制模板来创建其他模板。
在本要素服务中,您想要为珍稀鸟类观赏类型添加一个附加模板。珍稀鸟类是区域中的非时令鸟类或濒危鸟类。要创建模板的副本,请选择要复制的模板并单击复制。在本例中,创建了珍稀鸟类观赏模板的副本,这样一来就可以自定义每个模板以表示两种类型的珍稀鸟类观赏。要自定义模板,可在组织要素模板窗口中双击它。这将打开模板属性,可在其中编辑模板名称及默认字段值。
濒危珍稀鸟类观赏的模板将观赏类型设置为珍稀鸟类观赏,将描述设置为濒危。非时令珍稀鸟类观赏的模板将观赏类型设置为珍稀鸟类观赏,将描述设置为非时令。
其余的属性还可以设置为每个模板中相应的默认值。在本例中,濒危珍稀鸟类观赏需要追踪调查,因此追踪属性可默认设置为是。非时令珍稀鸟类观赏不需要追踪,因此可将追踪属性设置为否。
在模板中将某些属性设置为默认值可简化最终用户的编辑环境,因为他们只需选择要素类型并对其进行数字化。在地图文档中定义了图层、类型和模板后,即可准备发布服务。发布后,最终用户可通过 Web 客户端或 ArcGIS Desktop 访问该服务进行查询和编辑。
有关详细信息,请参阅通过 ArcMap 发布要素服务。
其他示例教程
如果需要有关如何设置和使用要素服务的详细指导,下列教程将提供分步示例,向您展示如何设置地图文档、定义数据以及如何定义通过要素服务提供的符号系统以执行 Web 编辑。根据您的数据存储于企业级地理数据库还是数据库,这些教程将有所不同。
企业级地理数据库
如果您的数据存储于企业级地理数据库,请遵循企业级地理数据库教程:
数据库
如果您的数据存储于数据库,请遵循数据库教程: