您的当前位置:首页正文

3d tiles规范boundingVolume属性学习

2024-11-24 来源:个人技术集锦

3d tiles的瓦片(Tiles)包含一些属性,其中第一项是boundingVolume;下面学习boundingVolume;

boundingVolume,这个翻译为边界范围框,如果直译为边界体积可能有问题,其实就是包围盒的意思;是指包围当前瓦片的空间范围;它没有体积,应该是一些坐标;

boundingVolume有三种类型:定向边界框,边界球,以及由最小和最大纬度、经度和高度定义的地理区域;
图示如下;

此图应来自相关组织;

先看一下地理区域类型,用region表示;region是一个由六个数字组成的数组,西、南、东、北、最小高度、最大高度;前4个是经纬度;高度以米为单位;
找一个region类型的示例数据看一下;就是region表示的边界范围框;
    "boundingVolume": {
      "region": [
        -0.0005682966577418737,
        0.8987233516605286,
        0.00011646582098558159,
        0.8990603398325034,
        0,
        241.6
      ]

然后看一下边界框类型,用box表示;是一个由12个数字组成的数组;前3个值定义边界框的中心的(x,y,z)坐标,接着的3个值定义了X轴方向和半长度,再接着的3个值定义了Y轴方向和半长度,最后三个值定义了Z轴方向和半长度;
找一个 box 类型的示例数据看一下;
{"boundingVolume":{"box":[-1.51339918375015e-09,0.519064154941589,149.869166467804,1069.03109544085,0,0,0,718.646260315552,0,0,0,152.243481869344]},

看一下边界球类型,用sphere表示;是一个由4个数字组成的数组,用于定义边界球体;分别定义球的(x,y,z)坐标以及半径,半径以米为单位;
找个示例数据看一下;
"boundingVolume": {
      "sphere": [
      0, 0, 10, 141.4214
      ]
}

根据情况采用其中一种;

显示全文