相关疑难解决方法(0)

SQL Server 2008 R2地理距离?

我创建了一个包含以下列的表:

Text:varchar(255)
Location:geography
Run Code Online (Sandbox Code Playgroud)

它们包含来自荷兰的一些城市作为数据(从谷歌地图获得坐标):

Rotterdam - POINT (51.925637 4.493408 4326)
Utrecht - POINT (52.055868 5.103149 4326)
Nijmegen - POINT (51.801822 5.828247 4326)
Breda - POINT (51.542919 4.77356 4326)
Run Code Online (Sandbox Code Playgroud)

我想知道鹿特丹数据库中所有城市之间的距离,所以我执行这个查询:

Select 
    Text, Location, 
    Location.STDistance(geography::Point(51.925638, 4.493408, 4326)) as Distance 
from Messages
Run Code Online (Sandbox Code Playgroud)

但结果是每个城市的距离接近6800000.

可能是什么导致了这个?

我能想到的唯一原因是我使用了错误的SRID,但我无法弄清楚应该使用哪一个.

谢谢!

编辑:

只是为了它,我去玩数字,我得到了一些奇怪的结果:

Distance from Rotterdam to Rotterdam: 6828459.57 (A) (weird but true)
Distance from Rotterdam to Breda: 6779956.10 (B)
Distance from Rotterdam to Nijmegen: 6695336.38 (C)
Run Code Online (Sandbox Code Playgroud)

现在这里有趣的地方:

(A) - (B) = 48504 m = 48 km
(A) …
Run Code Online (Sandbox Code Playgroud)

.net sql sql-server geography distance

8
推荐指数
1
解决办法
4692
查看次数

标签 统计

.net ×1

distance ×1

geography ×1

sql ×1

sql-server ×1