随着技术发展,跨界融合已经不是新鲜事物,近两年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. 基于queue的python多进程日志管理

    在我们的异常检测应用中,需要对每组IoT设备分别训练一个模型,每个模型对一组设备的指标数据进行实时异常检测.方案采用master-worker+消息队列的方式实现模型对外服务,但是每个worker的日 ...

  2. Java筑基 - JNI到底是个啥

    在前面介绍Unsafe的文章中,简单的提到了java中的本地方法(Native Method),它可以通过JNI(Java Native Interface)调用其他语言中的函数来实现一些相对底层的功 ...

  3. MFC的六大机制

    MFC的六大机制 程序的初始化过程 运行时类型识别 动态创建 永久保存 消息映射 命令传递 运行时类型识别 MFC的运行时类型识别就是在程序运行过程中判断某个对象是否属于某个类,MFC通过为需要进行运 ...

  4. 改善c++程序的150个建议(读后总结)-------19-26

    19. 明白在c++中如何使用c c++可以兼容c的绝大部分代码,但是还是有一部分不能兼容. c语言的编译器在调用函数时会把函数翻译成 : "_函数名",例如: int nasa( ...

  5. C#读写内置类型的数据时是否原子操作

    Reads and writes of the following data types are atomic: bool, char, byte, sbyte, short, ushort, uin ...

  6. JPEG头部解析

    6.3 JPEG格式       6.3.1简介  微处理机中的存放顺序有正序(big endian)和逆序(little endian)之分.正序存放就是高字节存放在前低字节在后,而逆序存放就是低字 ...

  7. mysql基本命令(增,查,改,删)

    from oldboy egon

  8. VSCode配置MSVC+VSCode使用easyx库,2021.5.13日配置

    VSCode配置MSVC+VSCode使用easyx库,2021.5.13日配置~~ 想必很多人和我一样,想用vscode编程c++,easyx库不支持MinGW,一般人都是直接使用vs2019安装e ...

  9. Python re 截取文本中IP地址及用户名

    文本示例: ts=2019-07-10T06:43:06523942Z pid=1875 tid=6320 version=e73c536 proto=http id=5a61a613e395f883 ...

  10. zabbix监控报警设置

    前提:已经安装好了zabbix server和zabbix agent 下面的方式不适合诸如用qq邮箱作为mail服务器,毫无疑问,zabbix支持自定义的邮件发送脚本,今天时间有限,改天在写!   ...