前段时间空间分析的作业,老师给了个题目:基于服务的空间分析。于是乎连续几天奋战在这个上面,有点小心得,分享一下。
对于ArcGIS Server 能发布的那一系列服务我就不多说了,本文的缓冲区分析是基于几何服务的。
(1 )发布地图
在ArcGIS Server中发布不需要任何地图资源的Geometry Services(几何服务)。New Services 服务类型选择Geometry Services。
(2)代码实现
在前台代码中不需要添加地图资源,只需要一个显示的graphicslayer,以及一些SimpleMarkerSymbol的设置。
在后台代码中完成bufferPointsGP_ExecuteCompleted及bufferPointsGP_Failed两个函数,并在map_click事件中加入服务初始化:
GeometryService geometryService =
new GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer");
geometryService.BufferCompleted += bufferPointsGP_ExecuteCompleted;
geometryService.Failed += bufferPointsGP_Failed;
添加几何图层graphicslayer并把地图上的点加至graphic当中
Graphicslayer graphicslayer = map1.Layers["graphicslayer"]as Graphicslayer; graphicslayer.Cleargraphics();
e.MapPoint.SpatialReference = map1.SpatialReference;
Graphic graphic_buffer = new ESRI.ArcGIS.ClIEnt.Graphic()
{
Geometry = e.MapPoint,
Symbol = LayoutRoot.Resources["DefaultClickSymbol"]as ESRI.ArcGIS.ClIEnt.Symbols.Symbol
};
graphic_buffer.SetZIndex(1);
graphicslayer.Graphics.Add(graphic_buffer);
使用BufferParameters参数将graphic和距离两个参数传至geometryService.BufferAsync执行。
bufferParams.Features.Add(graphic_buffer);
bufferParams.distances.Add(0.01);//距离单位为公里
geometryService.BufferAsync(bufferParams);
几何服务比较简单,作业中还做了基于GP服务的最短路径分析,可参看本人博文《Silverlight 4系列 +VS2010 + ArcGIS9.3 系列 最短路径分析》
详细代码可参照 http://www.voidcn.com/article/p-ziqugwee-ow.html
总结以上是内存溢出为你收集整理的Silverlight 4系列 +VS2010 + ArcGIS9.3 系列 缓冲区分析全部内容,希望文章能够帮你解决Silverlight 4系列 +VS2010 + ArcGIS9.3 系列 缓冲区分析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)