首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ms SQL geography.STDistance返回错误的距离

Ms SQL geography.STDistance返回错误的距离
EN

Stack Overflow用户
提问于 2011-06-27 20:59:34
回答 2查看 2.3K关注 0票数 1

我正在尝试查询与另一个位置在指定距离内的任何位置。问题不在于查询,而在于geography.STDistance返回的距离。

似乎STDistance对赤道附近的位置进行了相当准确的计算,但我需要使用它来处理北欧国家的位置。挪威,瑞典,芬兰等等。

根据我在瑞典北部地区的计算,距离误差约为2.38倍?!预期结果为1070米,返回距离为2537,28850694302米

我的查询如下所示:

代码语言:javascript
复制
DECLARE @g geography = geography::STGeomFromText('POINT(65.580254 22.179428)', 4326)

SELECT name, [pos].STSrid as srdi, [pos].STDistance(@g) as d
  FROM [GPSCHAT].[dbo].[USERS]

并且"other location“具有坐标(65,578541 22,202286) (与SRID 4326一起存储)

我猜这与赤道(接近极圈)的距离有关,但肯定有一种方法可以根据纬度更准确地计算出这一点,或者我错了?

EN

回答 2

Stack Overflow用户

发布于 2011-09-17 23:30:13

看起来您正在使用'X,Y‘创建您的点。

从文本创建点时,请改用'Y,X‘。

有关更多信息,请查看此MSDN Article

票数 3
EN

Stack Overflow用户

发布于 2011-08-10 03:56:19

为什么你不使用另一个空间参考标识符,它更适合你位置周围的地球曲率。SRID 4326可能无法像其他本地参考系统那样精确测量

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6493188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档