计算一批地点的中心

时间:2010-08-15 15:15:39

标签: c# geospatial

我有一些代码可以批处理5英里的地址。这是通过循环地址列表并计算第一个地址和其余地址之间的站点距离线来完成的。然后将列表中的第一个地址以及任何匹配的地址放入另一个列表中。

一旦我有批量地址,我想要abe来计算批次的中心。目前我正在使用第一个地址,但我希望有更好的准确性。因为我有lat / lon可以使用数学函数吗?

标记

2 个答案:

答案 0 :(得分:3)

中心将是所有地点的平均值:

var center = new Location
             {
                 Latitude = list.Average(loc => loc.Latitude),
                 Longitude = list.Average(loc => loc.Longitude)
             };

答案 1 :(得分:2)

“中心”将是(我相信)最高和最高的平均值。纬度最低,经度最高和最低。

   var hilat = list.Max(loc=>loc.Latitute);
   var lolat = list.Min(loc=>loc.Latitute);
   var hilng = list.Max(loc=>loc.Longitute);
   var lolng = list.Min(loc=>loc.Longitute);

   var center = new Location() { Latitute = (hilat-lolat)/2 + lolat, 
                                 Logitute = (hilng-lolng)/2 + lolng};