倾斜摄影实景模型到底能不能用

随着新一轮实景三维中国的建设,实景三维的概念被进一步拓宽,包括 Mesh 三维模型、基础地理实体和 LOD 1.3 的建筑物模型。其中,Mesh 三维模型对应倾斜摄影测量生产的三维模型,即大家概念上认知的实景三维模型。相比之下,基础地理实体和 LOD  1.3 的建筑物模型就比较陌生,尤其是基础地理实体,明明是二维的数据,怎么就和三维扯上关系了?

对于 Mesh 三维模型来说,这些年的发展也就是分辨率更高一点,网格更平整一点,数据量更小一点。除此之外,并没有任何显著的提升。在实际应用中,尤其是在智慧城市平台中作为数字底座,因其好看不好用的缺点,总是不断受到诟病。

对于 GIS 数据来说,有纯粹是作为底图看的数据,比如 DOM 数据,可更重要的仍然是矢量数据,因为点、线、面都是几何与属性共存的,且各个对象之间相互独立。只是这种原本在二维平面理所应当的特性,反而在三维中成为一种奢望。

当然,肯定有人说 Mesh 模型也可以做所谓的语义单体化,无非就是对网格顶点做语义分割,这确实是一种解决方案,但是肯定不是一种理想的解决方案。也有人觉得何必搞这么麻烦,直接用白模不就好了。可建筑以外的对象怎么办?自然可以建模,比如地下管线。从应用的角度来说没问题,但是从数据建设的角度来说,这样东一榔头西一棒子永远成不了体系。

前一阵子把基于 citygml 的 cityjson 标准看了一遍,感觉很有收获,三维城市的未来一定是几何与属性共存的实体化对象,而不是一堆三角形组成的 mesh 模型。

和 citygml 和 cityjson 对应的不是 mesh 模型,而是基础地理实体,两者都包含对象的几何和属性描述。只是 citygml 和 cityjson 设计中就基于 UML 图设计,所以整个继承关系非常清晰,而基础地理实体则更加传统,仍然是通过大类、中类、小类来构建数据体系,用表结构来记录属性信息。相比较于基础地理实体,citygml 和 cityjson 明显更加灵活,但是基础地理实体涵盖的对象种类更多,而且基础地理实体可以真正的做到二三维一体化。

基础地理实体中每一种实体都有对应的几个表达,但是并没有说过这种表达必须是二维的。比如说建筑物实体,可以是二维的矢量面,也可以是三维的模型,比如LOD 1.3 的建筑模型仅仅是地理实体中建筑物的一种三维化的几何表达而已。可不可以用更加精细化的模型表达呢?当然可以!但是无论几何上如何表达,对于同一栋建筑物来说,其属性必须保持一致!对于基础地理实体来说,每一种实体对象都可以做二维和三维的表达,甚至三维还可以做不同 LOD 等级,但是核心在于无论是什么维度的几个表达,其模型背后的属性信息永远保持一致!试想一下,是不是可以基于一套地理实体数据开发分别开发一个二维的平台和三维的平台呢?这两个平台除了几何上有所区分,在功能上完全一致!

上面说的比较理想,也是我看了实景三维中国建设方案后的一些猜想。再来谈谈实际落地的情况。以我所在的省份为例,基础地理实体是基于 1:2000 的地形图和其他专题数据转换,转换结果不言而喻仍然是二维的,其中建筑物实体则在二维矢量的基础上进一步构建 LOD 1.3 模型,映射通用纹理。这种建设要求引来很多非议,其中就有人趾高气昂地认为这种东西没有用。

有没有用是一个屁股决定脑袋的问题。很多人跟我说现在的智慧城市或者数字孪生平台没有用,我自己也这么认为,可是换个角度思考,做这些平台让大家能有工作、能挣钱,不也是这些平台存在的意义之一吗?

但是从我个人的角度出发,我真的觉得这才是实景三维正确的发展方向。Mesh 三维模型只是一种中间数据,在这中间数据的基础之上进一步加工,生成的二三维一体化的基础地理实体才是真正可看、可用的实景三维。这个观点我在《深圳给“城市级实景三维”立了标杆》中提到过,而我相信将来全国的实景三维中国建设也必将向深圳看齐!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 18:42:10       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 18:42:10       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 18:42:10       58 阅读
  4. Python语言-面向对象

    2024-07-12 18:42:10       69 阅读

热门阅读

  1. 力扣题解(等差数列划分)

    2024-07-12 18:42:10       22 阅读
  2. ES6 Module 的语法(十二)

    2024-07-12 18:42:10       18 阅读
  3. 王者荣耀爬虫程序

    2024-07-12 18:42:10       22 阅读
  4. yarn的安装与配置 (秒懂yarn用法)

    2024-07-12 18:42:10       19 阅读
  5. 错误集1

    2024-07-12 18:42:10       20 阅读
  6. ES6 async 函数详解 (十)

    2024-07-12 18:42:10       21 阅读
  7. Linux下如何解压rar文件

    2024-07-12 18:42:10       24 阅读
  8. C# 建造者模式(Builder Pattern)

    2024-07-12 18:42:10       23 阅读
  9. Warning: could not connect to a running Ollama instance

    2024-07-12 18:42:10       18 阅读
  10. 大语言模型

    2024-07-12 18:42:10       20 阅读