我使用DbGeography类并尝试找到2点之间的距离,这让我感到非常困惑。我知道这些坐标的格式是WKT(long,lat),但是我仍然得到不正确的值,它们甚至不一致。
在break语句中查看这两个截图,第二个在循环后进行一次迭代。
我得到了距离所有这些奇怪的负数...但更重要的是,它似乎不一致地计算它们。查看
的监视表达式coordinateInMemory.Distance(userCoordinateInMemory)
它给-3.96 .....同时distanceInMemory
,(使用相同的代码行设置!)的值为10036 ....
在第二个截图中,他们都是负数,即使手表中的2个点是有效的经度,纽约的纬度点
到底发生了什么事?
public DbGeography CreatePoint(double longitude, double latitude)
{
var text = string.Format(CultureInfo.InvariantCulture.NumberFormat,
"POINT({0} {1})", longitude, latitude);
// 4326 is most common coordinate system used by GPS/Maps
return DbGeography.PointFromText(text, 4326);
}