从不同维度介绍Cesium应急行业实践三维建模(组图)

谷歌账号购买交易平台/谷歌邮箱新老号-自动购买
2004年/2008年/2011年/2018年/2019年/2020年/2021年/2022年谷歌号购买
Google Play地区更改/锁区号购买
Youtube老频道号购买
美国苹果id/日本苹果id/韩国苹果id/台湾苹果ID/香港苹果ID/新加坡苹果ID购买
shadowrocket可下载小火箭账号/美区小火箭下载账号购买

编者按:在社会发展过程中,城市建设规模不断扩大,日益复杂的社会系统产生大量复杂风险,新的应急需求也日益增多。3D地图在各种应急场景中的构建和应用变得越来越迫切。Cesium技术可以提供基于JavaScript语言的开发包,方便用户快速构建零插件的虚拟地球web应用,在性能、准确性、渲染质量等方面都有高质量的保证,是应急行业系统中GIS可视化的重要组成部分。应用。

本文从当前的市场需求和面临的问题出发,结合百分科技多个项目的建设经验,从不同维度介绍了Cesium技术在智能应急行业的应用。

铯简介

目前,3D空间可视化模型是在Web地理信息系统(Web GIS)的基础上开发的。随着WebGL技术的发展和完善,WebGL引擎渲染的3D GIS成为主要的使用对象。Cesium作为开源地图引擎,广泛应用于3D场景的构建和应用。

Cesium是一个基于JavaScript编写的开源WebGL 3D库,支持2D、2.5D、3D地图显示,支持OGC开发的WMS/WMTS/WMF等符合国际标准的格式。Cesium不需要任何插件,只需浏览浏览器即可支持WebGL功能。

王者荣耀地图3d模型_怎么在地图导出建筑3d模型_google地图3d模型

3DTiles BIM

怎么在地图导出建筑3d模型_google地图3d模型_王者荣耀地图3d模型

CAML-- 车辆驾驶

铯应急行业实践

3D建模是城市3D可视化的基础。随着智慧城市概念的逐渐深入,各领域、各行业迫切需要将数字建模场景融入实际业务场景。二维地图技术目前无法满足大数据的要求。在3D空间信息分析的背景下,3D地图的构建和应用变得越来越迫切。

随着社会的发展进步,城市建设规模不断扩大,日益复杂的社会系统产生大量复杂的风险,突发事件不断发生,新的应急需求也日益增多。为有效预防和减少自然灾害和事故,建立智慧城市应急管理体系,保障人民生命财产安全,维护社会稳定势在必行。

因此,需要建立一个集预测、监控、指挥、决策和救援于一体的智慧应急平台,必须有大量数据支持。在对采集到的海量数据进行分析处理的过程中,GIS应用提供了一个高效的数据可视化平台,有效地提高了数据采集和处理的效率。在 GIS 技术中,Cesium 是用于 3D 地球和地图的世界级 JavaScript 开源产品。提供基于JavaScript语言的开发包,方便用户快速搭建零插件虚拟地球web应用,在性能、精度、渲染质量、多平台等方面都有高质量的保证和易用性。

1. 应急行业指挥场景

通过GIS可视化提升全系统应急业务场景可视化能力,进一步打造物联网、数字孪生、可视化仿真、一体化数据模型,具备完整的2D矢量数据3D建模解决方案,无缝接入人工建模模型、倾斜摄影模型、点云等多源数据可以提供快速、自动化的城市级建模能力。

GIS可视化在应急指挥场景中的使用是多种多样的,例如基础图层的显示、绘图工具的能力、资源位置的上述地图以及定制主题中3D模型的处理。反思一下,下面将从不同维度介绍Cesium在项目中的使用。

1.1 基础层

基本底图:

(1)Cesium 加载 WMS 服务:

(2)Cesium 加载 WMTS 服务:

参数说明:

常用坐标系:

(1)WGS84:是大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。

使用此坐标系的地图:Google Maps Abroad

王者荣耀地图3d模型_google地图3d模型_怎么在地图导出建筑3d模型

(2)GCJ02:又称火星坐标系,是中国国家测绘局制定的地理信息系统坐标系,是WGS84加密的坐标系。

使用此坐标系的地图:腾讯地图、高德地图、谷歌地图中国

(3)BD09:百度坐标系,基于GCJ02坐标系再次加密。

使用此坐标系的地图:百度地图

注:非中国地图,服务坐标统一使用WGS84坐标。

卷帘效果:

一般来说,底图具有最基本的“图层切换”功能。您可以查看要查看的图层,包括卫星图像和电子地图。当你想更直观的比较两层时,滚动快门Layers是一个很好的实现方式,通过拖动分割线可以很容易的看到任意位置两层的变化。

1.2 点对象

紧急点

为了突出突发事件的点,在实际开发中往往需要动图。Gif 是我们最常见的动态图片格式。它的原理是按时间顺序切换多帧画面,达到动画的效果。,但是Cesium不支持纹理映射,并且考虑到Cesium的Billboard支持单帧纹理映射,如果可以解析Gif动画,得到对应时间序列的每一帧图像,然后根据时间动态更新Billboard纹理series ,可以实现动画贴图效果。Libgif 第三方库可以将 Gif 转换成逐帧图像,所以我们结合 Libgif 来渲染 Gif 动画。

主要代码片段:

POI 接入点

结合互联网资源点和POI点数据,开发精准地理位置查询功能,为应急指挥提供辅助信息。

基础数据点(聚合)

基础数据点多,数据量大。应用地图聚合功能可以更好的展示地图,让地图看起来不杂乱,从而提高地图的加载性能。

事件发生

对于资源点,指挥官可以通过app控制端进行操作,点会高亮显示,地图会聚焦在该点上,起到醒目作用。

王者荣耀地图3d模型_怎么在地图导出建筑3d模型_google地图3d模型

1.3 个方面对象

使用曲面对象可以综合实现底图三维边界的特效,使可视化页面更加生动立体。

google地图3d模型_怎么在地图导出建筑3d模型_王者荣耀地图3d模型

利用平面内墙的立体效果,可以渲染地图区域的边界,实现可视化页面的立体效果。

王者荣耀地图3d模型_怎么在地图导出建筑3d模型_google地图3d模型

1.4 标注绘图

地图绘制是指在地图背景上绘制各种空间特征、物体的分布状态或动作部署。绘图功能是应急系统不可缺少的一部分。可以用来表达各种信息,描述各种对象,表示各种资源,还可以渲染业务进度和流程,进行三维可视化分析。地图绘制是3D GIS的重要技术手段。在几何表达上,主要分为点图、线图、面图和体图。常用的形式有点、线、面。其中,在应急系统中,点位设计具有一定的行业标准,如医院、学校、消防车、喷水器、避难所等。

在系统中,可以通过点图加实体模型和文字标注的方式来表达事故现场的动态和分布(地形、资源、人群、设备),分析事故现场人员的主要聚集地。进行情景分析和风险研究。然后综合分析危险源等资源数据(学校、医院、救援队、避难所等),通过扩散爆炸等​​数据模型模拟事故现场,分析事故可能造成的人员伤亡和财产损失。灾难。最后,指挥员将在前两个阶段的基础上,配合应急相关部门,以策划的形式,开展情景演练实施和协调调度,

google地图3d模型_王者荣耀地图3d模型_怎么在地图导出建筑3d模型

怎么在地图导出建筑3d模型_王者荣耀地图3d模型_google地图3d模型

1.5 跟踪路由,漫游

轨迹和漫游都是基于 CZML 数据结构实现的。它是 JSON 定义的语言,也是高度优化的语言,可以实现更紧凑的解析和更轻松的手动读写。

基于Cesium的这一特性,可以开发出模拟实时救援的具体路径,演练救援场景,指挥调度救援物资和人员,提前制定应急预案,让应急指挥人员快速掌握应急预案。事故现场周围的情况,并为紧急情况下决定是否撤离和判断事故现场外受灾地区的安全提供了有利的依据。此外,还可以根据相关危险类型、潜在后果、现有资源等情况,控制紧急情况下的行动类型,调动相关救援人员和物资快速到达现场,做好应急救援工作。紧急救援工作,并妥善安排人员留守或转移到安全区域。最大限度保障现场人员、援外人员及相关人员的安全。

google地图3d模型_王者荣耀地图3d模型_怎么在地图导出建筑3d模型

google地图3d模型_王者荣耀地图3d模型_怎么在地图导出建筑3d模型

1.6 3D Tilesets

使用 3DTiles 格式的流式传输可以加载各种不同的 3D 数据,包括倾斜摄影模型、3D 建筑、CAD 和 BIM 外部和内部以及点云数据,并支持样式配置和用户交互。

3Dtileset介绍

3DTiles基于glTF,增加了分层LOD的概念(3DTiles可以简单理解为glTF with LOD),专为流式渲染海量3D地理空间数据而设计,如倾斜摄影、3D Architecture、BIM/CAD、instanced feature sets和点云。它定义了一个数据层次结构和一组用于呈现数据内容的切片格式。3DTiles 没有为数据可视化定义明确的规则,客户可以以适合自己的方式可视化 3D 空间数据。同时,3DTiles也是OGC标准规范的成员,可以实现海量异构3D地理空间数据在桌面、Web和移动应用中的共享、可视化、融合和交互。

在3DTiles中,一个瓦片集(Tileset)是由一组瓦片(Tile)按照空间数据结构(树形结构)组织起来的google地图3d模型,其中包含至少一个用于描述瓦片集的JSON文件(包括瓦片瓦片集元数据和瓦片)对象),每个 tile 对象可以引用以下格式之一来呈现 tile 内容:

瓦片的内容(瓦片格式的单个实例)是具有特定格式组件的二进制 blob,包括特征表和批处理表。瓦片内容引用了各种特征集特征,例如表示建筑物或树木或点云中的点的 3D 模型,每个特征的位置和外观属性存储在瓦片特征表中,适用于特定程序的其他属性是存储在批处理表中。客户可以在运行时选择特征并检索其属性以进行可视化或分析。

上表中的 b3dm 和 i3dm 格式是建立在 glTF 之上的,glTF 是一种为高效传输 3D 内容而设计的开放规范,并且 tile 内容在二进制文件中嵌入了 glTF 资源如何注册谷歌账号,包含模型的几何和纹理信息,而 pnts 格式则包含不嵌入 glTF 资源。

瓦片中的树状组织结合了层次细节层次 (HLOD) 的概念,以优化空间数据的渲染。在树形结构中,每个瓦片都有一个边界框属性,将瓦片和子节点的数据完全封闭在空间中。

切片集可以使用类似于 2D 空间的栅格和矢量切片方案(例如 Web 地图切片服务 WMTS 或 XYZ 方案),它们提供多个细节级别(或缩放级别)的预定义切片。然而,由于tilesets的内容往往不一致,或者仅在二维上可能难以组织,因此树可以是任何具有空间一致性的空间数据结构,包括kd-trees、quadtrees、octrees和grid。

3DTiles 的样式是可选的,可以应用于 Tilesets。样式由修改每个特征的显示方式的可计算表达式定义。下面代码中root下的内容是一个Tile,也就是一个tile,里面包含了用来判断是否渲染tile的元数据,一个对渲染内容的引用,以及一个任意子tile的数组。tile 实际上是一个 JSON 对象。.

瓷砖 - 瓷砖

瓦片包含用于确定是否渲染瓦片的元数据、对渲染内容的引用以及任何子瓦片的数组。瓦片实际上也是一个 JSON 对象,它由以下属性组成。

(1)boundingVolumes)

BoundingVolumes 定义了 tile 的最小边界范围,用于确定在运行时要渲染哪个 tile。有区域、盒子和球体三种形式。

(2)geometricError)

geometryError 是一个非负数,以米为单位定义不同瓦片级别的几何误差。几何误差用于计算以像素为单位的屏幕误差 (SSE),以确定应在不同缩放级别调用哪个级别的图块。简单地说,就是利用瓦片的几何误差来确定瓦片的切换等级,也就是控制LOD。

(3)refine(细化方法)

Refine决定了瓦片从低级(LOD)切换到高级(LOD)的渲染过程,简而言之,瓦片如何切换,包括替换(REPLACE)和添加(ADD)。替换是直接替换父图块,加法是在父图块的基础上添加细节。如下所示:

理论上,ADD是一种非常好的方式,一种可以减少数据传输的增量LOD策略。这里要强调的是,refine属性必须定义在根节点的Tile中,在子节点中是可选的。如果未定义子节点,则继承父节点的属性。

(4)内容(内容)

怎么在地图导出建筑3d模型_王者荣耀地图3d模型_google地图3d模型

content 属性指定了 tile 实际呈现的内容。content.uri 属性可以是指定二进制块(b3dm、i3dm、pnts、cmpt)的位置,也可以指向另一个外部tileset.json。content.boundingVolume 属性定义了一个与 Tile 属性 boundingVolume 类似的包围盒,但 content.boundingVolume 是一个紧合包围盒,只包含切片的内容。此属性可用于截锥体裁剪,并且仅渲染视图范围内的内容。如果没有定义这个属性,系统会自动计算。下图是 Tile.boundingVolumes 和 content.boundingVolumes 的对比。红色是Tile的boundingVolumes,包围了Tileset的整个区域;蓝色是内容的boundingVolumes,

(5)children (子节点)

因为3DTiles是分层的,每个Tile都会有sub-tiles、sub-sub-tiles、sub-sub-sub-tiles……,点数越多,层级划分越细,和下面提到的Tileset类似。瓦片集 root.children 是相同的概念。

(6)viewerRequestVolume (可选,观察者请求正文)

viewerRequestVolume 定义了一个边界范围,使用与 boundingVolumes 相同的模式,仅当查看器在其定义的范围内时才显示 Tile,从而可以细粒度地控制是否显示单个图块。

(7)transform (可选,位置变换矩阵)

transform 定义了一个 4x4 变换矩阵。通过这个属性,瓦片的坐标可以是自己的局部坐标系中的坐标,最后通过自己的变换矩阵变换到父节点的坐标系中。它将转换 Tile 的内容,boudingVolumegoogle地图3d模型,viewerRequestVolume。有关详细信息,请参阅 3DTiles 规范文档。

瓦片集

通常一个 3DTiles 数据会使用一个主 Tileset JSON 文件作为定义 Tileset 的入口点,通常以 tileset.json 文件命名。从上面的示例代码可以看出,Tileset JSON 有四个顶级属性:asset、properties、geometricError、root。

(1)资产

资产包含整个 Tileset 的元数据对象。asset.Version 属性用于定义 3DTiles 版本,它指定了 Tileset 的 JSON 模式和基本的 Tileset 格式。可选的 tileVersion 属性用于定义特定于应用程序的 Tileset。

(2)属性

properties 是一个对象,其中包含 Tileset 中每个要素属性的对象。上面的例子是一个建筑物的 3DTiles,所以每个 tile 包含一个 3D 建筑模型,每个 3D 建筑模型都有一个高度属性。属性中每个对象的名称对应于每个特征属性的名称,并包含该属性的最大值和最小值,这对于创建样式颜色渐变很有用。

(3)geometricError

geometryError 是一个非负数,根据这个几何误差的值计算屏幕误差来判断是否渲染 Tileset。如果在渲染过程中,当前屏幕错误用于此处定义的屏幕错误,则不会渲染此 Tileset。即控制是否根据屏幕错误来渲染Tileset中的root。

(4)根

root 是一个 JSON 对象,它定义了根级别的 Tile,它存储了真正的 Tile。也就是说root的数据组织和Tile是一样的。需要注意的是,root.geometricError 与 Tileset 的顶层 geometryError 不同。TileSet 的geometryError 是控制TileSet 中的root 是否根据屏幕误差进行渲染,而root(Tile)中的geometryError 用于控制Tile 中的children 是否被渲染。. root.children 是一个定义子块的对象数组,每个块也会有它的子块,从而形成一个递归定义的树结构。每个子Tile的内容完全被其子Tile的boundingVolume包围,通常其geometricError用于其子Tile的geometricError,因为越靠近叶子节点,模型越精细,与原模型的几何误差越小。对于叶子节点的 Tile,数组的长度为零,或者子节点未定义。

当然,为了创建树形结构,Tile 的 content.uri 也可以指向一个外部的 Tileset(另一个 Tileset 的 JSON 文件)。这样做的一个好处是可以单独存储不同的 Tilesets。比如我们国家的每个城市可以分别存储为几个Tileset,然后可以定义一个包含所有Tileset的全局Tileset。

铯加载 3DTiles

在 Cesium API 帮助文档中搜索 3Dtile 关键字,发现如下结果: 虽然 Cesium 也支持两种方法(Entity 和 Primitive)加载 3DTiles 数据,但在大多数情况下,3DTiles 数据是大面积的数据,而数据比较大。,所以为了保证性能,推荐使用Primitive方法。

(1)Cesium中的3DTiles相关类

在 Cesium API 帮助文档中搜索 3Dtile 关键字:

Cesium3Dtileset:用于流式传输大量异构 3D 地理空间数据集;

Cesium3DTileStyle:平铺设置样式;

Cesium3DTile:数据集中的瓦片;

Cesium3DTileContent:平铺内容;

王者荣耀地图3d模型_怎么在地图导出建筑3d模型_google地图3d模型

Cesium3DTileFeature.getPropertyNames() 方法获取批处理表中的所有属性名,Cesium3DTileFeature.getProperty(string Name) 获取对应属性名的属性值。

(2)加载 3DTiles

怎么在地图导出建筑3d模型_王者荣耀地图3d模型_google地图3d模型

(3)设置样式

王者荣耀地图3d模型_怎么在地图导出建筑3d模型_google地图3d模型

(4)位置调整

google地图3d模型_王者荣耀地图3d模型_怎么在地图导出建筑3d模型

(5)选择特征

王者荣耀地图3d模型_怎么在地图导出建筑3d模型_google地图3d模型

3D Tileset 文件转换

3D 地理空间内容(包括摄影测量/质量、模型、BIM/CAD、3D 建筑物、实例特征和点云)可以转换为 3D 切片并组合到单个数据集以实现无缝性能和实时分析,包括测量、可见性分析,样式和过滤。

本次百分科技主要介绍目前流行的无人机斜摄模型转换方式。目前,无人机倾斜摄影技术的广泛应用,改变了传统的测绘作业方式,大大提高了测绘行业的作业效率。. 无人机倾斜摄影技术是在无人机上安装多个传感器,从垂直和倾斜等不同角度采集图像,然后通过对倾斜图像数据进行处理,整合其他地理信息,输出正射影像、地形图、3D模型等。产品。

斜向摄影到 3DTiles

转换方式:无人机航拍>斜向摄影>3DTiles转换>3D图层发布

转换工具:Cesiumlab3

3D模型发布:文件由文件服务器go-fastdfs统一管理,统一路由、统一命名、统一服务。

将矢量数据转换为 3DTiles

转换方式:矢量数据(shp)>3Dtiles转换>3D图层发布

转换工具:Shuijingzhu(Shuijingzhu万能地图下载器是一款基于各大地图服务器的多线程地图浏览下载软件)、Cesiumlab3.

3D模型发布:文件由文件服务器go-fastdfs统一管理,统一路由、统一命名、统一服务。

矢量白膜特效

1.7 空间分析

空间分析是指根据地理对象的空间位置和形态特征,以空间数据运算、空间数据和属性数据综合计算能力为特征,提取和生成新的空间信息技术和过程。

以下是应急蒸汽云、爆炸模型场景和城市风电场场景的示例:

(1)Steam云,爆炸模型调用流程:

然后前端根据应用服务返回坐标数据。然后应用服务将矩阵数据的x和y坐标转换成经度和纬度,返回给前端。

怎么在地图导出建筑3d模型_王者荣耀地图3d模型_google地图3d模型

蒸气云扩散模型 - 动画

蒸气云扩散模型 - 数据渲染

王者荣耀地图3d模型_怎么在地图导出建筑3d模型_google地图3d模型

爆炸模型 - 动画效果

怎么在地图导出建筑3d模型_王者荣耀地图3d模型_google地图3d模型

爆炸模型 - 数据渲染

(2)城市风电场模型调用流程:

三.js VTKLoader 尝试了各种集成但无法集成,最终选择vtk.js作为可视化解决方案;

vtk.js有展示窗口,无法与GIS(铯)100%集成,以交互方式展示当前方案设计;

模型计算耗时,无法在实时交互模式下使用离线方式。模型生成文件后,将其转换为 vtp 并存储在文件服务器中。

google地图3d模型_怎么在地图导出建筑3d模型_王者荣耀地图3d模型

2. Cesium 与第 3 方技术的集成

2.1 监控视频与GIS的集成

怎么在地图导出建筑3d模型_王者荣耀地图3d模型_google地图3d模型

在传统的视频监控系统中,工作人员需要同时观看多个子镜头,分散的子镜头视频很难与自己的实际地理位置相对应,无法进行全局实时监控。大场面,不可能快速回顾历史事件。寻找。3D GIS与监控视频的融合技术可以将实时图像投影到3D实景模型上。通过纬度、经度、海拔等地理信息坐标系,实现基于时空位置和时空动态分析的智能精准定位,提高视频分析能力,实现人工智力。智能应用价值。

怎么在地图导出建筑3d模型_王者荣耀地图3d模型_google地图3d模型

2.2 Echarts 可视化支持

Cesium和Echarts也可以很好的结合,满足各种统计、分析、数据展示的功能,如分析各地区资源数据、统计突发事件造成的人员伤亡等,使用柱状图、折线图、饼图更好地与地理信息数据融合,直观展示多样化信息。

王者荣耀地图3d模型_怎么在地图导出建筑3d模型_google地图3d模型

2.3 MapV 可视化支持

MapV 是一个开源的地理信息可视化库,可用于展示大量的地理信息数据、点、线、面数据。每个数据也有不同的显示类型,如直接点、热图、网格、聚合等。数据可以很好地与Cesium集成,更直观地显示数据类型。

怎么在地图导出建筑3d模型_google地图3d模型_王者荣耀地图3d模型

无人机检测气体浓度

结语

城市信息模型(CIM)是以城市信息数据为基础,建立3D城市空间模型和城市信息的有机综合体。从数据类型上看,是大场景的GIS数据+小场景的BIM数据+物联网的有机结合,属于智慧城市建设的基础数据。BIM+3D GIS的结合使城市数字化,GIS在其中发挥着强大的枢纽作用,将道路、地下管廊、管线等各BIM单元的网络管理能力连接起来。大型建筑的BIM数据也具备管理能力,让CIM可以表达一个虚拟的智慧城市。

基于应急行业大数据等互联网相关数据,结合CIM,应急系统的数据信息可以更加完整、多源、高精度。通过对这些数据的深入挖掘和分析,为应急智慧平台打下坚实的基础,制定更加合理的应急预案和应急体系,为改进和优化救援指挥工作提供有效指导,从而全面提高合理配置水平。的资源。为处理突发事件、预防自然灾害、减少危险品爆炸、保障人民财产安全、建设智慧城市提供决策支持。

百分大数据技术团队在这条技术路线上积累了丰富的经验,我们将不断创新实践,不断探索、思考和深化,为客户提供更完善的技术服务。

谷歌账号购买交易平台/谷歌邮箱新老号-自动购买
2004年/2008年/2011年/2018年/2019年/2020年/2021年/2022年谷歌号购买
Google Play地区更改/锁区号购买
Youtube老频道号购买
美国苹果id/日本苹果id/韩国苹果id/台湾苹果ID/香港苹果ID/新加坡苹果ID购买
shadowrocket可下载小火箭账号/美区小火箭下载账号购买

版权声明:
作者:中州西鹿谷歌
链接:https://www.gmail777.com/archives/1508
来源:中州西鹿
文章版权归作者所有,未经允许请勿转载。

THE END
分享
从不同维度介绍Cesium应急行业实践三维建模(组图)
本文从当前的市场需求及面临的问题出发,结合百分点科技多个项目的建设经验,从不同维度介绍了Cesium技术在智慧应急行业的应用。基于应急行业大数据和其它互联网相关数据,并结合CIM,能够让应急系统的数据信息更加完善、多源和高精度。
<<上一篇
下一篇>>