随着技术发展,跨界融合已经不是新鲜事物,近两年BIM、PIM+GIS一张图的提出,给行业注入了一股清流。

为GIS行业发展带来了新的契机,同时也带来了一些新的挑战。面对挑战,本文将剖析BIM、PIM+GIS应用过程中遇到的难点以及应对方法。

首先我们要分析BIM与GIS的各自特点;

1).BIM、PIM注重微观、注重细节,GIS偏向宏观,

  以一栋楼为例,BIM数据的模型数量(个体)可达到100万个对象数量【对象的概念:每一个对象是一个独立的个体,具有可编辑、可以测量、有独立属性】

以一个工厂为例,一个发电厂的模型数量可达到500万个对象。

.BIM、PIM坐标系独立(无地理信息属性)

3. BIM、PIM数据侧重管理,可溯源。

4BIM、PIM可测量,对精度要求高。

5.BIM、PIM的技术特点:参数化,轻量化,可编辑。

结合以上特点,把BIM、PIM接入到GIS中要解决的如下问题:

1.坐标转换、数据精度问题

无论是BIM、PIM、GIS都需要解决这样这个问题,尤其是将数据送到显卡进行绘制,很多显卡对双精度(double)支持不好,计算性能价差,移动端的显卡

设计上就不支持双精度计算。

GIS          :因为坐标较大,单浮点已经无能为力,只能采用双浮点计算(double),在传递给显卡前需要消除大坐标 【传统解决大坐标办法】

BIM、PIM:未引入GIS前,因为坐标范围较小,基本上用单精度进行绘制不会出现失真的情况。

引入GIS后,因为增加了地理位置属性,坐标与GIS坐标一致,变大,单精度已经无法满足需求,当然也可以采用【传统解决大坐标办法】。

                    带来的问题:绘制的对象数有限,当对象数量超多10万个【传统解决大坐标办法】显得无能为力。

2.数据量问题

  上文中提到,一般的BIM、PIM模型对象数量是极大的,对象数是百万级别的,而且特别的集中,这给CPU、GPU带来了新的挑战。

当然,这个难不倒攻城狮们,传统的解决办法:

1. 降低对象数量,很多模型100万个对象的模型被处理成只有不到10000个对象,这样大大的

降低了CPU的管理成本,可以实时的采用CPU裁剪,然后在将数据送到显卡执行。然而这种办法一直都有一个缺点:模型的颗粒度降低了,

无法满足更低级别的管理。

2. 按需加载,这种办法降低了加载模型的数量,把模型按照功能组排序分组,只展示特定的功能组数据。这种办法,用户只能看到部分模型。

3. 动态裁剪,采用LOD算法,这种算法比前面两种都要优秀,可以很大程度提升系统的吞吐量,一般优秀的系统可以支撑100万个对象实时展示。

遇到大体量的模型也无能为力了。

综上所述,不管采用什么样的技术方案-数据量停留在“百万对象”数据量的级别上,但现在数字化大趋势下,全网一张图的提出,数据远超过“百万级别”

笔者接触过的数据量,最大单体BIM数据量达到600万级别。

3.模型格式问题

 BIM、PIM模型多数是参数化的,参数化的优势,可测量,可计算,可复用

传统模型的概念已经不能满足BIM的应用【模型是由三维点线面组成的方式】,这种模式下计算分析是不准确的。

例如:当我们需要计算两个管道之间的最小表面距离,采用传统的三角形mesh方法得出的结果是偏大的,如下图所示:

无论如何对管道表面进行三角细化,都只能是近似模拟,无法精确的计算表面积最短距离。这就是参数化模型的一个突出的优点

我们用表面光滑的圆柱-标识该模型是参数化的,用以区分。

计算体积,质心,物理模拟仿真等参数化的模型计算更加的科学准确。

4. 轻度编辑能力

目前国产化BIM+GIS将精力主要集中在表现上,画质上而忽略了核心应用,笔者对轻度编辑做如下定义(游戏中的场景编辑能力):

1). 修改调整模型的材质属性;

2). 修改模型的位置属性,6自由度信息即旋转、缩放、平移;

3). 修改模型的附加属性,工程应用中极具价值的要素;

4). 模型的合并;

5). 动画制作;

6). 场景编辑控制.

综上所属,在BIM、PIM+GIS结合上,技术上难以解决的两个问题:

1.大坐标的计算精度问题  

  后续笔者将总结现有的解决大坐标的方法,并说明其优点与缺点

       提出新的更高性能的解决大坐标的方法。

2.参数化计算问题

后续专题论述

3.轻度编辑

后续专题论述

      

BIM,PIM接入GIS 需要解决的关键技术问题的更多相关文章

  1. GIS与FVCOM模型耦合的关键技术及解决思路

    1. FVCOM本身为Linux下的MPI程序,首先将其移植到Windows下,可以编译成控制台程序. 2. FVCOM的前处理由GIS完成剖分网格和初始设定等工作. 3. FVCOM的输出采用自定义 ...

  2. Windows平台下C++插件系统实现的几个关键技术问题及其解决思路

    根据我的实践,在Windows平台下设计并实现一个C++插件系统,需要解决几个关键技术问题.下面我谈谈需要解决的几个关键技术问题以及我想到的简单的解决思路.由于我主要专注于Windows平台C++程序 ...

  3. 5G关键技术评述

    业内重大事件: 张  平:无线通信领域专家,北京邮电大学教授,博士生导师,现任北京邮电大学无线新技术研究所(WTI)所长.泛网无线通信教育部重点实验室主任以及中德软件研究所副所长.张平教授是国家宽带无 ...

  4. 实时视频应用之QoS关键技术分析

    转自:http://www.aiweibang.com/m/detail/104476372.html?from=p 随着WebRTC标准的逐步推广,实时音视频通讯技术受到越来越多公司和技术人员的关注 ...

  5. 5G关键技术研究方向

    对于还没体验4G移动通信魅力的国内的移动通信用户而言,5G也许还是镜中花,雾中月:但对于科研界而言,5G研究已经启程,三星电子5月份宣布,率先开发出了首个基于5G核心技术的移动传输网络,实现每秒1Gb ...

  6. Android无埋点数据收集SDK关键技术

    前言 鉴于日益强烈的精细化运营需求,网易乐得从去年开始构建大数据平台,<<无埋点数据收集SDK>>因此立项,用于向大数据平台提供全量,完整,准确的客户端数据. << ...

  7. 小小知识点(二十七)20大5G关键技术

    5G网络技术主要分为三类:核心网.回传和前传网络.无线接入网. 核心网 核心网关键技术主要包括:网络功能虚拟化(NFV).软件定义网络(SDN).网络切片和多接入边缘计算(MEC). 1 网络功能虚拟 ...

  8. 在线公开课 | 5G时代的视频云服务关键技术与实践

    5G时代来临在即,视频技术将会如何发展呢?基于视频云服务的技术开发又有怎样的变化呢?为此,京东云视频云产品研发部高级总监魏伟为大家做出了详细解读. 魏伟拥有10多年视频行业研发经验,先后从事于AVS标 ...

  9. Linux多核并行编程关键技术

    多核并行编程的背景 在摩尔定律失效之前,提升处理器性能通过主频提升.硬件超线程等技术就能满足应用需要.随着主频提升慢慢接近撞上光速这道墙,摩尔定律开始逐渐失效,多核集成为处理器性能提升的主流手段.现在 ...

随机推荐

  1. 安装mysql警告: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

    CentOS安装rpm安装MySQL时爆出警告: warning: mysql-community-server-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 ...

  2. 内存回收导致关键业务抖动案例分析-论云原生OS内存QoS保障

    蒋彪,腾讯云高级工程师,10+年专注于操作系统相关技术,Linux内核资深发烧友.目前负责腾讯云原生OS的研发,以及OS/虚拟化的性能优化工作. 导语 云原生场景,相比于传统的IDC场景,业务更加复杂 ...

  3. 【原创】JVM如何运行Java程序的?

    [Deerhang] 我们知道Java程序的运行是依赖于JVM虚拟机的,JVM类语言经过编译生成class字节码文件,字节码又经JVM进一步的编译生成机器码,最终运行在硬件上.那么JVM存在的意义是什 ...

  4. 23.Quick QML-简单且好看的图片浏览器-支持多个图片浏览、缩放、旋转、滑轮切换图片

    之前我们已经学习了Image.Layout布局.MouseArea.Button.GroupBox.FileDialog等控件. 所以本章综合之前的每章的知识点,来做一个图片浏览器,使用的Qt版本为Q ...

  5. 使用BeanUtils.copyProperties踩坑经历

    1. 原始转换 提起对象转换,每个程序员都不陌生,比如项目中经常涉及到的DO.DTO.VO之间的转换,举个例子,假设现在有个OrderDTO,定义如下所示: public class OrderDTO ...

  6. 快速熟悉windows操作

    快捷键 win + E : 打开我的电脑 Ctrl+Shift+Esc:打开资源管理器 Alt +F4 :关闭当前窗口 Win + R:打开命令窗口 DOS 命令 打开CMD 的方式 Win+R:输入 ...

  7. prometheus node-exporter增加新的自定义监控项

    项目中collector中新增加自己所需监控项即可 定义启动node-exporter是传入的参数 var ( phpEndPoint = kingpin.Flag("collector.p ...

  8. [bug] 安装MySQL8.0.15 失败,提示This application requires Visual Studio 2015 x64 Redistributable

    参考 https://blog.csdn.net/weixin_44092289/article/details/88045666

  9. Java中日志组件详解

    avalon-logkit Java中日志组件详解 lanhy 发布于 2020-9-1 11:35 224浏览 0收藏 作为开发人员,我相信您对日志记录工具并不陌生. Java还具有功能强大且功能强 ...

  10. VMware(Caps Lock键)切换大小写作用失效的Bug的解决办法

    前言 第一种情况是:进入VMware虚拟机的时候,即使按了Capslock键开启大写,灯虽然亮了,但是,打出来的字母还是小写,没有有任何的效果,根本不能转换成大写. 只有按Shift+字母才能输入大写 ...