在SQL Server中是否有用于处理geohashes的内置函数?去/从多边形制图表达或获得中心点?我浏览了geography
函数here,但是什么也没看到...
如果没有内置函数,是否有人知道用户定义函数的任何定义,这些定义可能会在那里浮动?我知道该算法是公开可用的,但是如果已经完成,我宁愿不发布自己的SQL实现。
答案 0 :(得分:1)
在搜索了 Geohash 类型和转换函数的 SQL Server TSQL 实现后,我终于自己去写了一个完整的开源库:
我设计它是为了最大限度地提高准确性、性能和强大的转换一致性保证。它使普通 IT 数据仓库分析师或报告编写者能够有效地使用、处理和利用简单的 GIS 空间邻近模型和查询。它无需分析师或报告作者参与寻找和采用完整 GIS 风格解决方案的陡峭学习曲线即可完成所有这一切。
它提供了两种 Geohash 实现类型; Integer (BIGINT
) 和 String (VARCHAR
)。它还提供了两种坐标类型; Longitude+Latitude 和 DMS。然后它提供与这些不同类型的转换。它还提供 conversions to/from the SQL Server spatial geography Point
type。
有关详细信息,请参阅 README.md。
答案 1 :(得分:0)
我创建了一个基本的用户声明函数来完成其中的一些操作:
https://github.com/Broham/SQL-Server-Geohash
目前,它只需要一个geohash并返回其中心纬度/经度,但是可以很容易地对其进行修改以返回一个边界框,获得纬度/经度的geohash或任何其他数量的用例。希望这对某人有帮助