我希望将 GPS 坐标存储在 SQL Server 2005 中,以便用户与支持 GPS 的手机进行位置匹配。我在 MSDN 上读过STDistance
,但它似乎只存在于 SQL Server 2008(及更高版本)以及几何和地理字段类型中。我还需要支持旧版本的 SQL Server(至少 2005)。
在 SQL Server 2005 中存储 GPS 坐标和计算 2 个 GPS 位置之间距离的最佳方法是什么?
我希望将 GPS 坐标存储在 SQL Server 2005 中,以便用户与支持 GPS 的手机进行位置匹配。我在 MSDN 上读过STDistance
,但它似乎只存在于 SQL Server 2008(及更高版本)以及几何和地理字段类型中。我还需要支持旧版本的 SQL Server(至少 2005)。
在 SQL Server 2005 中存储 GPS 坐标和计算 2 个 GPS 位置之间距离的最佳方法是什么?
GPS 坐标只是纬度和经度 - 如果您必须支持 SQL 2005,则将它们存储为您所需精度的数字。
要计算距离,可以实现Haversine 公式
如果您以十进制形式存储坐标,则不会获得空间树索引。我的建议很简单:升级。如果没有,您将根据需要重新实现所有空间功能。这会很慢,而且会做很多工作。