每当我使用 FreeMapTools 计算我和朋友邮政编码之间的距离时,它都会给我以下信息:
- 300.788 英里
- 484.072 公里
当我使用 NetTopologySuite 时,我得到了5.2174236612815返回的值。
- 5.2174236612815乘以 60 是313.04541967689
- 5.2174236612815乘以 100 是521.74236612815
这些值与 FreeMapTools 上显示的距离并不太远,但仍然相距甚远。
我的代码如下:
using System;
using GeoAPI.Geometries;
using NetTopologySuite;
namespace TestingDistances
{
class Program
{
static void Main(string[] args)
{
var geometryFactory = NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326);
// BT2 8HB
var myPostcode = geometryFactory.CreatePoint(new Coordinate(-5.926223, 54.592395));
// DT11 0DB
var myMatesPostcode = geometryFactory.CreatePoint(new Coordinate(-2.314507, 50.827157));
var distance = myPostcode.Distance(myMatesPostcode);
Console.WriteLine(distance); // returns 5.2174236612815
Console.WriteLine(distance * 60); //similar to miles (313.04541967689)
Console.WriteLine(distance * 100); //similar to km (521.74236612815)
Console.ReadLine();
}
}
}
如何将 NetTopologySuite 返回的值准确转换为英里/距离?这是我不知道的某种形式的 GPS 距离单位吗?
谢谢