『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS教程:创作和共享地理处理服务快速浏览(二)

ArcGIS教程:创作和共享地理处理服务快速浏览(二)
也可使用脚本工具来创建任务。下图显示了脚本工具的属性页,该脚本工具所做的工作与上面所创建的简单供需模型完全相同,唯一的区别是使用 Python 脚本语言而不是使用模型构建器。它所包含的参数与模型相同,并且使用相同的步骤来创建任务:运行该工具创建结果,然后将结果共享为地理处理服务。

示例:脚本工具

    也可使用脚本工具来创建任务。下图显示了脚本工具的属性页,该脚本工具所做的工作与上面所创建的简单供需模型完全相同,唯一的区别是使用 Python 脚本语言而不是使用模型构建器。它所包含的参数与模型相同,并且使用相同的步骤来创建任务:运行该工具创建结果,然后将结果共享为地理处理服务。


项目数据和数据存储

    项目数据是地理处理用来描述非参数的输入数据的术语;即数据不是由工具或任务的用户提供,但工具或任务可内部使用。例如,下面模型中的 San Francisco Network Dataset 变量就是一个项目数据,它被模型使用但并不显示为参数。一般地,模型的项目数据表示为一个蓝色椭圆,旁边没有 P


    项目数据也可以显示在脚本中,如下面的 Python 代码片段中所示。

import arcpy

# The inputPoints variable is considered to be project data

#   since it is not an input parameter.

inputPoints = r"c:\data\Toronto\residential.gdb\shelters"

arcpy.Buffer_analysis(inputPoints, 'shelterBuffers', '1500 Meters')

    在服务编辑器 中,输入模式为常量值的输入数据参数相当于项目数据 - 它是由工具使用的数据,但不显示为任务参数。可以将常量值输入模式视为移除模型构建器中变量参数旁的 P

    创作和共享任务时,需要重点考虑项目数据,因为在执行任务时,服务器必须可访问项目数据。地理处理服务往往会使用不同的位置上的许多不同的数据。通常情况下,服务中所存在的问题都可追溯为项目数据访问问题。

    发布结果时,发布进程将对用于生成结果的所有模型和脚本进行扫描,查找其中的项目数据。然后确定如何使用该数据。只有两种选择:

  1. 如果可在服务器的数据存储中找到项目数据,那么发布的任务就会使用数据存储中的数据。
  2. 如果无法在服务器的数据存储中找到项目数据,那么数据会首先复制到服务器,置于服务器上一个可访问的已知位置(服务器的输入目录)然后发布的任务才使用复制的数据。复制的数据不会成为服务器的数据存储的一部分。如果重新发布该任务,则将再次复制数据。

    关于数据存储

    ArcGIS Server 的每次安装都将包含一个数据存储。数据存储是一种用户为服务器提供服务器可访问的一系列数据位置的方式。如果服务器可以访问数据,则在发布时,不会将在本地计算机上找到的数据复制到服务器。

简单数据输入,简单数据输出

    GIS 服务必须使用所有客户端中的最简单客户端:没有任何 GIS 功能的计算机上运行的 Web 浏览器。这些简单的客户端仅知道如何向服务器发送简单数据包,例如文本、数字、表和地理要素及其属性。而不知道您在 ArcGIS for Desktop 中所使用的任何更高级的地理数据表达,例如网络数据集、拓扑、TIN、关系类、几何网络等。这些数据集称为复杂数据集;它们用于对简单要素之间的复杂关系进行建模。复杂数据集不能通过 Internet 进行传输;通过 Internet 只能传输简单的要素、表、栅格和文件。

    创作任务时,您需要清楚的一点是,所有客户端(无论它们是 Web 应用程序、ArcGIS Explorer 还是 ArcGIS for Desktop)都仅仅知道如何发送和接收(传输)这些简单数据集。即便您知道服务将仅由复杂客户端访问,例如 ArcMap,创作任务时也应限制为简单输入数据。

使用地图服务绘制任务结果

    发布地理处理服务时,可以选择以地图形式查看任务结果(以及任务的所有其他结果)。地图将在服务器上使用 ArcMap 创建,创建完毕后再将地图传输回客户端。返回地图的符号系统、标注、透明度和所有其他属性与当前 ArcMap 会话中的输出图层相同。创建结果地图服务的工作流非常简单:

  • 运行所创作的工具以便在结果 窗口中创建结果。工具所创建的全部数据都将以图层形式添加到 ArcMap 的内部列表中。
  • 更改作为工具输出的图层的符号系统。
  • 右键单击结果并共享为地理处理服务。
  • 在服务编辑器 中,单击参数并启用通过地图服务查看结果。

    如果输出图层要绘制唯一值,则可能需要取消选中图层属性中的 <所有其他值以在绘制之前强制重新计算唯一值。

编写任务文档

    如果您希望尽可能多的人发现、了解和使用服务,至关重要的一点是编写服务和任务的文档。

    良好的文档的编写从创建要发布的结果的工具开始。系统中的每个工具都具有项目描述,可通过在目录 窗口中右键单击工具并选择项目描述来查看和编辑详细的描述信息。

地理处理环境设置

    地理处理环境设置是影响工具执行结果的附加参数。这些参数与常规工具参数的区别在于它们不会显示在工具对话框中(存在某些例外情况)。更确切地说,这些参数是先前使用独立对话框设置的值,工具在运行时将询问和使用这些参数。

    环境设置等级

    可采用多种方法更改环境设置,并且可以将更改的地方视为等级中的级别。环境设置逐级别进行传递。在每个级别上,都可以用其他设置覆盖所传入的环境设置。

  • 应用程序级别 - 在主菜单中,单击地理处理 > 环境。在此所做的更改将影响所有工具的执行。
  • 工具级别 - 在工具的对话框中,单击环境按钮。将打开环境设置 对话框。请注意,无论工具是否支持所有环境设置,这些环境设置都会列出在环境设置 对话框中。您需要查阅工具的参考页面以确定工具是否支持该环境设置。在此所做的更改将会覆盖在应用程序级别上所做的原始设置。这些设置仅应用于工具的执行;不会覆盖应用程序级别设置。
  • 模型、模型过程或脚本级别 - 在模型或脚本中,可以高度控制环境设置。可以更改模型或脚本中某一特定工具、一组工具或所有工具的环境设置。在此级别所做的设置会覆盖在工具或应用程序级别所做的所有设置。

    环境设置存储在结果中

    结果 窗口中的结果将存储在应用程序或工具级别所做的所有环境设置。在服务器上执行任务时,任务执行期间将使用结果中的环境设置。但是,在模型或脚本级别所做的设置不会显示在结果中,但在任务执行期间将使用这些设置。可以将结果中的环境设置视为传递到模型或脚本工具,然后将覆盖设置。

      京ICP备2025132830号-1 京公网安备 号