C#从列表中查找最接近静态几何点的几何值

C#从列表中查找最接近静态几何点的几何值,c#,geolocation,geometry,C#,Geolocation,Geometry,我已经创建了自己的类“Geolocation”,它只包含两个变量“longitude”和“latitude” 我有一个列表和另一个静态地理定位对象。我需要循环浏览我的列表,并分析其中哪些位置最接近静态位置。我所说的“最近距离”指的是现实生活中的距离,所以我认为它应该被称为地理空间分析 我自己的伪想法就是这样的 Geolocation[] closestPositions = new Geolocation[] for (int i = 0; i < TrainStations.AllSt

我已经创建了自己的类“Geolocation”,它只包含两个变量“longitude”和“latitude”

我有一个列表和另一个静态地理定位对象。我需要循环浏览我的列表,并分析其中哪些位置最接近静态位置。我所说的“最近距离”指的是现实生活中的距离,所以我认为它应该被称为地理空间分析

我自己的伪想法就是这样的

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;
    }
}
Geolocation[]closestPositions=新的地理位置[]
对于(int i=0;i
在这个循环结束时,我只剩下两个最近的点(更具体地说,城市中哪个火车站离用户的当前位置最近)


然而,我真的不确定我的pesudo代码的运行方式是否最有效,我也不知道如何进行实际分析(获取A到B的距离,并测量哪个最短)。

我应该使用内置的System.Device.Location.GeoCoordination类,而不是创建我自己的类“Geolocation”

此类有一个函数“GetDistanceTo(Geocoordinate)”,该函数“返回此Geocoordinate指定的纬度和经度坐标与另一个指定的Geocoordinate之间的距离。”

我可以在我的循环中使用它,使用GeoCordinate对象,来分析哪些点是最近的