教程:配置要素服务数据以供离线使用
在本主题中
通过基于 Web 的编辑可实现较多的用户来添加和改进数据。这些用户包括现场工作人员、公司其他部门的分析人员,甚至还可以包括范围广泛的志愿者,他们可通过易于操作的编辑界面提供有价值的数据。
在本教程中,您将了解如何设置要素服务数据,以便在离线处理地图时使用该数据。为此,需要设置虚拟企业级地理数据库,用于管理海边观鸟数据。
本教程演示如何执行下列操作:
- 使用数据库平台,如 PostgreSQL或 Oracle 设置企业级地理数据库。
- 制作一个地图文档(支持 Web 编辑功能)。其中包括设计符合要素服务的地图文档。在本教程中,该要素服务允许用户在企业级地理数据库中添加和编辑观鸟数据。
- 准备企业级地理数据库以发布到 ArcGIS Server。这包括设置支持要素服务同步功能的数据、连接到 ArcGIS Server 以及在服务器中注册您的数据库。
- 将地图文档发布为启用要素访问和同步功能的地图服务。这样做会创建一个要素服务端点,客户端应用程序可通过该端点在地图中离线编辑观鸟活动。
开始学习本教程前
如果刚安装 ArcGIS Server,在开始学习本教程前需要阅读下列内容:
设置企业级地理数据库
可使用企业级地理数据库中的数据发布要素服务。因为企业级地理数据库允许多个用户同时编辑,恰好符合本教程中的案例。企业级地理数据库支持多种数据库平台,如 PostgreSQL、SQL Server 和 Oracle。
考虑到本教程的目的,需要搭建一个空的企业级地理数据库来存储您所创建和编辑的要素。如果已安装受支持的数据库平台并设置了空的地理数据库,请继续下一部分。如果未安装或设置,则需要通过在计算机上安装相应的数据库平台来创建新的企业级地理数据库。实施此操作之前,确保操作系统以及 ArcGIS Server 和 ArcGIS for Desktop 的许可等级支持要安装的数据库平台。
下列主题介绍了各数据库平台的配置过程。此外,其中还包含辅助主题的链接,这些辅助主题介绍了如何创建新的企业级地理数据库以及如何正确配置该地理数据库以在组织中使用。安装了相应的数据库平台并创建了新的地理数据库之后,请继续本教程的下一部分。
创建新的数据库用户
创建空的企业级地理数据库之后,需要创建新的数据库用户来管理您所做的编辑。要执行此操作,需要以数据库管理员身份连接到地理数据库、创建新的数据库用户,然后以新用户身份重新连接到数据库。
连接到数据库并创建新用户
- 在 ArcCatalog 或 ArcMap 的目录窗口中,展开数据库连接文件夹 ,然后双击添加数据库连接 。
将打开数据库连接对话框。
- 在数据库平台下拉列表中,选择要连接到的数据库的类型。
- 输入正确的数据库属性和身份验证凭据以连接到数据库。如需帮助,请参阅 ArcGIS for Desktop 中的数据库连接,了解如何输入正确信息才能连接到数据库。
必须以数据库管理员的身份进行连接来创建用户。
- 单击确定。数据库连接显示在数据库连接节点 中。
- 右键单击新的数据库连接,选择管理 > 添加用户。这样做会启动创建数据库用户地理处理工具。
- 在创建数据库用户提供新的数据库用户名和数据库用户密码,例如,用户:editor,密码:tutorial。
- 单击确定。
随即在数据库中创建新用户,并对新用户授予创建表和要素类所需要的权限。
以新用户身份重新连接数据库
- 在 ArcCatalog 或 ArcMap 的目录窗口中,展开数据库连接 文件夹,然后双击添加数据库连接 。
- 在数据库连接对话框中,为在前一部分中创建的用户提供身份验证凭据。
- 单击确定。
现在,您将以新用户身份连接到数据库。
- 在数据库连接文件夹 ,删除您所建立的第一个数据库连接。这将有助于在本教程后面部分中指定数据库连接文件时避免混淆。
创作一个地图文档以支持要素服务和 Web 编辑
设置完企业级地理数据库后,可以开始创作地图文档以支持用于 Web 编辑的要素服务。
在本教程的这一部分中,您将实施以下操作:
- 创建一个属性域来保持数据完整性。
- 创建一个要素类来代表鸟类观赏。
- 创建要素附件来支持用户将外部介质添加到鸟类观赏。
- 定义图层渲染器和符号。
- 添加背景底图。
- 向地图添加鸟类观赏。
要开始此过程,请执行以下步骤。
创建属性域
要在编辑时强制保持数据完整性,需要配置属性域,从而将添加到数据库中的鸟类观赏限于一些特定鸟类。
- 启动 ArcMap,打开新的空地图文档,然后保存该地图文档。无需将该地图文档保存在对运行 ArcGIS Server 的帐户可见的位置。
- 在目录窗口中,展开数据库连接文件夹 。
- 右键单击数据库连接,然后选择属性 。
- 在数据库属性对话框中,单击属性域选项卡。
- 在属性域名称字段中,单击第一个单元格,然后输入 Type。
- 在属性域名称旁的描述列中,单击第一个单元格,然后输入 Bird Type。
- 在属性域属性部分中,单击字段类型旁边的单元格,然后选择长整型。
- 单击属性域类型旁边的单元格,然后选择编码值。
- 在编码值部分中,单击代码下的第一个单元格,然后输入 0。
- 在代码旁的描述列中,单击第一个单元格,然后输入 Alcid/Pelagic。
- 在下表中的编码值部分中输入其余的鸟类:
代码 描述 1
潜鸟
2
海鸥/燕鸥
3
猛禽
4
沙禽
5
涉禽
6
水禽
7
未知
- 单击确定。
创建要素类
在本教程的这一部分中,我们将创建一个点要素类,用于表示观鸟数据地理数据库中的各种鸟类。其中包括定义要素类的空间参考,以及为要素类表中的新字段指定属性域。要开始此过程,请执行以下步骤:
- 在目录 窗口中,右键单击数据库连接,然后选择新建 > 要素类。
- 在新建要素类对话框中,在名称字段中输入 shoreline_birdsightings。
- 从类型下拉列表中选择点要素。单击下一步。
- 在坐标系搜索框中输入 web mercator (auxiliary sphere),然后单击搜索 。
- 在结果列表中选择 WGS 1984 Web Mercator (auxiliary sphere)。该坐标系与 ArcGIS Online 所使用的坐标系相同,支持无缝叠加要素服务与 ArcGIS 底图服务。单击下一步。
- 在 XY 容差面板中接受默认值,然后单击下一步。
- 在配置关键字面板中接受默认值,然后单击下一步。
- 在字段属性面板的字段名称列中,单击 SHAPE 下方的单元格,然后输入 TYPE。
- 在数据类型列中,单击几何下方的单元格,然后选择长整型。
- 通过单击属性域右侧的单元格并选择类型来编辑字段属性。此操作指定字段仅接受本教程前面创建的 Type 属性域中定义的值。
- 在字段名称列中单击类型字段下方的像元,然后输入 COMMENTS。
- 将 COMMENTS 字段的数据类型指定为文本。
- 单击完成。
创建了要素类,并将其自动添加到内容列表。
创建要素附件
在本部分中,我们将向要素类添加要素附件。附件是一种媒体文件(如图像、PDF 或视频),可在进行创建或编辑时将其与要素关联。例如,用户向数据库添加海边观鸟数据时,可附加鸟类照片作为附加背景。单击要素时,将显示相应附件。
- 在目录窗口中,展开企业级地理数据库的连接。
- 右键单击 shoreline_birdsightings 要素类,然后选择管理 > 创建附件。
ArcMap 将添加一个新表以包含附加文件和关系类,以便管理要素与其附件之间的连接。
定义图层渲染器和符号
在本部分中,我们将为数据库中的各种鸟类定义图层渲染器和符号。要素的符号表示方式很重要,因为会使用地图文档中定义的符号在 Web 中显示要素。
- 在 ArcMap 内容列表中,单击按绘制顺序列出 。
- 右键单击 shoreline_birdsightings 要素类,然后单击属性 。
- 在图层属性对话框中,单击符号系统选项卡。
- 在显示对话框中单击类别 > 唯一值。此操作指定将为数据库中的所有要素使用唯一值渲染器。
- 在值字段下拉列表中选择类型。
- 单击添加所有值。向列表中添加各种鸟类。
- 取消选中 <其他所有值> 符号旁边的复选框。
- 双击 Alcid/Pelagic 鸟类旁边的符号。
- 在符号选择器对话框的搜索字段中输入 alcid,然后单击搜索 。
- 选择 Alcid/Pelagic Bird 符号,然后将其大小增加到 25。
- 单击确定。将符号应用于 Alcid/Pelagic 鸟类。
- 根据以下条件,使用符号搜索为其余的鸟类指定符号:
- 完成指定符号后,在图层属性对话框中单击确定。该符号在 ArcMap 内容列表中显示。
鸟类 | 搜索条件 | 符号 | 大小 |
---|---|---|---|
潜鸟 | 潜鸟 | 25 | |
海鸥/燕鸥 | 燕鸥 | 25 | |
猛禽 | 猛禽 | 25 | |
沙禽 | 沙禽 | 25 | |
涉禽 | 涉禽 | 25 | |
水禽 | 水禽 | 25 | |
未知 | 问号(从结果列表中选择 ESRI_Optimized 样式。) | 25 |
添加背景底图
对于背景,我们通过 ArcGIS Online 将底图添加到地图文档。
- 在 ArcMap 的主菜单中,单击文件 > 添加数据 > 添加底图。
- 选择浅灰色画布作为底图,然后单击添加。底图将被添加到地图显示。
- 放大感兴趣的区域(例如熟悉的海岸或海岸线),并保存地图文档。
向地图中添加要素
既然已正确符号化要素并添加了背景底图,即可设置适当的编辑环境,同时向地图中添加要素。
- 在 ArcMap 中,通过从主菜单中选择自定义 > 工具条 > 编辑器,显示编辑器工具条。
- 在编辑器工具条上,单击编辑器 > 选项。
- 在编辑选项 对话框中单击版本管理选项卡。
- 由于地理数据库中的数据是非版本化数据,请取消选中编辑数据库版本并且可以执行撤消和恢复操作。禁用此选项后可编辑非版本化数据。
- 单击确定。
- 在编辑器工具条中单击编辑器 > 开始编辑。根据地图文档中可编辑图层的符号,创建默认的要素编辑模板。可使用此要素模板在接下来的步骤中向地图中添加要素。
- 在编辑器工具条上,单击创建要素 。
- 在创建要素窗口中选择鸟类并将其添加到地图。
- 在编辑器工具条上,单击属性 。
- 在属性窗口中向已创建的要素添加评论和附件。可以在 Web 中搜索所选的鸟类图片,将其另存为图像,然后作为附件添加。
- 在内容列表中,右键单击 shoreline_birdsightings 要素类,然后选择打开属性表。
- 在表窗口中验证表中是否包含要素和评论。完成后关闭表。
- 重复 7 到 12 步,向地图中添加其他观鸟数据。
- 在编辑器工具条中,单击编辑器 > 停止编辑。提示保存您所做的编辑时,单击是。
- 保存地图文档。
准备企业级地理数据库以供发布
由于已创建并编辑了地图文档,即可准备要发布的数据。在本教程中,将使用非版本化数据。要准备数据,需要执行以下操作:
- 添加全局 ID
- 启用存档
- 从地图中移除底图图层。
- 连接到 ArcGIS Server
- 将您的数据库注册到服务器
添加全局 ID
需要将全局 ID 添加到您的数据以在客户端应用程序中本地使用要素服务。这样便可唯一地标识对数据库进行的编辑。
- 双击目录窗口中的地理数据库连接以查看其内容。
- 右键单击 shoreline_birdsightings 要素类,然后选择管理 > 添加全局 ID。
- 在确认添加全局 ID 对话框中,单击是。
启用存档
由于数据库中的数据为非版本化数据,因此需要启用存档,才能使客户端应用程序在本地使用要素服务。对数据进行的存档记录更改使得本地数据能够同步回要素服务。
要启用存档,右键单击 shoreline_birdsightings 要素类,然后选择管理 > 启用存档。
移除底图图层
- 在 ArcMap 内容列表中,右键单击底图,然后选择移除。
- 保存地图文档。
连接到 ArcGIS Server
- 在 ArcMap 的目录窗口中,展开 GIS 服务器节点。
- 双击添加 ArcGIS Server 。
- 选择发布 GIS 服务,然后单击下一步。
- 对于服务器 URL,输入要连接的 ArcGIS Server 站点的 URL。默认值为 http://gisserver.domain.com:6080/arcgis。如果您或服务器管理员安装了 ArcGIS Web Adaptor,URL 将根据 Web Adaptor 的配置不同而发生变化。有关其他 URL 示例,请参阅 ArcGIS URL 组成。
- 在服务器类型下拉列表中,确保选择了 ArcGIS Server。
- 考虑到本教程的目的,接受默认的过渡文件夹位置。
- 如果服务器管理员已为您的站点启用了安全功能,请提供用户名和密码。单击完成。
在 GIS 服务器节点中,创建了 ArcGIS Server 的发布者连接。
将您的数据库注册到 ArcGIS Server
由于地图文档引用了位于企业级地理数据库中的数据,需要将企业级地理数据库注册到 ArcGIS Server。注册会提供关于企业级地理数据库位置以及地图文档引用的数据的 ArcGIS Server 信息。这有助于验证发布准备情况。
- 在目录窗口中,右键单击 ArcGIS Server 的发布者连接,然后选择服务器属性。
- 在已注册的数据库面板旁边的 ArcGIS Server 属性对话框中,单击添加 。
- 在注册数据库对话框中,提供已注册数据库的唯一名称。名称可以是字母数字字符并包含空格,例如 Shoreline Bird Sightings GDB。
- 在发布者数据库连接部分旁边,单击导入。
- 在浏览数据库连接 对话框中单击查找范围下拉列表,然后选择数据库连接。
- 选择数据库连接,然后单击选择。
- 在注册数据库对话框的服务器数据库连接部分中,确保已选中与发布者数据库连接相同旁边的复选框。这指定了访问要素服务的 ArcMap 用户和 Web 用户可以同时查看并操作观鸟数据地理数据库中的数据。有关详细信息,请参阅关于将您的数据注册到服务器。
- 单击确定。您的企业级地理数据库被注册到服务器上并显示在已注册的数据库对话框中。
- 单击确定关闭 ArcGIS Server 属性对话框。
发布启用了要素访问的地图服务
由于已完成准备数据库的工作,可发布启用了要素访问功能的地图文档。这样做会创建地图服务的要素服务端点,Web 应用程序等客户端可通过该端点访问和编辑地图中的要素。
在本步骤中,您还需要启用同步功能。这样便可在客户端应用程序中离线使用要素服务中的数据。
- 在 ArcMap 的主菜单中,选择文件 > 共享为 > 服务。
- 在共享为服务窗口中,选择发布服务。单击下一步。
- 在发布服务对话框中,选择本教程中前面部分中设置的 ArcGIS Server 发布者连接。
- 默认情况下,地图文档的名称会指定服务名。不使用默认值,而是输入 Shoreline_BirdSightings。单击下一步。
- 默认情况下,服务会发布到 ArcGIS Server 的根文件夹下。接受默认位置,然后单击继续。
将显示服务编辑器对话框。使用服务编辑器 选择用户可对要素服务执行的操作,还可对服务器显示要素服务的方式进行精细的控制。
- 单击功能选项卡。
- 默认情况下,地图和 KML 两项功能自动启用。选择要素访问。启用此选项可使用地图服务创建关联要素服务,从而允许客户端在 Web 上执行要素编辑。
- 在服务编辑器的左侧窗格中,单击要素访问。
- 在要素访问对话框中,启用同步功能。
- 在服务编辑器对话框的左侧窗格中,单击项目描述,然后输入下列服务摘要和标签:
- 摘要:该海边观鸟要素服务允许用户向地图添加常见海边观鸟数据,附加观赏照片和输入评论。
- 标签:海边、鸟、观赏
- 单击发布 。
要素服务已发布到 ArcGIS Server。发布过程完成后,即可在客户端应用程序中使用海岸线观鸟要素服务。您还可以使用客户端应用程序来创建本地要素副本以供离线使用。
利用同步功能
注:
ArcGIS 客户端和开发人员 SDK 会逐步在要素服务中增加同步功能支持,该功能已引入 ArcGIS 10.2.1 for Server。支持离线使用地图的首批客户端为 Collector for ArcGIS 和 ArcGIS Runtime SDK 的 10.2.2 版本。无法在 ArcGIS 10.2.1 for Server 之前发布的要素服务中启用同步功能。
其他客户端可通过 ArcGIS REST API 访问同步功能。
如果使用 ArcMap 编辑属于离线编辑工作流的要素服务,应确保启用了每次编辑后自动保存更改的 ArcMap 编辑选项。如果禁用此选项,关闭编辑会话前将一直阻止任何其他客户端的同步。