【问题标题】:How to query nearby sites by geography?如何按地理位置查询附近的站点?
【发布时间】:2016-05-02 00:17:26
【问题描述】:

我使用SQL Server 2014作为我的数据库,一张表有100万行数据,如何按地理列查询附近的站点?

SQL Server 有这样的功能吗?

我们应该考虑性能。

例子:

select top 10 
from table1 
where nearby(latlng) < 10(miles)

【问题讨论】:

  • 如果你想用经纬度计算距离,你需要Haversine公式。
  • 您能否更好地描述您目前存储在数据库中的地理信息?根据您可以使用的内容,它可能会从根本上改变您的方法。
  • 我存储有两种格式,一种是float类型的经纬度,另一种是SQL server中的geography格式

标签: sql sql-server geometry gis geo


【解决方案1】:

在 TABLE1 中添加一个地理列,例如 Location。确保为该列创建空间索引以提高空间查询的性能。

SELECT TOP 10 * FROM TABLE1
ORDER BY TABLE1.Location.STDistance(latlng) DESC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-09
    • 2023-03-28
    • 1970-01-01
    • 2017-09-07
    • 2018-09-06
    • 2021-11-29
    相关资源
    最近更新 更多