[英]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.