arcgis server geoprocessing
Posted: June 21st, 2010 | Author: laomi | Filed under: 开发日志 | Tags: arcgis, 实习, geoprocessing, rest | No Comments »以前对于arcgis只是给美国那边解决一些简单的小问题,毕竟那边没有什么专门的人来做arcgis开发,最近自己这边的设计也快出来了,开始准备开始做系统开发,从目前的开发框架上来说,自己还主要是学习使用rest的方式来开发arcgis中的功能。之所以选择rest开发主要有两个原因:第一是项目的具体需求需要;第二的原因是arcgis server的rest开发方式实现了我多年梦寐以求的GIS开发模式。其实这arcgis最有魅力的地方还是arcgis server中的geoprocessing的部分,如果你选择了使用这种开发模式的话,我相信你的代码量将会减少到只有原来的三分之一左右,如果是要是需要arcgis中多个功能之间进行组合的话,那这样的方式更适合你。
想要了解arcgis server中的geoprocessing service 的话,首先应该了解是arcgis desktop中的arctoolbox和ModelBuilder部分,因为要使用geoprocessing service需要发布的是arctoolbox,在实际调用的时候只要根据参数和服务地址来调用相应的服务。自己在学习这方面的资料的时候看的资料都是零零散散的,只有在youku上看见了一个arcgis的培训视频之后才慢慢的明白其中的一些意思。
首先介绍一下modelbuilder,打开一个arcmap或者是catalog,然后打开arctoolbox中新建一个arctoolbox,然后你可以之间将相关的arcmap中的一些arctoolbox中的一些功能直接拖拽到你新建的modelbuilder中去,这样发布出去的geoprocessing服务与具体的地图没有关系,这样发布出来的服务能够被任何应用程序调用,不过需要对于数据的输入输出必须得满足您所选择的开发模式。具体的数据支持请参考:input and output data types,大家目前习惯的开发模式为rest开发方式,而且很多的事情是直接在web应用中去调用geoprocessing service的服务。
对于geoprocessing service的服务发布存在两种方法,第一种是直接使用arcgis server manager来发布服务,一般来说如果是仅仅简单的进行发布一个geoprocessing service的话,那直接在新建service中新建一个geopeocessing service;另外一种发布geoprocessing service的方式是使用catalog的方式进行部分。 Geopeocessing service 其实有三种:
- A geoprocessing service
- A geoprocessing service with a source map document
- A geoprocessing service with a result map service
关于三种service的大概可以理解成:
- A geoprocessing service, 你可以理解成这中geoprocessing service的形势其实是将model直接发布成服务,它是一个开发的服务,可以被任何应用程序使用,根据geoprocessing service的输入输出数据类型,我们可以知道它会对数据输出数据有一些限制。
- A geoprocessing service with a source map document,这种模式的服务,其实是将model与具体的地图数据关联起来,这样的话model可以直接访问 source map document中的数据。(model是作为source map document的一个tool layer)
- A geoprocessing service with a result map service,这种服务实际上有两种服务,一种是map service,另外一种是geoprocessing service而且这两种service的名字必须得以致,这种形势的服务一个最大的优点是能将结果的形式保存下来,而且结果可以以动态图层的形势返回。(model是作为result map document的一个tool layer)
关于geoprocessing service的具体表现实现可以参考:Publishing geoprocessing services这样的话如何创建一个geoprocessing service的相关信息我们就已经清楚,在后面我会很据我学习到的东西来发布一个geoprocessing service,已经如何使用python语言来简单的对geoprocessing 的功能进行简单的扩展以及使用javascript调用geoprocessing serivce以及如何更漂亮的展示结果。









Leave a Reply