0

我是 GIS 概念的新手,我正在学习 Quadkeys 和用法。

我正在将其四键插入几个点到数据库中,并希望使用四键检索给定半径内的所有点。

假设我有一个点(46,46),其缩放级别 23 上的四键是 12122022101301320022121(使用此链接)

现在我想搜索 DB 中距离参考点 100 公里半径的所有点,比如 (47,47)

我的想法是,使用给定的距离(100 公里)找到缩放级别,形成具有该级别的 (47,47) 的四键,并使用此键查询数据库以检索具有给定前缀的所有键。

网络上的任何参考都只提供 Tile 到 Quad 之间的转换,反之亦然。

如何有效地计算这个缩放级别?这是正确的做法吗?或者有没有更好的方法来使用四键来处理这个问题。

4

1 回答 1

0

使用四键查询数据库是一个有趣的想法。特别是当我知道你的目标是哪些瓷砖时。

但是,我只会搜索距离以获取物品。STDistance ( https://docs.microsoft.com/en-us/sql/t-sql/spatial-geography/stdistance-geography-data-type?view=sql-server-2017 ) 用于搜索远处的对象。如果您遇到性能问题,请确保使用空间索引来提高性能。

于 2018-10-01T07:42:25.297 回答