我们知道ArcGIS以强大的空间分析而获得GISER的口碑(不仅仅如此),在桌面软件中已经有了800多个空间分析工具,并且这些空间分析工具可以根据我们的业务需要而组合使用,使得我们在工作中能够流程化的处理问题,为我们的工作带来了方便。 ArcGISServer作为一个企业级的GIS平台,能够将我们的GIS资源作为服务发布出去,供客户端使用,在ArcGISServer中有一种服务类型我们称之为地处理服务或者GP服务,该服务简单的说就是可以在Web端使用ArcGIS提供的空间分析,而这些分析的能力是和桌面中的一样的。使用GP可以让我们用很少的代码就可以完成一个复杂的操作。 在Web使用这些GP工具和桌面端使用这些工具,在功能上是一样的,但是在数据类型上就有限制了,比如我们在桌面端可以将要素类作为参数,但是Web端就不行,所以在10或者之前的版本中,我们发布的GP服务不能正常运行很多是因为参数类型导致,在这里我将这些参数类型对比下: 输入参数数据类型在ArcGISDesktop客户端上是否受支持?在ArcGISExplorer客户端上是否受支持?在Web应用程序客户端上是否受支持?要素集是是是记录集是是是要素类否(但可通过要素集数据类型间接支持要素类输入。)否否表否(但可通过记录集数据类型间接支持表输入。)否否栅格是否否标准类型(如长整型、双精度型、布尔型、日期型和字符串型)和线性单位(如“1000米”)是是是文件( 或 .xml 文件)是是是图层(任何类型的图层;如,要素图层、栅格图层和网络分析图层)仅支持在结果地图服务或源地图文档中找到的图层仅支持在结果地图服务或源地图文档中找到的图层仅支持在结果地图服务或源地图文档中找到的图层 输出参数:在ArcGISDesktop客户端上是否受支持?在ArcGISExplorer客户端上是否受支持?在Web应用程序客户端上是否受支持?要素类是是是要素图层是是是栅格是否;只能使用结果地图服务显示否;只能使用结果地图服务显示栅格图层是否否地理数据集(除要素类或栅格外)否;只能使用结果地图服务显示否;只能使用结果地图服务显示否;只能使用结果地图服务显示表是否(含有表数据类型作为输出参数的服务不会显示在可用任务列表中。)是标准类型(如长整型、双精度型、布尔型、日期型和字符串型)和线性单位(如“1000米”)是(在结果 窗口的服务结果中查看)是(在“任务结果”窗口中查看)是文件是是是 ,建立一个模型然后右键share,地理处理服务的发布将由运行成功的地理处理工具结果产生。创建一个地理处理的模型(计算缓冲区分析),模型如下图: 填写模型参数,细心的读者会发现这里有所变化(发现了没?): 模型运行结果:填写工具的描述信息,如果不填写,那么发布服务的时候也会出错:发布服务,在运行后的模型中,右键: 填写一些描述信息,如下,然后发布: 发布成功后会在Manager中看到。 在Silverlight中使用该服务,核心代码如下: [csharp] viewplaincopy private void _map_MouseClick(object sender, e) { FeatureSet pFeature = new FeatureSet(); Graphic pGraphic = new Graphic(); = ; (pGraphic); (pGraphic); List<GPParameter> parameters = new List<GPParameter>(); (new GPFeatureRecordSetLayer("Input_Features", )); (new GPDouble("Distance__value_or_field_", 1000)); tStart2 = new TimeSpan(); (parameters); } Task2 = n
ArcGIS 10.1 让GP服务变得更简单 来自淘豆网www.taodocs.com转载请标明出处.