浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

 

2020年10月31日,求是网公众号发表习近平总书记文章《国家中长期经济社会发展战略若干重大问题》,其中城市出现27次,数字出现7次,智能出现2次,数字城市和智能城市各出现1次。

数字城市和智能城市其实是提出了很长时间的宏大概念,这里不过多分析政策导向和市场格局,单纯就简单探讨一下技术的实现方案。

先从业务场景开始。

一、业务场景

数字城市概念下相关的业务场景,往大了说,有政府的决策管理,有城市大脑,有政务平台,往小了说,有各行各业的生产建设,有智慧园区、有实景导航。

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

 

 

数字城市的概念,缘起于20年前的二十一世纪数字城市论坛,之后见诸于各种政策文件中。

GIS,地理信息系统,不多解释。

BIM,建筑物信息模型,在1975年首次提出,北京奥运会后被建筑行业广泛应用,我们常在各种楼盘广告和沙盘中看到的视频和模型,就是BIM的应用。

VR,虚拟现实,从上世纪90年代开始,就已经形成了完善的理论基础,随着硬件和软件技术的发展,从体感游戏到VR看房,虚拟现实技术也已经有了很广泛的应用。

每个产品,不可能只涉及到一种技术,一个复杂的产品,必然是由多种技术、多个模块组合而成的。

我们看上面提到的两个例子,一个是阿里的城市大脑,一个是华为的智慧园区。

城市大脑介绍关键词:数据汇聚、数据融合、智能调配、城市事件感知与智能处理、交通拥堵与信号控制、公共出行与运营车辆调度;

智慧园区介绍关键词:态势感知、人员管控、视频周界、视频巡逻、人脸通行、车辆通行。

这两个产品都有很多功能,我们提炼出几点共有的、相关的,来分析技术实现的方案。

1.数据处理。

2.数据可视化。

3.人员设备定位。

4.人员设备的动态监控。

5.行动预测、分析决策与规划。

 

二、技术实现

仅仅上面五点就已经是很复杂的体系了,这五点还有些既涉及硬件又涉及软件,还互相关联,毕竟它们要被整合到一个大的平台中。

一个一个来。

1.数据处理

大部分工作的第一步,都是处理数据,如果是城市管理的话,我们需要有城市的地图数据和规划数据,如果是园区监控的话,还需要有园区的建筑数据,当然除此之外,还需要人口、经济、车辆、气候、温度等所有相关的数据。

不说别的,单说地图数据和建筑数据。

地图数据按照大类分,有矢量、影像、三维,这些数据有不同的表现形式。

 

 

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

一般说来,地图底图数据需要通过各种来源的瓦片来加载,不需要自己加工,但有时候要一些高精度或现势性较高的数据,可能就需要自己加工数据并发布瓦片。

数据采集方式可以是实地测量和无人机航拍。

数据加工可以使用arcgis、erdas、envi、qgis、cad等,其中只有qgis是开源的。

数据发布可以使用arcgis server,geoserver,其中geoserver是开源的。

三维地形数据处理可以使用arcgis和qgis,无人机拍摄出来的数据,可以使用smart3D处理。

Arcgis、erdas、qgis、cad、geoserver、smart3D都属于软件类的,怎么使用,可以参见各自的官方网站的教程。

当然,这些软件用起来,都有一定的门槛,要首先了解数据规格与技术原理,数据规格可以看ogc的规范,技术原理,可以看MOOC上地图学、地理信息系统、摄影测量等相关的内容。

OGC:https://www.ogc.org/

MOOC:https://www.icourse163.org/

Arcgis for developers:https://developers.arcgis.com/

Arcgis desktop:https://desktop.arcgis.com/zh-cn/

ERDAS IMAGINE:https://www.hexagongeospatial.com/

QGIS:https://www.qgis.org/en/site/

Geoserver:http://geoserver.org/

CAD:https://www.autodesk.com.cn/

Smart3D(ContextCapture):https://www.bentley.com/zh/products/brands/contextcapture

建筑数据可以分为二维的和三维的,二维的就是cad的建筑图纸,三维的就是BIM模型,但很少有建筑有BIM,最多就有cad图纸,需要根据cad图纸和量测得到的各种参数,制作出建筑物的BIM模型。

常用的制作BIM模型的软件是Revit和3d max,这两个都是autodesk公司的产品。

建筑物模型有两种,一种是只能看到外表的,另一种是能看到内部结构的。

下面这种,就只能看到建筑物的外立面,BIM的衍生概念CIM(城市信息模型),用的都是这种模型。

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

 

下面这种是可以看到内部构造的,园区、建筑物监控、城市管网监测,用的都是这样的模型。

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

 

既,城市规划级别的,建筑物模型可以看不到内部,园区、建筑物、管线设施监控类型的,则需要有建筑物的内部结构。

Revit和3d max有很多网上培训,但可以先看下autodesk的官网:https://www.autodesk.com.cn/

OGC关于BIM的定义和标准:https://www.ogc.org/node/683

OGC关于3D tiles的定义和标准:https://www.ogc.org/standards/3DTiles

OGC关于室内空间信息的定义和标准:https://www.ogc.org/standards/indoorgml

地图数据和BIM数据都获取之后,还有事情要做,因为这些数据都要展示在同一场景下,所以还要将坐标系进行统一,通常,都是将BIM统一到地图的坐标系下。

各种坐标系的介绍和参数参见:http://epsg.io/

 

2.数据可视化

数据可视化,分二维和三维。

二维可视化,开源的技术栈是后端geoserver发布底图,或者直接用geotool构建瓦片服务,前端使用openlayer或leaflet。当然如果后端不用JAVA,用Python,可以使用django和GDAL,c语言的话,OpenGL和Qt都行,OpenGL和Qt也用于三维。

Geotool:https://www.geotools.org/

Geotool关于数据渲染的专题:http://docs.geotools.org/latest/userguide/tutorial/raster/image.html和http://docs.geotools.org/latest/userguide/tutorial/map/style.html

 

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

GDAL:https://gdal.org/,GDAL最早是用c语言构建的,目前也支持Python。

OpenGL:https://www.opengl.org/

Qt:https://www.qt.io/

Openlayer:https://openlayers.org/,openlayer也支持以下三维渲染。

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

 

Leaflet:https://leafletjs.com/

 

三维可视化,可以使用cesium,前端用cesium.js开发,数据融合使用cesiumlab。

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

 

Cesium:https://www.cesium.com/

Cesiumlab:http://www.cesiumlab.com/

当然如果不使用开源的,arcgis和supermap也提供完整的解决方案。

ArcGIS三维资源收集帖:http://zhihu.geoscene.cn/article/3915

SuperMap 三维产品资料一览表:https://blog.****.net/supermapsupport/article/details/68924713

 

三维地图可视化,业内巨擘仍然是Google earth,Google earth是桌面端软件,支持Engine开发:https://www.google.cn/intl/zh-CN/earth/

 

不过三维数据很大,所以在加载的时候,会有很明显的卡顿和渲染延迟。

于是就有了一个LOD技术,LOD既是Level Of Details,分层次展示细节,原理跟金字塔原理、瓦片服务很像,近大远小,只有观察越近的时候,才越展示细节。

但即使有LOD技术,三维渲染还是挺卡顿的,尤其是在数据要通过web传输的时候。

如果对比使用过,能明显感觉到桌面端的Google earth,对数据的渲染效果和速度要优于web端的cesium,BIM模型可以转换成kml或kmz格式,加载在Google earth中。

 

3.人员设备定位

定位,按照场景可分为室外定位和室内定位;

按照过程可分为,信号获取和算法解算。

定位技术有:GNSS、RTK、IMU、蜂窝、SLAM、雷达、WIFI、蓝牙、地磁、视觉、UWB、LED、RFID、Zigbee、激光、红外、超声波等。

看上去百家争鸣、百花齐放。受到北斗、5G、新基建等政策导向性因素的影响,定位技术的确是有一点点小热,但大部分企业、高校,提供、研究的都是打包硬件+解决方案模式,毕竟卫星和芯片,不是谁都能制造的,核心的技术和设备,仍然掌握在几个巨头手中。

室外定位技术的发展,近几十年来,没有什么质的飞越,但有很大量变,国家政府的基站、科技巨头的低轨小卫星,都在增加定位服务的覆盖度。

最近几年,室内定位,在科研领域是较为热门的方向,很多高校都有研究传感器和视觉定位的课题。

室外定位没有什么太多花样,室内定位,知乎上有一个帖子,室内定位技术的发展,讨论还是比较全面的:https://www.zhihu.com/question/35644548

关于人员设备的定位,很多相关厂商提供从硬件定制到软件部署的一套实施方案,用户拿着厂商提供的硬件,从厂商数据中心获取数据,使用对方提供的APP看数据,这是常规流程,既所谓一站式解决方案。

从信号获取到算法解算,定位,尤其是室外定位,有很强的行业壁垒(这也是室内定位研究更热的原因),很多数据源是获取不到的,所以想要进行人员设备定位,找一个好的一站式解决方案提供商,是良解。

哪个是好的,就要通过对比测试分析了,看结果。

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

 

4.人员设备的动态监控

有场景数据,有位置信息,就可以进行动态监控了,监控,主要体现在实时性和可追溯,实时数据即时看,历史数据可回溯,往大了说,就是IOT平台,再往上点,就是云服务,虽然扯得有点远,但技术就是这一套。再收回一下,回到BIM、GIS、VR来。

完成场景渲染和设备部署后,实时数据会有两种,一个是轨迹,一个是视频,轨迹来源于定位设备,视频来源于监控像头,当然如果业务场景复杂,还会有更多数据,温控数据、湿度数据等等。

很多监控大屏会使用echarts接入实时视频数据。

Echarts:https://echarts.apache.org/zh/index.html

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

 

Cesium也能接入视频数据:

Cesium video:https://sandcastle.cesium.com/?src=Video.html

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

当然,RTMP、RTSP之类的实时流数据的接收和转换,也需要后台处理,这需要一些视频处理的技术方案和经验。

视频处理,我的确不懂,回到轨迹上,轨迹要存储、后端计算、前端展示。

Geomesa提供过一个大规模存储、索引、查询、转换的解决方案:https://www.geomesa.org/

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

轨迹监控需要一些空间计算辅助判断,工程上的空间计算可以使用Rtree、JTS、geotool等。

Rtree原理:https://blog.****.net/sinat_41310868/article/details/106629680

Jts介绍:https://blog.****.net/sinat_41310868/article/details/106699511

轨迹计算结果和渲染结果的前端展示,openlayer、leaflet、cesium都可以支持,但当轨迹数据量大的时候,就需要后端对输出结果进行瓦片渲染了。

 

5.行动预测、分析决策与规划

有场景、有设备、有行动、有数据之后,就要有更深层次的应用,模式挖掘、预测分析、指挥决策等。

这些研究有很多探索和实验,但大规模落地都还没有,可能也因为没有很多明确的应用场景。

科技日新月异,但世界和历史的本质不变。哲学上提出过三论的概念,既控制论、信息论、系统论来阐述,不变中有万变,万变中有不变的议题。

扯哲学有些太远了,但这人类永恒的议题,可以解释我们眼前的问题,挖掘出的模式,分析出的结论,预判出的规划,都是可能不准的。

任何预测都可能是不准的,唯一可能准确的预测是预先设计。就像谷歌之前的自动驾驶,靠随机应变,谁也猜不出这些机器最终会走到哪里,谷歌之后的自动驾驶,靠大数据场景,预先规划,除了一条路,也无他路可走,所以必然到达设定的终点。

设定两点,收集所有可预先采集的数据,将偶发因素降到最低,路程中,只要有偶发因素产生导致偏航,就要尽快将车辆纠正回预设线路上。

没有猜测,预判我的预设,那可能就是最准的。

话题扯回来,看看时空数据的挖掘分析有没有什么技术方案。

如果用软件的话,Arcgis是支持空间分析的,开源软件geoda也支持时空分析和数据统计。

Geoda:http://geodacenter.github.io/

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

做大数据分析,用Python语言更合适一些,Python的地理空间数据分析工具有Geopandas、PySAL、earthpy、geopyspark等。

Geopandas:https://geopandas.org/

PySAL:http://pysal.org/

earthpy:http://earthpy.org/

geopyspark:https://geopyspark.readthedocs.io/en/latest/,geopyspark是一个栅格数据支持工具,java版是geotrellis:https://geotrellis.io/

还有一个crunchydata:https://www.crunchydata.com/,它可以部署postgresql,在地图上观察postgis的函数结果。

分析结果最终也要呈现出来,可能还需要一些图表工具,例如Power BI和Tableau。

Power BI:https://powerbi.microsoft.com/zh-cn/

Tableau:https://www.tableau.com/zh-cn/products/trial

可能这些结论和图表,需要以web前端的方式展示,那就可以回到echarts了。

 

三、理论基础

说到理论基础,那就逃不开各种纸质书籍和各种标准规范、各种教育课程了。

举几个例子。

《GNSS高精定位原理》

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

《地理信息系统导论》

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

《OGC Standards》

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

《空间信息工程技术》

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

四、技术难点

技术难点在技术实现中也表达过一些。

硬件设备上看,定位的精度和密度,信号稳定不稳定,坐标准不准,数据会不会丢失,数据丢失后,有没有补偿,数据传输有没有时延,成本和效果的取舍,多种设备的布设和融合,解决方案的合理性和全面性,客观情况要较实验室条件复杂很多等等。

工程上看,数据流的消费和渲染的效率,成千上万个终端设备的数据要接收、要处理、要计算、要反馈、要呈现,大规模的底图数据和建筑模型要加载、要渲染、要有动态效果,硬件和软件性能却都是有瓶颈的。

数据算法与挖掘上看,结果的有效性,金融上有灰犀牛和黑天鹅的说法,数据挖掘也会有这些问题,某一个不稳定的、或偶发的、或被忽略的因子,对结论造成影响。但更常见的是,我已经有结论,数据结果是根据结论得出的,分析的过程仅仅是为了验证预判。

除此之外,海量数据的存储不是什么太大的问题,有难度的是,数据量一大,查询效率会降低。

浅层的技术难点是这些,高层的话,那就要看产业发展和科技革命了。

 

五、行业发展

目前看,甚至长期看,这个行业都应该是以ToG和ToB为主。

ToG,要看国家导向,只要政府支持,就前景可瞻,数字、科技、创新,是这么些年来,词频很高的词汇,政策导向可见一斑。

ToB,企业追求精细化管理,大规模制造业和交通物流行业,都有分布很多、成规模的工业厂区和仓储货运中心,市场空间是可观的。

市场虽然是蓝海,但竞争也很激烈。早几年,这个行业里面都是专业强相关的中小企业,接政府和国企的项目维系。

但现在,巨头们纷纷跨界抢饭,BAT三家都在做智慧城市和IOT平台服务,还有华为、京东也早已入局,不大的产业,硝烟弥漫。

大公司开始抢市场,小公司的日子就会更加艰难。

好的一点是,产业会发展,市场会成熟,需求会被刺激,不好的一点是,有人得意,就会有人失意,有人入局,就会有人出局。

当行业的行政壁垒,越来越脆弱的时候,市场经济的大浪滔天,终将倾覆一些人过去寄以为生的巢穴。

萧瑟秋风今又是,换了人间。

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

浅谈实现数字城市的GIS+BIM +VR技术方案与发展前景

六、总结

这篇文章,信息量很大,但其实仍然不很详尽,还是遗漏了很多。

纸上得来终觉浅,绝知此事要躬行,还得实践。

Just do it!