随着技术发展,跨界融合已经不是新鲜事物,近两年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. Spring核心结构及核心思想

    Spring核心结构 基本概念 Spring是⼀个分层⾮常清晰并且依赖关系.职责定位⾮常明确的轻量级框架,主要包括⼏个⼤模块:数据处理模块.Web模块.AOP(Aspect Oriented Prog ...

  2. base64stego 还不懂base64的隐写,详解15行代码带你领略

    网上写了好多关于xctf MISC新手篇的base64Stego隐写的教程,但大都不太清楚,基本上都是讲了一段隐写原理,直接上代码了.但是代码是这道题的关键,代码讲了如何解码这个隐写的完整流程,这次我 ...

  3. [算法] O(nlogn)和O(n^2)算法性能比较

    选择排序.插入排序.归并排序 main.cpp 1 #include <iostream> 2 #include "Student.h" 3 #include &quo ...

  4. R语言执行脚本的几种命令

    R CMD BATCH 和 Rscript 使用前都要先添加环境变量 把 C:\Program Files\R\R-3.3.0\bin; 加到"系统变量"的Path 值的最开始 可 ...

  5. GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充

    中文编码:GB2312编码.GBK编码.GB18030编码 2016-09-01 0 By ADMIN 一.GB 2312编码 中华人民共和国国家标准简体中文字符集,全称<信息交换用汉字编码字符 ...

  6. 041.Python守护进程,锁信号量和事件

    一 守护进程 1.1 基本概念 守护进程 正常情况下,主进程默认等待子进程调用结束之后结束 守护进程在主进程执行代码结束后,自动终止 守护进程语法: 进程对象.daemon = True ,设置该进程 ...

  7. STM32 SWD下载口无法下载的原因和解决办法

    1.SWD的下载口在程序中被禁用,IO口被设置为普通IO口 2.芯片被锁,原因有可能是程序执行了不正确的访问导致芯片被锁 3.供电不正常 4.SWD烧了 解锁原因: 在下载程序的时候有时候会发生错误导 ...

  8. 5.6 date:显示与设置系统时间

    date命令 用于显示当前的系统时间或设置系统时间. date [选项] +[日期格式]   date命令的参数选项及说明 OPTION参数选项-d 时间字符串 显示指定字符串所描述的时间,而非当前时 ...

  9. Tomcat参数

    解析Tomcat的启动脚本--startup.bat:https://www.jb51.net/article/99857.htm 解析Tomcat的启动脚本--catalina.bat:https: ...

  10. 10.15 wget:命令行下载工具

    wget命令   用于从网络上下载某些资料,该命令对于能够连接到互联网的Linux系统的作用非常大,可以直接从网络上下载自己所需要的文件. wget的特点如下: 支持断点下载功能. 支持FTP和HTT ...