SQL 地理点 STDistance ~25-50% off from Google?
SQL Geography point STDistance ~25-50% off from Google?
我正在尝试使用从一个地理点到另一个地理点的 STDistance 进行一些非常基本的距离计算。它有效,但我在计算直线距离时 google 告诉我的结果略有不同。
这是一个例子:
DECLARE @p1 GEOGRAPHY, @p2 GEOGRAPHY;
SET @P1 = GEOGRAPHY::STGeomFromText('POINT(55.68905174 12.45841931)', 4326);
SET @P2 = GEOGRAPHY::STGeomFromText('POINT(55.67915657 12.58483544)', 4326);
SELECT @P1.STDistance(@P2) AS DISTANCE;
其中returns14026米。如果我在 google 上添加相同的点并添加一条直线,它表示 8 公里:
现在我能理解如果 long 和 lat 被切换时的错误,但它们似乎不是。有什么想法吗?这 运行 在 Azure SQL 中是否有任何区别。任何帮助将不胜感激。谢谢。
最后,它们的顺序实际上是错误的(Lat Long 与 Long Lat)。
所以点取(经、纬),google取经、经。
我正在尝试使用从一个地理点到另一个地理点的 STDistance 进行一些非常基本的距离计算。它有效,但我在计算直线距离时 google 告诉我的结果略有不同。
这是一个例子:
DECLARE @p1 GEOGRAPHY, @p2 GEOGRAPHY;
SET @P1 = GEOGRAPHY::STGeomFromText('POINT(55.68905174 12.45841931)', 4326);
SET @P2 = GEOGRAPHY::STGeomFromText('POINT(55.67915657 12.58483544)', 4326);
SELECT @P1.STDistance(@P2) AS DISTANCE;
其中returns14026米。如果我在 google 上添加相同的点并添加一条直线,它表示 8 公里:
现在我能理解如果 long 和 lat 被切换时的错误,但它们似乎不是。有什么想法吗?这 运行 在 Azure SQL 中是否有任何区别。任何帮助将不胜感激。谢谢。
最后,它们的顺序实际上是错误的(Lat Long 与 Long Lat)。
所以点取(经、纬),google取经、经。