ArcGIS教程:使用 ArcGIS for Desktop 服务

来源:互联网 发布:南京中兴新软件 编辑:程序博客网 时间:2024/06/11 22:32

  一个地理处理服务往往包含一项或多项任务。任务在接收参数和返回结果方面与地理处理工具没有任何实际区别;任务是WebAPI(例如JavaScript、SilverLight和Flex)用于描述在服务器上工作并返回结果的例程的术语。地理处理服务和工具箱之间以及任务和工具之间并没有实际区别;只有对于其他ArcGISforServer客户端(如Web浏览器和基于Internet的其他软件)才存在区别。

  连接到ArcGISServer

  第一步是连接到ArcGISServer。在目录窗口中可通过GIS服务器节点创建一个ArcGISServer连接。

  可通过右键单击任一文件夹,然后单击新建>ArcGISServer连接,在该文件夹中创建连接。

  查找地理处理服务的URL

  在连接到ArcGISServer时,您需要一个URL链接并可能需要一个用户名和密码。获取服务URL的方式很多。

  ArcGISServer由您所在组织负责托管,而且您也熟知该URL。

  在arcgis.com中搜索地理处理服务,并且找到一个包含要执行任务的服务。您可按照以下方式获得提供服务的服务器的URL:

  arcgis.com中服务的描述信息中具有一个包含URL的ArcGISWebAPIREST连接条目。此URL用于使用REST连接到服务。为了在ArcGISforDesktop中连接到服务器,您需要一个SOAPURL。

  可根据RESTURL获取SOAPURL。例如,如果RESTURL为:http://sampleserver.esri.com/arcgis/rest/services/SupplyDemandService/gpserver则用于创建服务器连接的相应SOAPURL为:http://sampleserver.esri.com/arcgis/services(从SOAPURL中移除Rest、服务名称和gpserver)。

  使用SOAPURL创建一个到服务器的用户连接。创建完连接后,在目录树中浏览服务器目录,以查找地理处理服务和任务。

  执行地理处理任务

  与使用任何其他工具一样,您可在工具对话框、模型构建器或脚本中执行地理处理服务任务。唯一的区别是:如果您正在前台执行工具(一些任务等待结果从服务器返回,而另一些任务则不会这样做),它们会将任务提交到服务器并偶尔向服务器查询结果。您可通过结果窗口观察已提交至服务器的任务的状态。

  使用任务结果

  地理处理服务的结果将自动添加到结果窗口的当前会话中。如果结果的输出数据类型是文件或栅格数据集,则输出将保存在本地临时目录中。对于要素类等其他数据类型,结果则会写入显示其输出数据集名称和/或状态的当前会话中。共有以下五种不同的状态值:

  <空>

  仍在服务器上执行工具但不会写入输出,或者,任务未成功运行您无法获取结果。此状态仅适用于异步工具。

  <本地临时位置中的数据>

  工具已完成执行操作,输出数据位于计算机内存或系统临时目录中。只要存在引用该数据的ArcMap图层,该数据便不会被删除。如果想要保留数据,则应该将数据从临时位置复制到某一已知位置。执行此操作的一种简单方法是使用复制工具,具体方法是将结果中的数据集拖放至“复制”工具的输入要素参数中。另外,也可右键单击输出,然后单击复制位置,从而将要素类的路径复制到剪贴板中,以使您能够将该路径粘贴到接受文本的任何位置,如复制工具的输入要素参数。

  <服务器上的数据>

  数据位于服务器上。这也意味着,存在一个将在ArcMap、ArcGlobe或ArcScene中绘制数据的结果地图服务。当工具在服务器上完成执行操作后,此结果地图将被自动添加到内容列表中。如果需要将此结果地图服务添加到内容列表中,请右键单击该结果工具,然后单击添加服务器图层。

  也可右键单击该结果工具,然后单击获取数据,从而将数据从服务器复制到您的计算机中。复制之后,状态将为<本地临时位置中的数据>、<数据超出传输限制>或<数据不可用>。

  <数据超出传输限制>

  获取数据操作不能将所有数据从服务器复制到您的计算机中,因为要传输的要素的最大数目超出限制。复制大型数据集会降低服务器执行其他GIS服务的能力并阻塞网络。因此,服务创建者会指定一个可被从服务器复制到客户端计算机的要素的最大数目。如果需要复制的数据超出限制,则需要联系服务创建者或服务器管理员,然后使用其他方式来获取数据。

  <数据不可用>

  获取数据操作无法在服务器上找到数据。导致此情况的最可能原因是:服务器管理员确定该任务结果已废弃,从而将数据删除以便释放服务器空间。

  环境设置被忽略

  地理处理服务明确设置了服务器上影响执行的所有环境设置。在当前会话内设置的ArcGISforDesktop的本地环境设置不会影响服务使用的环境设置。

  将服务器任务复制到自定义工具箱

  无法将任务从地理处理服务中复制到自定义工具箱(您创建的工具箱)。

  在服务器工具完成执行操作前退出应用程序

  异步工具(参见下文)提交完毕后,即可退出所使用的应用程序。例如,如果您正在ArcMap中进行操作,则可开始执行操作,保存地图文档,然后退出ArcMap。当您稍后打开该文档时,ArcMap将查询服务器,检查结果状态,然后更新结果窗口中的结果。如果您要使用此方法来开始执行操作并退出ArcMap(或者ArcGlobe或ArcScene),请务必保存地图文档以保存结果以供今后查看。

  同步和异步任务

  地理处理服务及其任务或者为同步,或者为异步。同步意味着,在服务器上执行任务时计算机需要等待。异步意味着,计算机不必等待前一工具完成操作的执行,即可继续执行其他任务。

  服务的发布者负责决定是以同步方式执行任务还是以异步方式执行任务。只有那些执行速度快且具有小型输出数据集的任务,才应被发布为同步工具。

  有两种方法可用来确定服务器工具是同步还是异步:

  • 如果您具有ArcGISforServer的管理权限,则可在目录窗口中浏览至服务器,右键单击地理处理服务,然后单击服务属性。工具的执行类型将列在参数选项卡中。
  • 执行工具并观察其写入的消息。在执行异步服务时,所写入的第一条消息将是服务器消息。这些类型的地理处理服务将始终作为后台进程在ArcMap中运行。同步工具启动时会显示正在执行。下面的两个结果是由异步和同步执行(由GIS服务器管理员设置)获得的。

  当您在ArcMap中执行某个异步工具并启用了向显示画面添加工具结果的操作时,一个图层将被添加到显示画面,但却无法显示(已选中)。这是因为ArcMap不知道该工具何时完成操作的执行以及何时绘制输出。

  系统不会自动通知您异步工具将在何时完成操作的执行。您可在结果窗口中跟踪异步工具的进度。工具执行时,一个沙漏图标将显示在结果旁边。可通过右键单击结果并单击取消,来取消操作的执行。任务完成时,将显示表示成功的消息,而且会在结果的任务名称旁显示工具图标。

0 0
原创粉丝点击