SQL Server中的Geohash函数?

时间:2018-11-14 16:39:30

标签: sql sql-server azure-sql-database

在SQL Server中是否有用于处理geohashes的内置函数?去/从多边形制图表达或获得中心点?我浏览了geography函数here,但是什么也没看到...

如果没有内置函数,是否有人知道用户定义函数的任何定义,这些定义可能会在那里浮动?我知道该算法是公开可用的,但是如果已经完成,我宁愿不发布自己的SQL实现。

2 个答案:

答案 0 :(得分:1)

在搜索了 Geohash 类型和转换函数的 SQL Server TSQL 实现后,我终于自己去写了一个完整的开源库:

我设计它是为了最大限度地提高准确性、性能和强大的转换一致性保证。它使普通 IT 数据仓库分析师或报告编写者能够有效地使用、处理和利用简单的 GIS 空间邻近模型和查询。它无需分析师或报告作者参与寻找和采用完整 GIS 风格解决方案的陡峭学习曲线即可完成所有这一切。

它提供了两种 Geohash 实现类型; Integer (BIGINT)String (VARCHAR)。它还提供了两种坐标类型; Longitude+LatitudeDMS。然后它提供与这些不同类型的转换。它还提供 conversions to/from the SQL Server spatial geography Point type

有关详细信息,请参阅 README.md

答案 1 :(得分:0)

我创建了一个基本的用户声明函数来完成其中的一些操作:

https://github.com/Broham/SQL-Server-Geohash

目前,它只需要一个geohash并返回其中心纬度/经度,但是可以很容易地对其进行修改以返回一个边界框,获得纬度/经度的geohash或任何其他数量的用例。希望这对某人有帮助