在网上搜索上N多的示例,都告诉我们,例如我想将一个要素扩边4米,得做缓冲分析代码大至如下:
var geoService = new GeometryService(geoServiceUrl); geoService.BufferCompleted += (sender,args) => { geo = args.Results[0].Geometry; QueryListByGeometry(geo,objLayerUrl,objWhere,objField,intersect,handler); }; geoService.Failed += (sender,args) => { message = string.Format("Step 2 Failed: {0}",geoLayerUrl); handler(null,message); }; var bufferParams = new BufferParameters { BufferSpatialReference = geo.SpatialReference,OutSpatialReference = geo.SpatialReference,Unit = LinearUnit.Meter }; bufferParams.distances.Add(4);//扩展4米 bufferParams.Features.Add(new Graphic{ Geometry = geo }); geoService.BufferAsync(bufferParams);
如果是线要素做扩展,以上代码是不可能得到你想结果的,得这么做
//bufferParams.Unit = LinearUnit.Meter; bufferParams.distances.AddRange(new double[] { 0.00035,0.00035 });//0.00035约等于4米实际我发现不管这个Unit设成什么都没用,可能是ArcGIS for SilverLight 3.0的BUG吧
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。