2017-03-27 59 views
0

我創建了自己的類'Geolocation',它只保存雙變量'經度'和'緯度'。C#從列表中找出哪個幾何值最接近靜態幾何點

我有一個列表和另一個靜態地理位置對象。我需要遍歷我的列表並分析哪些位置最接近靜態位置。 「最接近」我指的是現實生活距離,所以我認爲這將被稱爲地理空間分析。

我自己的僞觀念是沿着這一點。

Geolocation[] closestPositions = new Geolocation[] 

for (int i = 0; i < TrainStations.AllStations.Count; i++) 
{ 
    Geolocation A = TrainStations.AllStations[i]; 
    Geolocation B = DataHandler.UserCurrentPosition; 

    if (A and B are closer than what is stored in closestPosition) 
    { 
     closestPosition[0] = A; 
     closestPosition[1] = B; 
    } 
} 

通過該環路I就會留下與兩個最接近的點的端部(更具體地,其火車站在城市是最接近用戶的當前位置)。但是,我真的不確定我的pududo代碼的運行方式是否最有效,而且我不知道如何進行實際的分析(從A到B的距離和最短的度量) 。

回答

0

與其創建我自己的類「地理定位」,我應該使用內置的System.Device.Location.GeoCoordinate類。

https://msdn.microsoft.com/en-us/library/system.device.location.geocoordinate(v=vs.110).aspx

此類具有的功能「GetDistanceTo(會有地理座標)」其中「返回由該會有地理座標和另一個指定會有地理座標指定的緯度和經度座標之間的距離」。

我可以在我的循環中使用它,使用GeoCordinate對象來分析哪些點最接近。