XY坐标到Javascript中的四叉树
XY coordinates to quadtree in Javascript
我想转换将tile XY坐标转换为指定详细级别的QuadKey。
我需要在Javascript中这样做。为了说明这个问题,你可以在这里找到一个确切的描述:http://msdn.microsoft.com/en-us/library/bb259689.aspx,在那里你也可以找到c#中的函数。函数名为:tileXYToQuadKey。
我需要在Javascript中实现它。这是我创建的JSFiddle:
http://jsfiddle.net/cueqzapper/m44bgk1p/var tileXYToQuadKey = function(tileX, tileY, levelOfDetail)
{
quadKey = 'q';
for (var i = levelOfDetail; i > 0; i--)
{
var digit = 0;
var mask = 1 << (i - 1);
console.log(mask);
if ((tileX & mask) != 0)
{
digit++;
}
if ((tileY & mask) != 0)
{
digit++;
digit++;
}
quadKey += 't' + digit;
}
return quadKey;
}
console.log(tileXYToQuadKey(1,1,2));
但是有些地方不对劲。当我像这样调用函数:tileXYToQuadKey(1,1,2)我得到qt0t3返回。但正确的是qt0t0,因为坐标为x=1, y=1的贴图显然位于左上角,这意味着它的四边形键值为00。
我做错了什么?
在链接的bing地图中,你可以看到关卡2的四键t0t3是x=1和y=1处的贴图。坐标从(0,0)开始,你看到的是第2层!
函数的实现是正确的,结果也是正确的。(1,1)中的贴图的四键值为03。它不是左上角:左上角的tile是(0,0)
相关文章:
- 如何查找值是否存在于二叉树中
- 为什么我应该使用带有碰撞检测的四叉树
- 要插入二叉树的第一个元素,请将其放在左边还是右边
- 二叉搜索树 JavaScript 实现 - 删除函数
- JavaScript数据结构:优先级队列,字典,平衡二叉树
- 使用任意 x 和 y 名称初始化 D3 四叉树
- 将列表显示为二叉树
- 与二维碰撞有关的四叉树
- 解释递归在确定二叉树深度的算法中是如何工作的
- 验证二进制搜索树-JavaScript
- 二叉树中每个节点的坐标
- XY坐标到Javascript中的四叉树
- 二叉树的toString方法
- 不平衡的二叉树不能正常工作.node . js
- 在区域四叉树中实现插入/删除/查询范围
- 奇怪的DOM树JavaScript问题
- 了解Javascript D3可视化四叉树
- 稀疏体素八叉树
- 改进计算二叉树中节点值最大和的函数的运行时间
- JavaScript函数打印出一个完整的二叉树