【技术类】【ArcGIS 影像服务速成】4、图文并茂学习影像服务的特性(上)

0
分享 2013-05-21
本章将结合项目实例分别介绍影像服务的特性,特别是ArcGIS 10.1新增加的一些特性,主要包括数据访问,动态处理,图属查询,影像下载 ,影像测量,影像编辑 6个方面。项目需要在VS2010,Silverlight 5开发环境下打开。使用了ArcGIS Silverlight API 3.0版本(webmap,MyToolkit使用的2.4版本)。
4.1 数据访问
Identify是项目中常用的工具之一,ArcGIS API for Silverlight 提供 ImageServiceIdentifyTask 类得到识别的features。包括features的名称、图层ID、几何形状、几何类型和其它属性。识别操作在Main_Query.cs文件中绘制,完成回调:MyDrawSurface_DrawComplete( )中执行,调用了Main_Identify.cs文件的Identify方法,Identify操作首先需要定义ImageServiceIdentifyParameters对象:

Geometry是Identify的几何属性,如点选,线选,面选;MosaicRule是镶嵌规则,默认是esriMosaicCenter。ReturnCatalogItems是否返回栅格目录;ReturnGeometry是否返回几何图形。然后ImageServiceIdentifyTask对象执行结果返回到ExecuteCompleted事件的回调中。

其中涉及到类的详细参数可以参考ArcGIS API for Silverlight 帮助:
(http://resources.arcgis.com/en/help/silverlight-api/apiref/api_start.htm)
4.2 动态处理
项目中镶嵌规则工具和栅格函数工具是使用影像服务的动态处理能力实现的。改变镶嵌规则在Main_MosaicRule.cs中UXMosaic_BtnApplyMosaicRule_Click方法中实现。首先需要MosaicRule对象定义镶嵌规则,包括MosaicMethod(镶嵌方法),MosaicOperation(镶嵌操作),Ascending(是否上升)。然后将影像服务图层MosaicRule属性指定为定义的镶嵌规则。

改变栅格函数在Main_RasterFunction.cs文件中UXRF_BtnApplyFunction方法中实现,RenderingRule对象中定义了RasterFunctionName(栅格函数名称),一些栅格函数需要使用RasterFunctionArguments定义不同的辅助参数;然后将影像服务图层RenderingRule属性指定RenderingRule实例。
这样我们可以对影像服务进行在线动态处理,部分效果图如下:

这些操作不会改变原始的影像数据,而只是在浏览器端进行动态处理。这样在相同的数据下满足不同用户的使用需求。
4.3 图属查询
查询是项目中基本的工具。本项目中使用了影像服务的图形查询和属性查询实现了属性查询工具和空间查询工具。属性查询执行在Main_Query.cs文件中的UXAQ_BtnQuery_Click方法,通过Siverlight API 封装好的查询类: QueryTask 实现。返回结果显示在地图上和结果列表中。


空间查询执行在Main_Query.cs文件中的esriTools_ToolbarItemClicked方法进行图形绘制,绘制结束后触发MyDrawSurface_DrawComplete回调,首先需要使用Query类定义查询参数对象,然后通过QueryTask执行查询。



OutFields参数是返回的属性字段,*代表返回全部字段。
文章来源:http://blog.csdn.net/arcgis_all/article/details/8239511

0 个评论

要回复文章请先登录注册