比例尺不变 放大单个Polygon

这是一个同事给提的需求,在此我把问题,以及研究的结果都整理出来。希望对大家有所帮助。

需求:如图1,希望在当前比例尺下,鼠标选中仙女湖的Polygon时能够对它重新渲染并放大n倍,几何重心不变。

 

实现方法

1  获取该Polygon的几何重心。

ArcEngine为例,采用IArea.Centroid方法得到质心,即几何重心,Olonlat

 2

2  提取Polygon的要素点。

3

以图3为例,

声明一个geometry对象,把该Polygon赋值给它,通过该类的方法可获得所有要素点坐标为a1lon1lat1),a2lon2lat2),……,a6lon6lat6

3  生成缩放后的新Polygon

以几何重心O为原点建立坐标体系。

则放大n倍后的a1点坐标为(n(lon1-lon),n(lat1-lat))

a2(n(lon2-lon),n(lat1-2at))

……

把所有要素点的新坐标进行渲染后就得到了放大n倍后的新图形。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值