簡體   English   中英

C#從列表中查找哪個幾何值最接近靜態幾何點

[英]C# Finding which geometry value from a List is closest to a static geometry point

我創建了自己的類“地理位置”,其中只包含“經度”和“緯度”兩個變量。

我有一個List和另一個靜態Geolocation對象。 我需要遍歷列表並分析這些位置中的哪個位置最接近靜態位置。 “最接近”是指現實生活中的距離,因此我認為這被稱為地理空間分析。

我自己的偽想法與此類似。

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

到此循環結束時,我將剩下兩個最接近的點(更具體地說,城市中的哪個火車站最接近用戶的當前位置)。

但是,我真的不確定偽代碼的運行方式是否最有效,而且我也不知道如何進行實際分析(獲取A到B的距離並測量最短的距離)。

我應該使用內置的System.Device.Location.GeoCoordinate類,而不是創建自己的類“ Geolocation”。

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

此類具有函數“ GetDistanceTo(Geocoordinate)”,該函數“返回由此GeoCoordinate指定的緯度和經度坐標與另一個指定的GeoCoordinate之間的距離。”

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM