给定LocationCollection,找到圆的中心

时间:2012-05-10 10:57:05

标签: c# silverlight math

我有一堆纬度和经度的LocationCollection,我需要得到圆心的纬度/经度。如何计算圆的中心坐标?

编辑:LocationCollection中的纬度/经度构成整个圆的圆周。对不起,感到困惑。

2 个答案:

答案 0 :(得分:0)

你指的是哪个圈子?请记住,纬度是一个圆,经度是另一个圆,所以我想你想要坐标到球体的中心。我可以尝试向您解释解决方案,但this answer非常适合让您入门。

答案 1 :(得分:0)

如果您的收藏中有3个位置,并且位置圆的半径不是太大(小于50公里左右)那么使用计算{{1的公式 - 你将不会出错(谷歌那个)假装(近似)球形地球上的纬度/经度坐标是笛卡尔平面上的y / x坐标。

如果你有超过3个位置,那么你的圆圈太多了 - 问题不在于你不能从(比如说)8个位置计算圆圈,而是你可以计算circle from 3 points个圆圈他们不太可能重合。在这种情况下,你可以做一些平均,找出一个圆圈来绑定它们。

随着你要寻找的圆的半径变大(我在这里故意模糊),那么地球表面的平面近似变得更糟,并且通过平面几何近似椭圆几何变得越来越不合适。例如,在球体的表面上,任何2个点都定义一个圆圈(穿过两个点的大圆圈),除非它们是对映的,在这种情况下它们定义了无限的圆圈。现在你需要更加聪明......