ArcGIS Runtime 算法解读之Offset

本文详细解析了ArcGIS Runtime的Offset算法,重点关注线偏移,包括距离、OffsetType、bevelRatio和flattenError参数的影响。实验表明,Round类型下,flattenError越小,点数越多;Bevel类型下,bevelRatio越大,效果越好;Miter类型仅与角度有关;Square类型在距离过大时可能无结果。
摘要由CSDN通过智能技术生成

首先肯定是看官方的文档,但对于英文不好的,可能看着就一脸懵逼!我就是这样的,因此花了点时间研究这个算法。我工作主要是对线进行偏移,因此只研究了线的偏移;对于面应该差不多;
public static Geometry Offset( Geometry geometry, double distance, OffsetType offsetType, double bevelRatio, double flattenError )
有5个参数:
geometry:就是要偏移的对象;
distance:就是要偏移的距离;正数就是将偏移对象向右偏移,这里的向右指的是,对象点的添加顺序构成的方向的右边。后面会在图中进行解释;
offsetType:是一个枚举类型,主要是设置偏移对象的顶点偏移后是什么;有四个类型:Round、Bevel、Miter、Square;
bevelRatio:在offsetType设置为:Bevel有用;后面看不同值有什么不同变化;
flattenError :控制在转角产生点的距离值;offsetType设置为:Round有用;

数据准备:4个点,11873952.9370746,3069453.75805943;11873987.946725,3069383.36827443;1874043.9341095,3069319.93501688;11874117.4966627,3069262.57004984

绘制出来的是这样的:

当距离值是正时,偏移的线会在右边,负值在左边; 

注:此情形下,右边(即正数时)偏移距离越大,产生的线段越长;左边(即负数时)偏移距离越大,产生的线段越短。

以下开始对不同类型进行实验比较: 

offsetType类型是Round:该类型会在线路拐角处产生很多个点,目的是为了看起来更圆滑;

1.1 bevelRatioflattenError 不变,距离改变:

distance bevelRatio flattenError 
1 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值