地理处理服务示例:选择数据
文件夹 |
SelectingData |
权限用途 |
介绍按属性查询或位置查询选择数据的各种方法。 |
服务 |
|
地理处理任务 |
SelectAndMail, SelectAndPrint |
输入 |
因模型而异;通常是一个查询字符串或一个要素集 |
输出 |
选择的数据要素类、文本和 PDF 文件 |
数据 |
使用堪萨斯州曼哈顿市某地区的数据集 |
扩展模块 |
无 |
关于这些服务
地理处理服务的一项常见任务是基于属性查询或空间查询选择数据子集。另外一项常见任务是按不同格式打印服务输出,便于传播结果。此示例中的模型演示了这两个任务的结合。这些模型中主要使用的地理处理工具是按属性选择图层和按位置选择图层。这两种工具都将图层作为输入。它们的输出是包含所选要素的已更新输入图层。两个脚本工具用于打印所选要素:其中一个工具将所选要素表属性和值作为文本文件打印,另外一个工具将所选要素地图作为 PDF 文件打印。
在此示例中,您将使用到 SelectParcel.tbx 工具箱。SelectParcel.tbx 包含两个工具集:SelectScripts 和 SelectModels。SelectScripts 包含两个脚本工具:
- MailTable 将宗地图层作为输入并将每个所选要素的宗地 ID 和地址打印到一个文本文件中。
- PrintMap 将 ArcMap 文档、数据框、图层名称、图层源作为输入,并将地图文档的内容导出到一个 PDF 文件中。
- SelectAndMail 演示了选择在一个输入宗地 ID 的搜索距离内的所有宗地,并使用 MailTabel 脚本工具将输出打印为文本文件。
- SelectAndPrint 搭配使用 SelectAndMail 模型和 PrintMap 脚本工具,选择要素并将所选要素打印到 PDF 文件中。
数据
此为堪萨斯州曼哈顿市某个小区域的数据。本示例的数据可从 ArcGIS.com 下载。下载后,提取 zip 文件至 C:\arcgis\ArcTutor。本示例中所用的地理数据库为 GP Service Examples\SelectingData\ToolData\ManhattanKS.gdb。
模型概览
SelectAndMail 模型
SelectAndMail 模型开始的几个过程如下图所示。该模型包含项目数据变量宗地和变量宗地 ID,后者是一个在表达式参数中对按属性选择图层工具使用的模型参数。此参数使用变量替换构建一个选择要素的表达式,这些要素的 PID 属性同宗地 ID 变量的值相符。
虽然此操作不是必须的,但是建议将变量替换中使用的变量作为变量替换过程的前提条件。要设置前提条件,请执行以下步骤:
- 在模型构建器中,右键单击工具,然后单击属性。
- 单击前提条件选项卡。
- 选择作为工具执行的前提条件的一个或多个变量。
按属性选择图层工具和按位置选择图层工具都具有多个可用于选择类型的选项。例如,上面的按属性选择图层工具使用默认的 NEW_SELECTION。您也可使用其他选择类型,例如从当前选择中添加或删除要素。
按位置选择图层工具可用于建立空间关系,例如,CONTAINS、WITHIN 和 INTERSECT。SelectAndMail 模型使用下图所示的 INTERSECT。
SelectAndMail 模型的其余部分如下图所示。使用复制要素,可将按位置选择图层的输出复制到要素类所选宗地中。所选宗地作为脚本工具 MailTabe 的输入来使用,可将宗地 ID 和地址打印到文本文件 Output.txt 中。
SelectAndPrint 模型
SelectAndPrint 模型将搭配使用 SelectAndMail 模型和 PrintMap 脚本工具以选择要素和将所选要素作为 PDF 文件打印。模型 SelectAndMail 的输出是所选宗地,它作为脚本工具 PrintMap 的输入来使用。PrintMap 要求您给出输入参数 Map、DataFrame、Layer、DataSource、WorkspaceType 的值,以及输出参数 OutputPDF 的值,如下图所示:
创建与 ArcGIS Server 的连接
请确保您有发布至服务器的权限。如果有,请按照以下步骤创建服务器,发布或管理连接:
- 在目录窗口中,导航至 GIS 服务器 > 添加 ArcGIS Server 可弹出ArcGIS for Server 向导。
- 选中发布 GIS 服务或管理 GIS 服务器,单击下一步可弹出常规窗口。
- 在常规窗口中,输入服务器 URL 的值,并输入用户名和密码进行认证。
- 单击完成完成连接。
在 GIS 服务器下会看到服务器连接。
共享地图服务
按照以下步骤创建要作为参考地图使用的地图服务:
- 从目录 窗口,导航至 C:\arcgis\ArcTutor\GP Service Examples\SelectingData。
- 打开 ParcelBaseMap.mxd。
- 从 ArcMap 下拉菜单栏中选择文件 > 共享为 > 服务。将打开共享为服务 向导。
- 单击发布服务的单选按钮,然后单击下一步。
- 提供与 ArcGIS Server 的连接。命名服务 ParcelBaseMap。单击下一步。
- 选择默认的根文件夹或选择另一文件夹并单击继续以打开服务编辑器。
- 在服务编辑器 窗口中,单击功能,显示所有选项。默认选中映射和 KML。取消选中 KML。
- 单击项目描述并为必填字段摘要和标签输入内容。
- 单击分析 。
- 如果您在准备 窗口看见任何警告 或错误 的消息,右键单击有错误或警告消息的行,并单击突出显示的消息,进行修复。
- 一切就绪后,单击发布 以发布服务。
发布完成后会得到一条成功的消息。刷新在上一部分创建的服务器连接后,您在服务器连接下应该可以看到地图服务。
共享地理处理服务
运行 SelectAndMail 工具并共享结果
- 从目录 窗口,导航至 C:\arcgis\ArcTutor\GP Service Examples\SelectedParcelMap。如果您不希望从此目录运行,可复制并粘贴到本地目录中。
- 打开 SelectAndMail.mxd。
- 从目录 窗口,导航至默认工作目录 目录。展开 SelectParcel.tbx 的模型工具集,然后双击 SelectAndMail 以打开工具对话框。
- 对第一个参数 Parcel ID,您可以按喜好选择或使用默认值。
- 对参数 Search Distance,您可以对距离和单位进行设置或使用默认值。
- 对参数 Selected Parcels,您可以设置您自己的输出路径或使用默认值。您在此处保存所选宗地的要素类。
- 对参数 OutputTxt,您可以设置您自己的输出文本文件路径或使用默认值。您在此处保存文本文件(该文件显示宗地 ID 值和地址值)。
- 单击确定以运行工具。
- 如果未打开结果 窗口,单击 ArcMap 下拉菜单中的地理处理 > 结果。
- 在结果 窗口的当前会话节点中,检查以上步骤中创建的 SelectAndMail 结果。
结果应显示模型工具图标 。如果显示出错误 ,您需要展开结果、阅读保留在消息节点中的错误消息,然后重新运行修改过的工具直至得到一个有效的结果。
如要检查输出文本文件的内容,请展开结果 窗口中的结果并双击 Output.txt 以在您的默认文本编辑器中打开文件。
- 要将模型任务作为地理处理服务共享:
- 右键单击结果 窗口的结果并选择共享为 > 地理处理服务。
- 将打开共享为服务 窗口并显示出三个选项。选中发布服务选项,然后单击下一步。
- 选择您之前在选择一个连接中创建的服务器管理连接并在服务名称中给出一个服务名称。单击下一步。
在给出服务名称时,如果您保留默认名称 SelectAndMail,您的服务和任务名称将是相同的。如果您希望服务名称和任务名称不一样,请提供一个不同的服务名称。
- 选择使用现有文件夹或创建新文件夹并单击继续可弹出服务编辑器 窗口。
- 在服务编辑器 的左侧窗格中,单击参数。在服务编辑器 的右侧窗格中,导航至属性下的服务器返回的最大记录数。将默认值 1000 改为 2000,因为输出要素数可能会超过 1000。
- 单击服务编辑器 右上角的发布。将出现一个将数据复制到服务器 窗口,该窗口显示了将会被上传到服务器的宗地图层。单击确定。
- 您会看到两个窗口:包正在处理中 和包处于服务状态。当发布完成后,紧接着会出现一个成功 窗口,窗口会附带一条消息已成功发布服务。单击确定完成发布过程。
运行 SelectAndPrint 并共享结果
- 从目录 窗口,导航至 C:\arcgis\ArcTutor\GP Service Examples\SelectedParcelMap。如果您不希望从此目录运行,可复制并粘贴到本地目录中。
- 打开 SelectAndPrint.mxd。
- 从目录 窗口,导航至默认工作目录 目录。展开 SelectParcel.tbx 的模型工具集,然后双击 SelectAndPrint 以打开工具对话框。
- 对第一个参数 Parcel ID,您可以按喜好选择或使用默认值。
- 对参数 Search Distance,您可以对距离和单位进行设置或使用默认值。
- 对参数 Selected Parcels,您可以设置您自己的输出路径或使用默认值。您在此处保存所选宗地的要素类。
- 对参数 OutputPDF,您可以设置您自己的输出 PDF 文件路径或使用默认值。您在此处将所选宗地保存在 PDF 格式的地图文件中。
- 单击确定以运行工具。
- 如果未打开结果 窗口,单击 ArcMap 主菜单中的地理处理 > 结果。
- 在结果 窗口的当前会话节点中,检查以上步骤中创建的 SelectAndPrint 结果。
结果应显示模型工具图标 。如果显示出错误 ,您需要展开结果、阅读保留在消息节点中的错误消息,然后重新运行修改过的工具直至得到一个有效的结果。
如要检查输出 PDF 文件的内容,请展开结果 窗口中的结果并双击 OutputPDF.pdf 以打开文件。
- 按照以下步骤将模型任务共享为地理处理服务:
- 右键单击您在上一步中运行的模型工具图标并选择共享为 > 地理处理服务。
- 将显示共享为服务 窗口及三个选项。选中发布服务选项,然后单击下一步。
- 选择您之前在选择一个连接中创建的服务器管理连接并在服务名称中给出一个服务名称。单击下一步。
在给出服务名称时,如果您保留默认名称 SelectAndPrint,您的服务和任务名称将是相同的。如果您希望服务名称和任务名称不一样,请提供一个不同的服务名称。
- 选择使用现有文件夹或创建新文件夹并单击继续可弹出服务编辑器 窗口。
- 单击服务编辑器 右上角的发布。将出现一个显示宗地图层的将数据复制到服务器 窗口,地图文件 SelectAndPrint.mxd 将会上传到服务器。单击确定。
- 您会看到两个窗口:包正在处理中 和包处于服务状态。当发布完成后,紧接着会出现一个成功 窗口,窗口会附带一条消息已成功发布服务。单击确定完成发布过程。
使用地图和地理处理服务
以下步骤显示了如何使用地图服务 ParcelBaseMap 以及您之前发布的两个地理处理服务 SelectAndMail 和 SelectAndPrint。
使用 SelectAndMail 服务
- 打开新的 ArcMap 文档。
- 在目录 窗口中
- 导航至 GIS 服务器下的服务器连接,选择地图服务 ParcelBaseMap,然后将其拖动到 ArcMap 的内容列表中。
- 在内容列表中展开地图服务以查看宗地图层。
- 在目录 窗口中,导航至 GIS 服务器下的服务器连接,找到您在前一部分发布的地理处理服务 SelectAndMail。展开服务以查看任务 SelectAndMail。
- 双击任务 SelectAndMail 以打开任务对话框。
- 保留参数的默认值或输入自定义的值,单击确定运行任务。
- 输出文件 Output 将以表的形式添加到内容列表中。
- 选中结果 窗口。在会话当前会话和任务 SelectAndMail 下,您应该看到输出文本文件 Output.txt。
- 双击结果中的文件来打开 Output.txt。您能看到包括所选宗地的“宗地 ID”和地址的属性和值的内容。
使用 SelectAndPrint 服务
- 打开新的 ArcMap 文档。
- 在目录 窗口中
- 导航至 GIS 服务器下的服务器连接,选择地图服务 ParcelBaseMap,然后将其拖动到 ArcMap 的内容列表中。
- 在内容列表中展开地图服务以查看宗地图层。
- 在目录 窗口中,导航至 GIS 服务器下的服务器连接,找到您在前一部分发布的地理处理服务 SelectAndPrint。展开服务以查看任务 SelectAndPrint。
- 双击任务 SelectAndPrint 以打开任务对话框。
- 保留参数的默认值或输入自定义的值,单击确定运行任务。
- 选中结果 窗口。在会话当前会话和任务 SelectAndPrint 下,您应该看到输出文件 OutputPDF.pdf。
- 双击结果中的文件来打开 OutPDF.pdf。您会看到一个显示了所选宗地的 PDF 格式的地图文件。