使用四键检索给定半径内的所有点

时间:2018-09-23 03:00:12

标签: bing-maps quadtree mercator

我是GIS概念的新手,并且正在学习有关Quadkey和用法的信息。

我要在数据库中插入一些带有四键的点,并希望使用四键检索给定半径内的所有点。

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

现在我要搜索数据库中所有距参考点100公里半径的点,例如(47,47)

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

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

如何有效计算此缩放级别? 这是正确的做法吗?还是有更好的方法使用四键来解决此问题。

1 个答案:

答案 0 :(得分:0)

使用四键查询数据库是一个有趣的想法。特别是当我知道您要定位的图块时。

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