рассчитать центр партии локаций - PullRequest
1 голос
/ 15 августа 2010

У меня есть код, который объединяет адреса с 5 милями друг от друга.Это делается путем циклического просмотра списка адресов и расчета линии расстояния между первым адресом и оставшимися адресами.Первый адрес в списке вместе с любым совпадающим адресом затем помещается в другой список.

После того, как я собрал адреса, я хочу вычислить центр пакета.На данный момент я использую первый адрес, однако я хотел бы получить лучшую точность.Поскольку у меня есть лат / лон, могу ли я использовать математическую функцию для этого?

Марк

Ответы [ 2 ]

3 голосов
/ 15 августа 2010

Центр будет средним из всех мест:

var center = new Location
             {
                 Latitude = list.Average(loc => loc.Latitude),
                 Longitude = list.Average(loc => loc.Longitude)
             };
2 голосов
/ 15 августа 2010

«Центр» будет (я полагаю) средним из самого высокого и самого низкого широт и самого высокого и самого низкого длинных.

   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};
...