CesiumLab地理信息基础数据处理平台 各类数据类型介绍、发布数据介绍

目录

  • 0 引言
  • 1 CesiumLab
  • 2 数据处理模块
    • 2.1 输出格式:切片文件格式
    • 2.2 输入格式
      • 2.2.1 传统GIS数据
      • 2.2.2 人工模型
      • 2.2.3 BIM模型
      • 2.2.4 倾斜实景数据
      • 2.2.5 点云数据
  • 3 发布服务功能
    • 3.1 拓展:其他平台发布服务功能

请添加图片描述

  • 🙋‍♂️ 作者:海码007
  • 📜 专栏:CesiumforUnreal专栏
  • 💥 标题:CesiumLab地理信息基础数据处理平台 各类数据类型介绍、发布数据介绍
  • ❣️ 寄语:好好努力,发挥自己的极限!
  • 🎈 最后:文章作者技术和水平有限,如果文中出现错误,希望大家能指正,同时有问题的话,欢迎大家留言讨论。

0 引言

随着项目的深入,总是会和各种各样的数据打交道,例如GIS数据、人工模型数据、BIM数据、倾斜数据、点云数据等。本文以CesiumLab地理信息基础数据处理平台为切入点,介绍各个数据的基本概念。

1 CesiumLab

CesiumLab 是一个基于 WebGL 技术的 3D 地理信息系统(GIS)平台。它主要用于在浏览器中呈现和分析地理空间数据。CesiumLab 的功能包括:

  1. 三维地图渲染:CesiumLab 支持高质量的三维地图渲染,包括地形、卫星图像和城市建筑模型。

  2. 空间数据分析:该平台提供了多种工具来分析地理空间数据,例如测量距离、面积,以及进行视域分析等。

  3. 时间动态模拟:CesiumLab 支持时间轴功能,可以模拟和展示数据随时间的变化,如卫星轨迹、交通流等。

  4. 数据集成和兼容性:该平台能够整合来自不同来源的地理空间数据,并且兼容多种数据格式。

  5. 交互式体验:用户可以交互式地浏览和探索三维地图,包括旋转、缩放和飞行到不同的位置。

  6. 定制开发:CesiumLab 提供了丰富的 API,支持开发者根据自己的需求定制和扩展功能。

  7. 在线和离线使用:CesiumLab 可以在线使用,也支持离线环境下的数据浏览和分析。

CesiumLab 适用于城市规划、环境监测、地理教育、灾害管理等多种应用场景。通过提供高效的三维地理信息可视化和分析工具,CesiumLab 帮助用户更好地理解和利用地理空间数据。

在这里插入图片描述
本文使用的主要功能就是两大类:数据处理、发布服务。

2 数据处理模块

数据处理的目的是把各种来源、各种格式的输入数据,处理为三维 GIS 上能够渐进加载的切片文件格式。整个过程是一个输入到输出的过程,我们先讨论输出的切片格式。

2.1 输出格式:切片文件格式

切片文件又称瓦片文件;

数据处理的目的是把各种来源、各种格式的输入数据,处理为三维 GIS 上能够渐进加载的切片文件格式。整个过程是一个输入到输出的过程,我们先讨论输出的切片格式。
切片文件格式在地理信息系统(GIS)、在线地图服务和三维建模中非常重要。这些切片通常包含影像切片、地形切片和模型切片。每种切片类型服务于特定的目的:

  1. 影像切片(Image Tiles):

    • 目的: 影像切片是从卫星图像、航拍图像或其他地图图像中创建的。它们将大型图像分割成小块的瓦片,这样可以根据用户的视图区域和缩放级别动态加载相应的瓦片。
    • 使用场景: 在线地图服务(如 Google Maps 或 OpenStreetMap)广泛使用影像切片来提供平滑的用户体验,允许用户平缓地缩放和平移地图,而不必一次性加载整个大型图像。
  2. 地形切片(Terrain Tiles):

    • 目的: 地形切片包含地形高度信息,用于创建三维地形模型。这些切片允许地图以三维形式展示地形的起伏。
    • 使用场景: 在地理信息系统、游戏、模拟以及任何需要真实地表现地球表面的应用中都很常见。例如,飞行模拟器中的真实地形或在城市规划中模拟洪水影响。
  3. 模型切片(Model Tiles):

    • 目的: 模型切片用于表示建筑物、桥梁、纪念碑等三维对象。这些切片可以包含复杂的三维模型和相关纹理信息。
    • 使用场景: 用于三维城市建模、建筑可视化和增强现实应用。模型切片使得用户能够在三维空间中探索复杂的建筑结构。

在所有这些情况下,切片文件的主要目的是提高性能和用户体验。通过只加载用户视图区域内的数据,切片技术显著减少了所需加载的数据量,从而提高了应用的响应速度和效率。此外,切片还使得在不同的缩放级别下管理和存储大量的地理空间数据变得更加容易。


对于 Cesium 引擎 和 CesiumLab 工具,模型切片就是 3dtiles 格式

3D Tiles 是一种用于流式传输大规模异构三维地理空间数据集(如城市、建筑物、树木、地形等)的开源规范。这种格式特别适用于网页和虚拟现实应用程序。3D Tiles 规范定义了几种不同的内容格式,每种格式针对特定类型的数据和用例进行了优化:

  1. B3DM (Batched 3D Model):

    • 用途: 用于包含一个或多个三维模型的批处理数据,这些模型通常是建筑物或其他人造结构。
    • 特点: B3DM 文件包括模型几何体和样式信息,支持批处理,使得多个模型可以被有效地一起加载和渲染。
  2. I3DM (Instanced 3D Model):

    • 用途: 用于表示大量重复的三维对象,如树木路灯或其他小型结构。
    • 特点: I3DM 格式利用实例化技术,其中同一个模型的多个实例可以使用不同的位置、缩放和旋转参数进行渲染,从而提高渲染效率。
  3. PNTS (Point Cloud):

    • 用途: 用于表示点云数据,这些数据通常来自激光扫描摄影测量
    • 特点: PNTS 文件包含大量的点,每个点有其位置、颜色和可能的其他属性,用于表示复杂的自然地形或城市景观。
  4. CMPT (Composite):

    • 用途: 用于在单个瓦片中组合多种不同类型的3D Tiles。
    • 特点: CMPT 格式允许将不同格式的瓦片(如 B3DM 和 I3DM)组合到一个文件中,从而可以在一个请求中加载多种类型的数据。

3D Tiles 通过这些格式为大规模三维地理空间数据集的有效流式传输和渲染提供了强大的支持。通过适当选择和使用这些不同的瓦片格式,可以在保持高性能的同时呈现复杂的三维场景。

2.2 输入格式

说清楚了输出格式,我们再来讨论输入数据。用一个流行的词语来描述输入:多源异构,多种来源,多种差异化数据结构,所以实际输入是比较复杂的,比如有常规 GIS 的栅格矢量,有现在流行的实景倾斜模型,有传统的手工模型,也有当下火热的 BIM 或者 CIM 模型,还有一些特殊,比如点云数据地质数据、体数据、场数据、流数据等等。

CesiumLab 做为一个基础软件,目前无法涵盖所有数据类型,它定位解决各个行业或者各种三维项目都会用到的数据类型的切片化。所以我们把基础数据输入分为如下五大类:传统GIS数据、人工模型、BIM模型、倾斜实景数据、点云数据。

2.2.1 传统GIS数据

传统 GIS 数据,按照组织分为两大类:栅格矢量,栅格数据通过逐点的属性值来描述数据,比如地形高程栅格,或者遥感影像栅格,对于栅格三维中有两种方式去可视化。
在这里插入图片描述

  1. 栅格数据

    • 第一种栅格就是地形高程数据(dem),此类数据三维可视化用来显示地形起伏高低,地形数据的常见格式有 dem,tif 等。其他非常见格式的高程数据可以使用 arcgis 进行格式转换,转到 dem 或者 tif 来进行地形切片
    • 除了高程之外,其他的栅格数据一般都是处理成影像切片来可视化。
  2. 矢量数据

    • 除了栅格之外,还有一类传统 GIS 数据,通过点、线、面等几何对象来描述地理实体,这就是矢量。矢量的三维可视化问题比较复杂,根据三维的渲染方式可以分为以下几种:
    • 第一种是栅格化展示和绘制,借助二维 GIS 服务器的矢量渲染出图能力,矢量可以在服务端生成图片,三维上加载方式就类似栅格的影像切片,二维 GIS 相关的标准服务,比如WMTS,WMS 等可以直接接入到三维中。这块的产品也比较多,比如 Esri 的 arcgis server,超图的 iserver,开源的 geoserver 等。
    • 第二种是矢量化展示和绘制,比如 Cesium 里的 geojson 、czml 等绘制的图标、文字、折线、多边形等。
    • 第三种是模型化展示和绘制,比如建筑物轮廓,我们可以根据建筑高度拉成白模去可视化,比如用来描述森林位置或者城市附属物(路灯,垃圾桶)等点位的可以用实例化模型去展示
    • 这三种方式各有利弊,我三年前整理的一张图,到今天依然适用:

在这里插入图片描述
一般的矢量都可以通过 lab 自带的开源 shp 工具集,把 shp 转 geojson 格式去加载。
建筑矢量面可以通过通用模型切片处理为白模。
描述实体点的数据,比如树木点位、灯杆位置等可以用 i3dm 工具处理为实例化模型。

2.2.2 人工模型

人工模型数据(或者手工模型数据)是三维 GIS 行业发展的最早的需求来源,通过3dsmax,maya 等建模工具人工建模的数据。我们这里只罗列上面四个建模工具,其实建模工具远多于四个,手工模型格式可以多达 50 多种。这里我给大家解释几个概念。

2.2.3 BIM模型

BIM 模型和手工模型最大的区别在于几点:1,建模目标不同,手工模型的目的是为了可视化,就是为了看的见,看不见的东西能省则省。BIM 完全是按照一些工程标准去创建的比如路面可能有多个层代表了不同的物理层。手工模型的纹理贴图量可能很大,BIM 的贴图相对简单。2,手工模型一般没有属性信息,但是 BIM 模型有大量属性。

基于这些差异,虽然有些 BIM 工具可以导出 fbx 等模型的交换格式,但是还是推荐按照我们的流程来。

第一种是导出 clm 格式(clm 格式定义),clm 是我们自定义的中间格式,它内部存储了我们切片需要的所有可视化数据(几何体、材质纹理、属性信息、模型结构)等。目前我们做了 revit2020 的插件和 microstation connect editon 的插件。以前的 catia v5-2016 插件因为我们实在难以找到更新的 catia 开发资料,也没有技术支持,我们无法再更新,只能暂停,并且从 lab3 里剔除。

第二种格式 ifc 格式,ifc 号称是 bim 的标准格式,但事实上 ifc 的标准也是古老而复杂,各家 bim 工具对于 ifc 的支持都不是尽善尽美。另外我们读取和解析 ifc 也是一个比较头疼的问题,容易产生构件丢失的问题,一般最好不要优先考虑 ifc 的方式,而应该是 clm 方式。

对于 BIM 模型切片,目前也是通过我们的通用模型切片进行的。

2.2.4 倾斜实景数据

倾斜实景数据一般是来自照片进行三维重建得到的,目前能做这个格式的软件也比较多了,例如 contextcapture 以及国内的 smart3d,大疆等。这些软件产生的结果有很多格式,由于历史原因吧,目前大部分产生的结果依然是 osgb,倾斜数据的特点是总量大,自带 LOD,这类数据我们通过倾斜模型切片工具进行处理。非 osgb 格式的数据目前不支持处理

2.2.5 点云数据

点云数据的格式有很多种,比如 xyz,las,csv 等,但是 las 是相对标准的一种格式。点云数据最初是来自激光扫描设备,受限于采集方式,只能用来展示一些小型数据。随着技术发展,现在倾斜摄影也可以直接获取点云,点云的数据可以呈现大范围的。就我们实践来看,点云主要还是应用在电力领域,虽然它有行业属性,但是点云数据本身是不带行业属性的,所以我们依然是放到 Cesiumlab 来完成切片过程。目前仅支持 las,其他类型的,可以尝试用 cloudcompare 这个开源软件转化下格式。

3 发布服务功能

CesiumLab 的“发布服务”指的是将地理空间数据发布到 Web 服务器上,使其能够通过互联网被访问和使用。这项功能通常包含以下几个关键方面:

  1. 数据上传和转换:用户可以将自己的地理空间数据(如地形、影像、建筑模型等)上传到 CesiumLab 平台。这些数据可能需要经过格式转换和优化,以确保它们适合 Web 环境下的高效渲染和访问。

  2. 数据托管:上传的数据被存储在服务器上。这些服务器可以是公共的云服务,也可以是私有的服务器。

  3. 数据服务接口(API):CesiumLab 提供了一系列 API 接口,允许用户通过编程方式访问和操作这些数据。这些 API 可以被用于集成到用户自己的应用程序或网站中。

  4. 在线访问和共享:发布的数据可以通过互联网被访问,这意味着用户可以在不同的设备和地点访问这些数据,并且可以与他人共享。

  5. 安全性和权限管理:用户可以设置权限,控制谁可以访问这些数据。这是重要的,特别是对于敏感或私有的地理信息数据。

通过发布服务,CesiumLab 使得地理空间数据的分享和协作变得更加容易,同时也支持了复杂的三维地理信息系统(GIS)功能的网络应用开发。这对于需要在线协作、数据共享和远程访问 GIS 功能的用户尤其有用。

3.1 拓展:其他平台发布服务功能

可以使用其他开源工具来发布地理空间数据。这些工具通常用于创建和管理空间数据服务器,使得地理数据可以通过互联网被访问和利用。以下是一些流行的开源工具:

  1. GeoServer:GeoServer 是一个非常流行的开源服务器,用于共享和编辑地理空间数据。它支持多种标准的地理数据格式和服务接口,如 WMS(Web Map Service)、WFS(Web Feature Service)和 WCS(Web Coverage Service)。

  2. PostGIS/PostgreSQL:PostGIS 是 PostgreSQL 数据库的一个扩展,用于存储地理空间数据。PostGIS 与 GeoServer 配合使用,可以非常有效地管理和发布大量的空间数据。

  3. MapServer:MapServer 是一个开源的平台,用于发布空间数据和创建交互式地图应用程序。它支持多种数据格式和标准的服务协议。

  4. QGIS Server:QGIS Server 是基于 QGIS(一个桌面地理信息系统)的服务器版。它允许用户发布通过 QGIS 创建的地图和数据。

  5. OpenLayers/Leaflet:虽然 OpenLayers 和 Leaflet 本身不是用于数据发布的服务器软件,但它们是两个非常流行的开源 JavaScript 库,用于在网页上展示地理信息。它们可以与上述服务器软件(如 GeoServer)结合使用,以在网页上创建交互式地图。

使用这些工具,您可以设置自己的 GIS 服务器,管理和发布空间数据,然后通过网页或其他应用程序访问这些数据。选择哪个工具取决于您的具体需求、数据类型和技术熟悉度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/229270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

再怎么“顽固”的应用程序,也很难经得住以下的卸载方法

卸载程序是我们经常尝试的事情。这可能是因为我们不再需要程序,该程序可能会导致问题等。有时,如果你试图卸载某个程序,你会收到一个错误,但卸载没有发生。在这种情况下,你可以选择强制卸载。在本教程中,我将向你展示如何在Windows 10/11计算机上强制卸载程序。 ​控制面…

Mybatis的插件运⾏原理,如何编写⼀个插件?

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

2024年最免费的DAW混音编曲FL Studio21.2.中文版下载

FL Studio 简称FL,全称Fruity Loops Studio,因此国人习惯叫它"水果"。目前最新版本是FL Studio21.1.1.3750版本,它让你的计算机就像是全功能的录音室,大混音盘,非常先进的制作工具,让你的音乐突破…

AUTOSAR组织引入了Rust语言的原因是什么?有哪些好处?与C++相比它有什么优点?并推荐一些入门学习Rust语言链接等

AUTOSAR(汽车开放系统架构)是一个由汽车制造商、供应商和其他来自电子、半导体和软件行业的公司组成的全球发展伙伴关系,自2003年以来一直致力于为汽车行业开发和引入开放、标准化的软件平台。 AUTOSAR 最近宣布成立一个新的工作组,用于探索在汽车软件中使用 Rust 编程语言…

C语言实现在顺序表中找到最大值

用C语言实现在顺序表中找到最大值&#xff1a; #include <stdio.h> #define MAX_SIZE 100 int findMax(int arr[], int size) { int max arr[0]; // 假设第一个元素为最大值 for (int i 1; i < size; i) { // 从第二个元素开始遍历列表 if (…

UML-认识6种箭头(画类图无烦恼)

文章目录 一、背景二、箭头详解2.1 泛化&#xff08;Generalization&#xff09;2.2 实现&#xff08;Realize&#xff09;2.3 依赖&#xff08;Dependency&#xff09;2.4 关联&#xff08;Association&#xff09;2.5 聚合&#xff08;Aggregation&#xff09;2.6 组合&#…

NtripShare Mos监测平台边缘计算终端与自动优化平差算法

忙忙乎乎23年又要过去了&#xff0c;回头看今年做的事&#xff0c;只有两件事值得一提&#xff1a; 1、自动化监测边缘计算终端&#xff1b; 2、自动优化平差算法。 自动化监测边缘计算终端 终端采用全国产硬件方案终端支持全站仪供电控制终端支持远程控制终端支持数据缓存技…

Netty网络基础的通俗理解(网络操作系统)

写在前面 说来惭愧&#xff0c;最近半年没怎么学习技术&#xff0c;时间基本都花在工作以及去熟悉了解金融领域的知识去了。从大一到现在&#xff0c;我一直有个持续学习技术的习惯&#xff0c;如果太久没学习技术&#xff0c;我心里就开始有点焦虑或者说不充实&#xff0c;所…

半导体设备之外延炉简述

半导体设备对整个半导体行业起着重要的支撑作用。因半导体制造工艺复杂&#xff0c;各个环节需要的设备也不同&#xff0c;从流程工序分类来看&#xff0c;半导体设备主要可分为晶圆制造设备&#xff08;前道工序&#xff09;、封装测试设备&#xff08;后道工序&#xff09;等…

使用C/C++实现DNS协议栈

使用C/C实现DNS协议栈 DNS&#xff0c;全称域名系统(Domain Name System)&#xff0c;是用于将域名转换为IP地址的分布式数据库系统。实现一个完整的DNS协议栈是一个相对复杂的任务&#xff0c;但本文将为您提供一个简化的概述和实际的案例&#xff0c;以帮助您入门。 1. 基…

20来岁,大专毕业,学软件测试可行吗?

转行软件测试找不到工作&#xff01; 转行软件测试找不到工作&#xff01; 转行软件测试找不到工作&#xff01; 重要的事情说三遍&#xff01;千万别听培训班咨询老师给你画饼 &#xff1b;我就是某某软件测试培训班出来的&#xff0c;大专&#xff0c;其他专业毕业&#x…

磁盘坏道扫描工具 Macrorit Disk Scanner v6.7.0 中文免费版 -供大家学习研究参考

非常方便实用的磁盘坏道修复软件。Wipe Bad Disk功能强大好用&#xff0c;通过特殊的算法来强制将硬盘的坏道删除清空格式化&#xff0c;从而拯救因产生坏道而不敢继续使用的硬盘!要注意的是经过这块软件清空的硬盘数据基本上是不能被恢复的&#xff0c;所以操作前请一定要备份…

PyQt5连接mysql失败解决

一&#xff1a;背景 最近研究一个项目&#xff0c;里面用的Pyqt5编写的桌面应用&#xff0c;跑了下源码发现连接数据库那块出来问题&#xff0c;最终调试发现里面用的QtSql去连接mysql提示驱动找不到。 具体报错信息如下&#xff1a; Could not parse stylesheet of object …

记录 | gpu docker启动报错libnvidia-ml.so.1: file exists: unknown

困扰了两天的问题&#xff0c;记录一下 问题出在启动一个本身已经安装 cuda 的镜像上&#xff0c;具体来说&#xff0c;我是启动地平线天工开物工具链镜像的时候出现的问题&#xff0c;具体报错如下&#xff1a; docker: Error response from daemon: failed to create task …

linux 设备子系统 摘要

Linux设备模型提取了设备操作的共同属性&#xff0c;进行抽象&#xff0c;并将这部分共同的属性在内核中实现&#xff0c;而为需要新添加设备或驱动提供一般性的统一接口&#xff0c;这使得驱动程序的开发变得更简单了&#xff0c;而程序员只需要去学习接口就行了。 在内核里&…

数字病理图像分析的开源软件qupath学习 ①

介绍&#xff1a;QuPath是一种新的生物图像分析软件&#xff0c;旨在满足对用户友好、可扩展、开源解决方案日益增长的需求&#xff0c;用于数字病理学和全玻片图像分析。除了提供全面的肿瘤识别和高通量生物标志物评估工具外&#xff0c;QuPath 还为研究人员提供了强大的批处理…

写递归函数的一些思考

当编写递归函数时&#xff0c;有几个关键的思考点可以帮助你设计和实现递归算法&#xff1a; 定义递归的基本情况&#xff1a;确定递归函数应该在何时终止&#xff0c;即递归的基本情况。这是一个递归的出口条件&#xff0c;确保递归不会无限进行下去。基本情况应该是可以直接求…

FL Studio 21.1.0.3713中文版最新安装激活图文教程及系统配置要求

FL Studio 21.1.0.3713中文版是一款功能强大的编曲软件&#xff0c;它也能够剪辑、混音、录音&#xff0c;它的矢量界面&#xff0c;能更好用在4K、5K甚至8K显示器上。完全重新设计混音器、动态缩放、具有 6 种布局风格、外加 3个用户自定义面板管理音轨、多推子选择和调整、混…

正大杯获奖作品在哪可以看见

通过网盘分享的文件&#xff1a;2023年第十三届正大杯最新国家一等奖完整获奖作品报告等全套资料 链接:https://pan.baidu.com/s/1SPA4LumSCI4BZdCRXXnW6Q?pwdc8bj 提取码:c8bj 2023年第十三届最新正大杯国家一等奖完整获奖作品等全套资料获取方式链接https://ex59573j43x.fe…

root登录提示:Access denied

一、问题&#xff1a; 在使用xshell工具用root账号登录服务器时提示Access denied&#xff0c;拒绝访问&#xff0c;SSH服务器拒绝了密码&#xff0c;但用其它用户又可以连接. 二、原因 是因为sshd的设置不允许root用户用密码远程登录的问题 三、解决办法 使用可以登录的账…