Bitmask 如何在z顺序范围搜索期间正确计算bigmin和litmax?

Bitmask 如何在z顺序范围搜索期间正确计算bigmin和litmax?,bitmask,spatial-index,z-order-curve,Bitmask,Spatial Index,Z Order Curve,解释如何计算bigmin和litmax(大最小值和小最大值) 我很难理解步骤4的措辞,看它如何转换为伪代码、C或python 步骤4 我们知道我们需要计算最接近yn分界线的纬度值。取最小值和最大值的最高有效位,直到它们第一个不同的位置,yn,并将其称为y[1..m]我们知道,划分线上方的纬度值将被二进制编码为y[1..m]0111…,而y[1..m]1000。。。这转化为我们的纬度值LitMax和BigMin 因为在我们的示例中最重要的不同位是y4,所以我们的LitMax和BigMin纬度值分别

解释如何计算bigmin和litmax(大最小值和小最大值)

我很难理解步骤4的措辞,看它如何转换为伪代码、C或python

步骤4

我们知道我们需要计算最接近yn分界线的纬度值。取最小值和最大值的最高有效位,直到它们第一个不同的位置,yn,并将其称为y[1..m]我们知道,划分线上方的纬度值将被二进制编码为y[1..m]0111…,而y[1..m]1000。。。这转化为我们的纬度值LitMax和BigMin

因为在我们的示例中最重要的不同位是y4,所以我们的LitMax和BigMin纬度值分别等于0111和1000

在垂直分割中,我们只需将其反转为x位和经度

我可以从coord转换z顺序索引,反之亦然


我只是对计算bigmin和litmax感兴趣,因为它们允许很大的速度提升。我已经搜索过了,但找不到关于这些特定位掩码操作的详细信息(这里的答案并没有真正涵盖它,链接的dynamodb文章也没有)

请看原文章第76页的决策表。美国专利US7321890B2对Z索引的Bigmin计算背后的思想进行了更详细的描述,该专利使用希尔伯特顺序而不是Z顺序。参见第2节:“Z-索引的BIGMIN解决方案”,该部分已被纳入,以简化描述,因为专利中的许多想法与Hilbert索引的应用相同。一旦实现了Bigmin,只需看看原始文章中的Litmax决策表。我希望这能有所帮助