算法:为不同的缩放生成 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);
}
}
}
我想知道是否有一种算法可以用来为不同的缩放生成四键。
一个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);
}
}
}