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 服务器,管理和发布空间数据,然后通过网页或其他应用程序访问这些数据。选择哪个工具取决于您的具体需求、数据类型和技术熟悉度。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2022最新云存储网盘系统,文件分享系统与文件存储系统。

资源入口 2022 最新云存储网盘系统, 文件分享系统与文件存储系统。 测试环境:Apache MySQL5.6 PHP7.0 安装 PHP 扩展 exif、fileinfo 从 PHP 禁用函数中 删除 shell_exec、proc_open、putenv 这三个 PHP 函数 PS:整体还不错的系统,注意的…

nodejs配置express服务器,运行自动打开浏览器

查看专栏目录 Network 灰鸽宝典专栏主要关注服务器的配置,前后端开发环境的配置,编辑器的配置,网络服务的配置,网络命令的应用与配置,windows常见问题的解决等。 文章目录 设置方法:1,安装nodej…

跟随山海鲸开发者,深入了解智慧城市解决方案的核心技术

随着科技的飞速发展,数字孪生技术逐渐成为智慧城市建设的重要手段。作为山海鲸开发者,我们深知数字孪生技术在智慧城市中的应用价值,因此致力于开发出高效、便捷的数字孪生智慧城市解决方案。因此本文将带大家了解山海鲸智慧城市解决方案。 …

Django 构建动态前端页面详解

概要 Django 是一个强大的 Python Web 框架,广泛用于后端开发。然而,它也支持直接使用 HTML, CSS, 和 JavaScript 来构建动态的前端界面。本文将详细介绍如何在 Django 项目中使用这些技术,包括设置静态文件、编写 HTML 模板以及集成 JavaSc…

YOLOv5改进 | SPPF | 将RT-DETR模型AIFI模块和Conv模块结合替换SPPF(全网独家改进)

一、本文介绍 本文给大家带来是用最新的RT-DETR模型中的AIFI模块来替换YOLOv5中的SPPF。RT-DETR号称是打败YOLO的检测模型,其作为一种基于Transformer的检测方法,相较于传统的基于卷积的检测方法,提供了更为全面和深入的特征理解&#xff0c…

Linux性能优化常做的一些事情

Linux性能优化是一个广泛的主题,涉及多个方面。以下是一些常见的Linux性能优化建议: 硬件和系统配置: 使用SSD替代HDD。确保系统有足够的RAM。使用多核CPU。配置合适的网络硬件和带宽。 磁盘I/O性能: 使用RAID来提高I/O性能。使用…

人工智能在金融与商业领域的智能化变革

导言 随着人工智能技术的不断发展,金融和商业领域正迎来一场智能化的变革。随着人工智能的不断发展,其在金融和商业领域的应用正成为业界瞩目的焦点。本文将深入探讨人工智能在金融和商业应用中的关键技术、应用场景以及对未来的影响。 1. 关键技术与算…

08-工厂方法

意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类 类图 适用性 在下列情况可以使用工厂方法模式: 当一个类不知道它所必须创建的对象的类的时候。当一个类希望由它的子类来指定它所创建的对象的时候。当类将创建对象的职责委托给多个帮助子…

Axure的元件库的使用以及详细案例

目录 元件库的使用 元件介绍 元件的基本使用 矩形、按钮、标题的使用​编辑 图片的使用 图片以及热区的使用 表单元件的使用 表格元件的使用 登录界面 个人简介界面 元件库的使用 元件介绍 Axure提供了一套丰富的元件库,用于快速创建原型中常见的UI界面元素…

虚拟机性能监控、故障处理工具

虚拟机性能监控、故障处理工具 二、基础故障处理工具4.2.1 jps:虚拟机进程状况工具4.2.2 jstat:虚拟机统计信息监视工具4.2.3 jinfo:Java配置信息工具4.2.4 jmap:java内存映像工具4.2.5 jhat:虚拟机堆转储快照分析工具4.2.6 jstack:Java堆栈跟踪工具4.2.…

neo4j安装报错:neo4j.bat : 无法将“neo4j.bat”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

neo4j安装报错: neo4j.bat : 无法将“neo4j.bat”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确 保路径正确,然后再试一次。 解决办法: 在环境变量中的,用户…

2023年全球运维大会(GOPS深圳站)-核心PPT资料下载

一、峰会简介 1、大会背景与概述 全球运维大会(GOPS)是运维领域最具影响力的国际盛会,每年都会汇聚世界各地的运维专家、企业领袖、技术爱好者,共同探讨运维技术的最新发展、最佳实践以及面临的挑战。2023年GOPS深圳站作为该系列…

硬件基础-电阻

电阻 1.品牌 厚声、风华,三星、罗姆、松下、KOA 2.分类 插件 碳膜电阻:精度-5 J 是在高阻,高压和高温应用中 属负温度系数电阻 金属膜:-1 F 贴片 电阻标识:(含义:阻值大小和精度&a…

mysql自动安装脚本(快速部署mysql)

mysql_install - 适用于生产环境单实例快速部署 MySQL8.0 自动安装脚本 mysql8_install.sh(执行前修改一下脚本里的配置参数,改成你自己的)(博客末尾) my_test.cnf(博客末尾)(这个…

Mac搭建Frida逆向开发环境

一、简介 Frida是一种基于Python+JavaScript的动态分析工具,可以用于逆向开发、应用程序的安全测试、反欺诈技术等领域,本质是一种动态插桩技术。Frida主要用于在已安装的应用程序上运行自己的JavaScript代码,从而进行动态分析、调试、修改等操作,能够绕过应用程序的安全措…

Vulnhub-DC-8 靶机复现完整过程

一、环境搭建 kali的IP地址:192.168.200.14 DC-8的IP地址:192.168.200.13(一个flag) 靶机和攻击机处于同一个网络方式:nat或桥接 若出现开机错误,适当将dc的兼容版本改低,我的vmware workstat…

如何基于企业需求,又便宜又快地定制开发一套CRM客户管理系统?

如何基于企业需求,又便宜又快地定制开发一套CRM客户管理系统? 定制开发CRM客户管理系统是为了满足企业个性化需求而进行的,它可以帮助企业提高客户关系管理效率,提供更好的客户服务和实现精细化运营。本文将为大家介绍CRM定制开发…

postman脚本生成可执行文件(6)

一.通过Python脚本(executescript.py)执行newman指令 #!usr/bin/python import subprocess from datetime import datetimeclass Newman_automate():Newman_automate():该类主要是定义postman脚本执行__path:cmd命令行中执行newnan脚本指令(…

补题与总结:牛客小白月赛83(B~F)

文章目录 写在最前面的复盘B-小天的魔法(贪心 模拟 双指针)C-小天的 Minecraft(概率)D-小天的子序列(预处理 排列组合)E-小天的贪吃蛇(模拟)F-小天的 AB(结论题&#xff…

QT QWidget 爱心灯

简介 就是使用QTableWidget生成一个LED点阵, 使用网上的Arduino点阵数组, 应用在此&#xff1b;代码 LEDWidget.h #ifndef LEDWIDGET_H #define LEDWIDGET_H#include <QWidget>class LEDWidget : public QWidget { public:LEDWidget(QWidget *parent nullptr);inline …