zoukankan      html  css  js  c++  java
  • qtree文件结构解析(二)

    by 蔡建良 2020-9-19

    四叉树(QuadTree,q-tree,q-树)-现有瓦片的一组引用

    名称:q2-xxx-q.yyy
    
    q2 -服务数据,解密和解压缩后可用
    xxx-是瓦片的数字名称
    q - q-tree
    yyy-qtree版本
    
    示例:q2-020310311303103-q.306

    q树为历史模式(新一代树)

    名称:qp-xxx-q.yyy
    
    qp-服务数据,解密和解压缩后可用
    xxx-是瓦片的数字名称
    q - q-tree
    yyy-qtree版本
    
    示例:qp-020022323230230-q.37

     有关四叉树数据包的一些说明:

      根四叉树数据包q2-0将包含四个级别:
           “” 10”-“ 3400”-“ 3316000”-“ 33364
    
      每个其他的四叉树数据包(即q2-0301)将包含五个级别,
      但第一层是这棵本地树的根,
      条目未定义,因为它与先前的四叉树数据包重叠
           “” 1(未定义!)
          “ 0”-“ 3400”-“ 3316000”-“ 333640000”-“ 3333256
    
      例如,四叉树数据包q2-0301将不提供任何详细信息
      对于blist 301,因为它包含在q2-0中。 但是它将提供
      blist 301030113012,...,3013333的详细信息。

    下载影像第0层qtree文件: http://kh.google.com/flatfile?q2-0-q.888

    下载完成后是二进制文件,用密钥解密,解密后是zlib格式的压缩数据,解压后才是真实的qtree数据。

    Quadtreepacket.cpp文件包含qtree结构。

    文件头部32个字节:
    buf << magic_id 4字节 值=32301
    << data_type_id 4字节 值=1
    << version 4字节 值=2
    << num_instances 4字节 结点个数
    << data_instance_size 4字节 节点大小=32个字节
    << data_buffer_offset 4字节
    << databuffersize 4字节
    << meta_buffer_size; 4字节

    qtree节点部分:每个节点占用32个字节
    buf<<children 1字节 位段(bitfield)用于识别节点图像类型
    <<kByteFiller 1字节 占位
    <<cnode_version 2字节 节点版本
    <<image_version 2字节 影像版本
    <<terrain_version 2字节 地形版本
    <<num_channels 2字节
    <<kWordFiller 2字节 占位
    <<type_offset 4字节
    <<version_offset 4字节
    <<image_neighbors 8字节
    <<image_data_provider 1字节
    <<terrain_data_provider 1字节
    << kWordFiller 2字节

  • 相关阅读:
    Word Puzzles [POJ 1204]
    set用法
    FOJ有奖月赛2012年11月
    BerDonalds
    POJ1469 匈牙利算法
    后缀数组
    ZOJ Monthly, January 2013
    算法导论<一>
    Yell Classico
    点聚 WebOffice 编辑辅助控件 WebOffice.OCX
  • 原文地址:https://www.cnblogs.com/janehlp/p/13695688.html
Copyright © 2011-2022 走看看