空间四叉树分割

nmj2086 / 2023-09-01 / 原文

已知条件:整个地球是[-180,180],[-90,90]

root:{

  rectangle:[minx,maxx],[miny,maxy],

  nodes:[node1,node2,node3,node4],

  Objects:all,

  level:0

}

node

{

  rectangle:[minx,maxx],[miny,maxy],

  nodes:[node1,node2,node3,node4],

  Objects:1/2*all(近似),

  level:1

leafnode

{

  rectangle:[minx,maxx],[miny,maxy],

  nodes:[],

  Objects:1,

  level:18

}

 

参考:Cesium的quadtreePrimitive类(好像cesium里的quatreenode不叫node,叫quadtreetile)

参考2:https://www.cnpython.com/java/27316

参考3:https://www.freesion.com/article/8600351208/#google_vignette

参考4:https://download.csdn.net/download/weixin_42099815/18578309 or varunpant/Quadtree: Quadtree implementation (github.com)

参考5:https://download.csdn.net/download/weixin_42131405/18338928 or leonardodlana/quadtree-geolocation: Small project showing the power of the quadtree structure to improve geolocation (github.com)

quadtree{

  type:Point(Line,Polygon),

  root:

}

 

方法:

createQuadtree()

AddRootToQuadtree()

AddNodeToRoot()