【发布时间】:2011-09-17 05:05:51
【问题描述】:
我创建了一个包含以下列的表格:
Text:varchar(255)
Location:geography
它们包含来自荷兰的一些城市作为数据(从谷歌地图获得坐标):
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)
我想知道数据库中所有城市到鹿特丹的距离,所以我执行了这个查询:
Select
Text, Location,
Location.STDistance(geography::Point(51.925638, 4.493408, 4326)) as Distance
from Messages
但结果我得到每个城市的距离接近 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)
这就是有趣的地方:
(A) - (B) = 48504 m = 48 km
(A) - (C) = 133123 m = 133 km
这些值大致是这些城市之间的距离。
【问题讨论】:
标签: .net sql sql-server distance geography