发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)

访客 212 0

    Silverlight 调用GP服务的总结

不废话,直接介绍实现方法。我们的目标是学会使用ArcGIS Server发布GP服务,并在客户端进行访问。我们将发布两个GP服务,一个用于绘制等值线,另一个用于绘制等高面(准确来说是插值的格栅图像)。下面就来详细了解一下实现过程:

在这里,我将整个过程划分为两个不同的阶段:

第一篇是搭建GIS服务的过程。
第二篇是创建Silverlight应用,调用GP服务
第三篇是关于GP服务结果的获取应注意问题。

 

第一篇: 搭建GP服务

在开始之前,我想分享一些我在摸索GP服务时的总结。由于很多人都问到这个问题,所以我决定简单总结一下。鉴于时间紧迫,我的总结可能不够详细。如果有任何不清楚的地方,请留言,我会尽力解答。同时,如果有任何错误,请指出来,我们可以相互学习、共同进步。

下面将正式介绍GP服务的内容:

从以下几个步骤来看,主要包括:

1 .准备数据,建立GP服务的文件夹结构。具体怎么做后面会讲到。

2.   在MoudelBuilder中建立绘制等值线的GP模型,以及等直面的模型(插值模型)。

3.   针对于插值,由于结果是格栅图像,因此在客户端无法直接获取,这里还需要制作插值服务的地图文档,也就是说我们需要将GP服务发布成结果地图服务。发布GP服务的过程后面也会讲到。

 4.  在发布完GP服务之后,我们最好需要测试一下,看看在ArcMap中验证是否成功。

上述内容概括了发布GP服务的步骤,接下来将详细介绍:

 

1. 准备数据

      由于我们是想根据输入的点要素,然后进行等值线绘制以及插值等。所以我们需要设定输入要素的参数,比如说我们这里的点代表某一污染物的检测点,并有一个浓度属性,我们想根据这个浓度属性来绘制等值线,那么我们需要在GP输入参数中定义这个属性,也就是说在输入的点要素类中定义这个浓度属性。

在ArcMap中,我们可以创建一个名为PollutionPoints的要素类,并向其添加一个名为PollutionC的浓度属性。这个要素类可以不包含任何点,它只是作为GP服务输入参数的模板。

首先,我们需要创建一个文件夹和地理数据库来存储我们的GP服务模型数据。下图展示了它们的结构:

 

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第1张图片-谷歌商店上架

我们可以按照以下步骤来建立PolutionPoints要素类:右键Schema地理数据,然后选择新建要素类。

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第2张图片-谷歌商店上架

点击下一步,选择坐标系。在这里,我们可以选择WebMecator坐标系作为底图使用。由于之后在Silverlight中采用的底图也是WebMecator的,因此建议选择该坐标系。当然,根据你自己的需求,你也可以选择其他的坐标系。

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第3张图片-谷歌商店上架

点击下一步,继续进行直到进入要素字段设置界面。在这里,我们需要手动添加一个名为PolutionC的字段,用于表示浓度值,并将其类型设置为双精度。

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第4张图片-谷歌商店上架

点击完成后,我们的输入字段就已经设置好了,可以开始构建了。

 

在ModelBuilder中创建模型时,可以参考以下链接获取有关建模知识的信息:http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#//002w00000001000000

 

以下是等值线绘制的模型示例:

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第5张图片-谷歌商店上架

说明:

  1.      这里采用的是样条函数法进行插值,因为样条函数可以得到比较光滑的曲线
  2.      这里增加了要素转面,目的是去除没有闭合线要素,这里得到是一圈一圈的等值线。
  3.       以上进行了平滑操作,经过测试发现,效果不是很明显,当然如果你采用的是其他的插值比如克里金插值,那么还是会有效果的。

建模时需要注意的问题有:

      a .  设定环境的工作空间,指定当前的工作空间为之前我们建立的Scratch文件夹。点击ArcMap 地理处理——环境

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第6张图片-谷歌商店上架

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第7张图片-谷歌商店上架

请将模型中每个工具的输出参数位置设置为 %scratchworkspace%\输出文件名 的格式。需要注意的是,如果输出结果是要素类,则输出文件名需要加上 .shp 后缀,例如 Contour.shp。

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第8张图片-谷歌商店上架

c. 在设定模型参数时需要注意,并非所有参数类型都可以作为GP服务的输入或输出参数。在上述模型中,带有P表示的是模型参数。更多详细信息请参考:

请访问以下链接获取有关ArcGIS Desktop 10.0的帮助文档:http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/002v00000004000000/

 

在这里,我们将PollutionPoints要素类作为模型参数使用。然而,需要注意的是,在输入模型参数时,我们需要将其改为要素集,因为GP服务的输入参数不支持要素类。

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第9张图片-谷歌商店上架

d. 需要根据特定属性值进行插值,并绘制等值线。

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第10张图片-谷歌商店上架

      关于等直面的模型比较简单:

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第11张图片-谷歌商店上架

这里没有进行任何修改,最终输出的结果是一个矩形的格栅图像。如果想要得到非矩形(例如与等值线一致的椭圆形或地图一致),需要进一步操作,可以使用掩膜工具进行提取。在这里不做演示。

一旦我们成功构建了GP服务的模型,我们就完成了这一重要步骤。现在,让我们继续探讨如何有效地发布GP服务。

3. 发布GP服务

一旦我们完成了模型的建立,接下来就需要发布我们的模型,即GP服务。对于等值线模型,只需右键点击我们创建的绘制等值线工具箱,并直接进行发布即可。而绘制等值面则稍微复杂一些,需要将其发布为结果地图服务。现在让我来介绍一下如何发布结果地图服务:

      I. 和绘制等值线的过程一样,需要建立如上的等直面模型,以及相应的文件夹结构,设置环境工作空间,以及模型参数。
      II. 新建一个地图文档,该地图文档将在之后被发布。
      III.运行我们的等值面模型,绘制生成栅格的数据图像

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第12张图片-谷歌商店上架

在这里,我们可以利用一个图层作为要素的来源,也可以手动添加,并输入PolutionC的值,从而生成栅格数据图像。

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第13张图片-谷歌商店上架

说明:默认生成的栅格图像以分类方式展示,可能会得到不太美观的图像。在这里,我们可以通过右键点击TOC中生成的新栅格图层(即运行模型得到的结果)来查看RasterData。

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第14张图片-谷歌商店上架

点击属性,选择符号系统。可以更改渲染样式,这里我们可以选择拉伸方式来实现平滑渐变的渲染效果。

 

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第15张图片-谷歌商店上架

模型运行成功之后,我们需要手动的将绘制等值面的模型拖到TOC中,这时会自动的生成上一次运行模型时生成的结果,同样默认生成的栅格不是很好看,需要我们自己手动设置其符号系统。

TOC中的最终面板如下列出:

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第16张图片-谷歌商店上架

请注意,这里需要留意图层的值。例如,上述的值范围是-0.115785到66.2464。因此,该工具只能渲染在这个范围内的属性值。如果要素的浓度属性值超过了66.2464,则会按照最大值的颜色进行渲染。同样地,如果要素的浓度属性值小于-0.115785,则会按照最小值的颜色进行渲染。

一旦以上步骤全部完成,我们将保存地图文档,并随即发布该文档。

请右键刚才保存的地图文档,然后选择“发布到ArcGIS Server”,如下图所示:

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第17张图片-谷歌商店上架

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第18张图片-谷歌商店上架

在这里,默认会选择Geoprocessing,以表示地图文档中包含一个工具图层。点击下一步,完成发布即可。这样就成功发布了一个结果地图服务。

     一般来说,以上过程成功之后,我么的GIS服务是不会出现什么问题的,但也有可能因为我们各自计算机的配置原因,无法使用GIS服务,所以我们最好在ArcMap中验证一下是否成功,具体的做法是:

点击我们的工具箱,然后右键点击ArcToolBox,选择添加工具箱。接下来,请按照下图所示的步骤浏览到GIS服务器,并打开它。在打开的界面上,您会发现我们刚刚发布的GP服务:一个用于绘制等值线的工具箱和一个用于绘制等直面的工具箱。

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第19张图片-谷歌商店上架

发布GP服务(Geoprocessing Service)是Silverlight调用GP服务的第一篇文章。(gp服务是什么意思)(gp服务是什么意思)-第20张图片-谷歌商店上架

点击打开后,该工具将被添加到我们的ArcMap工具箱中。然后,您只需像运行我们自带的工具一样运行它。如果您获得了正确的结果,则说明GP服务发布成功;如果遇到问题,请按照上述说明进行检查。在此不再详述。

至此,关于GP服务的搭建过程已经圆满完成。

     下一篇将讲述如何使用Silverlight 调用这里的等值线服务和插值服务。

版权归属所有,未经许可请勿转载。

 

本文转载自https://blog.51cto.com/potential/1402583

标签: 谷歌商店上架 篇文章 图片

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~