【问题标题】:need help to add nodes to implement quadtree in java需要帮助添加节点以在 java 中实现四叉树
【发布时间】:2014-02-19 06:27:21
【问题描述】:

我想在实现四叉树的编码方面获得一些帮助。我有一个输入节点作为空间图块位置,格式为

<tile zoom level,tile row,tile column> given as 

<12,3943,1813>

我想创建一个四叉树并添加节点(在 java 中)以实现以下内容:

输入级别 '12' 被拆分为

<13,7886,3626> <13,7887,3626> <13,7886,3627> <13,7887,3627> . 

进一步将每个“13”级别拆分为“14”级别。

<13,7886,3626> is split as

<14,15772,7252> <14,15773,7252> <14,15772,7253> <14,15773,7253>

<13,7887,3626> is split as

<14,15774,7252> <14,15775,7252> <14,15774,7253> <14,15775,7253>

<13,7886,3627> is split as

<14,15772,7254> <14,15773,7254> <14,15772,7255> <14,15773,7255>

<13,7887,3627> is split as

<14,15774,7254> <14,15775,7254> <14,15774,7255> <14,15775,7255>

【问题讨论】:

  • 请准确说明您的问题,我们不明白代码示例的重点以及您想用它去哪里
  • 我有空间位置的平铺信息,格式为 首先我输入为 我需要创建一个使用此信息的四叉树,即缩放级别 13 和缩放级别 14
  • 您是否能够根据下面提供的答案编写您想要的代码?

标签: java bing-maps quadtree


【解决方案1】:

您可以在 MSDN 上找到一些有用的信息: http://msdn.microsoft.com/en-us/library/bb259689.aspx

我无法为您提供执行此操作的 Java 代码,但这是 C# 中的专用方法,因此您可以轻松地将其移植到 Java 中:

/// <summary>
/// Converts tile XY coordinates into a QuadKey at a specified level of detail.
/// </summary>
/// <param name="tileX">Tile X coordinate.</param>
/// <param name="tileY">Tile Y coordinate.</param>
/// <param name="levelOfDetail">Level of detail, from 1 (lowest detail)
/// to 23 (highest detail).</param>
/// <returns>A string containing the QuadKey.</returns>
public static string TileXYToQuadKey(int tileX, int tileY, int levelOfDetail)
{
    StringBuilder quadKey = new StringBuilder();
    for (int i = levelOfDetail; i > 0; i--)
    {
        char digit = '0';
        int mask = 1 << (i - 1);
        if ((tileX & mask) != 0)
        {
            digit++;
        }
        if ((tileY & mask) != 0)
        {
            digit++;
            digit++;
        }
        quadKey.Append(digit);
    }
    return quadKey.ToString();
}

【讨论】:

    猜你喜欢
    • 2013-02-08
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    相关资源
    最近更新 更多