[英]Given a lat/long, find the nearest lat/long pair from a list of lat/long in c#
[英]order list of Lat long vertices to form a polygon in C#
我有一些Lat long列表,它们围绕一个中心点形成一个多边形。 我想顺时针获取Lat-Long的有序列表,以便在该有序列表中连接Lat-Long顶点并形成非凸多边形。
如下面的示例所示,从一组顶点生成多边形的定义不明确。
让
A = ( 0, 0)
B = ( 3,-3)
C = ( 6,-1)
D = ( 4,-1)
E = ( 4, 1)
F = ( 6, 1)
G = ( 3, 3)
顺时针形成多边形的一种可能性是
AGFEDCBA
和顺序
AGEFCDBA
是不同的。 第一个多边形是凹面,第二个正负面是凸面。 如果删除A
且其余点在GB
轴上镜像,则甚至可以从给定的顶点集中定义两个非凸多边形。 更确切地说,这组顶点是
B = ( 3,-3)
C = ( 6,-1)
D = ( 4,-1)
E = ( 4, 1)
F = ( 6, 1)
G = ( 3, 3)
E' = ( 2, 1)
F' = ( 0, 1)
D' = ( 2,-1)
C' = ( 0,-1)
而两个不同的多边形是
GEFCDB-C'-D'-E'-F'-G
和
GFEDCB-D'-C'-F'-E'-G
。
但是,如果一个人对给定顶点的凸包多边形(凸包的边界)感兴趣,则有很多不同的算法可以计算出来。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.