算法:为不同的缩放生成 QuadKeys

Algorithm : Generate QuadKeys for different zoom

我想知道是否有一种算法可以用来为不同的缩放生成四键。

一个quadkey代表地球上独一无二的图片,当我们放大时,我们将一个quadkey拆分成4个其他quadkey(或图片),我的objective是生成从初始缩放到目标缩放,例如

输入:

033111010230 (这是一个缩放为 12 的随机四键,因为它包含 12 个数字)

14 (这是缩放目标)

输出:

033111010230 (quadkey本身缩放12)

0331110102300 (从原来的quadkey拆分出来的第一个quadkey)

03311101023000 (第一个四键与缩放 13 分开)

03311101023001

03311101023002

03311101023003

0331110102301 (从原始四键中拆分出的第二个四键)

03311101023010

03311101023011

...

03311101023033

我不想让你为我开发这个算法,我只是想问一下是否有可以使用的算法,我读过这个 article 关于一些四键密钥算法,但它只谈论转化次数

如果有人对这种算法感兴趣:

public static void SplitQuadKey(string quadKey, int zoom)
        {
            if (quadKey.Length < zoom)
            {
                for (int j = 0; j <= 3; j++)
                {
                    Console.WriteLine(quadKey + j);
                    SplitQuadKey(quadKey + j, zoom);
                }
            }
        }