#读取json某一节点数据_i3s 一种开源的三维地理数据规范 简单解读

0a0263b6bf67da3df21f6292c1cecfe9.png
i3s,esri主推到ogc的一种三维开源GIS数据标准。
版权声明:原创。博客园/B站/小专栏/知乎/CSDN @秋意正寒
转载请标注原地址并声明转载。 https:// zhuanlan.zhihu.com/p/10 2725862

1. i3s及其实现

i3s是一种用树结构来组织大体积量三维数据的数据格式标准,比如在位图界的jpg格式一样,只不过i3s是“标准”,具体实现的文件格式另有一说。
i3s采用json文件来描述数据,采用二进制文件(格式为.bin)来存储三维地理数据。
i3s是OGC规范,目前OGC版本是1.0,但是在Esri维护的社区项目中,i3s已经演进到1.7了。可以说是“一般”与“特殊”的区别。
OGC标准一旦制定就不应该频繁更改,但是社区维护版本可以根据实际生产需要,基于OGC标准做结构优化等。
i3s标准将三维地理数据切分,用“节点”的概念组织起来,然后这些节点被有序地写在“节点页”中。说白了就是树形结构。
i3s将三维地理数据组织起来后,可以放在服务器上通过REST接口访问。
i3s目前由slpk格式的文件实现。

附:i3s对三维地理数据的分类

  • 3d模型——传统3d建模的精模转换数据
  • 表面模型——倾斜摄影数据
  • 三维点
  • 三维点云
  • 建筑——BIM数据

为什么不用bim文件、为什么不用现有的三维数据格式呢?
首先,商业软件的三维数据格式并不开源,而i3s格式是开源的,只要熟读标准可以自己编程创建(难度比较大就是了)。
其次,开源的三维数据格式不具备地理信息。
最后,bim数据不面向地理信息系统。
所以,在三维GIS萌芽的今天(指这个年代),一种开源的三维地理数据规范就显得十分重要。

1.1. i3s标准的数据组织和结构

在前文提到i3s使用的是树结构组织数据,同时支持规则四叉树或者R树组织。每个树节点代表的地理数据的范围,由外包围球(mbs)或外包围(obb)盒表示。

8c1007b082715eb9d59ea84cf7b33baf.png

48346595a95cd2651f85d67a87ced9e2.png


官方推荐使用外包围盒表示范围(和二维的外包矩形,类似),点云数据仅支持外包围盒。

1.1.1. 节点和节点页

一份三维地理数据应该合理的切分,i3s使用树结构切分,以适应大量数据的快速分发、显示。
切分的结果就是“节点(Node)”,组织这些节点的结构叫做“节点页(NodePage)”。
在1.6及早期版本中,节点信息是写在一个叫3DNodeIndexDocument.json.gz文件中的,即3DNodeIndexDocument文档,节点一多,遍历小文件频率增加,对IO性能有不小的影响。
所以在1.7版本中,将这个3DNodeIndexDocument文档聚合到“节点页”中去了,类似于索引的功能(i3s的i就是index嘛)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值