1

我希望能够将来自 WGS84 的地理点映射到为 ms sql server 格式化的单元格集,如果将相同的坐标对镶嵌到具有 4 个层次网格的 sql server 空间索引中,它将接触到的单元格集每个 256 个单元格。

sql server 2008 空间索引并不理想地满足我们的需求,因为它不支持在同一索引中同时使用地理和非地理数据。

如果我们自己知道如何进行翻译,那似乎可以让我们绕过上述限制。

此页面直观地展示了如何将地理点映射到平面单元,这些平面单元可以单独编码为 1 到最多 4 个正整数的序列。有关编号单元格的示例,请参阅链接页面中的“最深单元格规则”部分。

我基本上是在寻找关于如何做到这一点的伪代码。

任何帮助将不胜感激,如果您知道算法细节,将不胜感激。

先感谢您。

4

1 回答 1

1

一个简单的解决方案是交错 x 和 y 坐标,就像在 morton 曲线又名 z 曲线中一样。您可以通过使用最高有效位计算上限来验证它。必应地图使用莫顿曲线:http: //msdn.microsoft.com/en-us/library/bb259689.aspx但希尔伯特曲线要复杂得多,但在大多数情况下也更好。在希尔伯特曲线中,它使用格雷码作为坐标。这是一些代码示例:将 N 维值映射到希尔伯特曲线上的点

于 2014-05-13T09:46:30.880 回答