微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ArcGIS for SilverLight 线要素缓冲分析的问题

在网上搜索上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] 举报,一经查实,本站将立刻删除。

相关推荐