【数字孪生】Nginx发布数字孪生三维建模模型服务及调用方法

news2024/10/6 20:33:50

【数字孪生】Nginx发布数字孪生三维建模模型服务及调用方法

  • 一、需求
  • 二、实施步骤
    • 2.1 准备模型文件
      • 2.1.1 3D tiles模型
      • 2.1.2 3D Tiles标准文件格式
    • 2.2 配置nginx server块
      • 2.2.1 Nginx能干啥
    • 2.3 访问
  • 三、实现效果

一、需求

利用三维渲染引擎Cesium加载3D tiles模型。

二、实施步骤

2.1 准备模型文件

在这里插入图片描述

2.1.1 3D tiles模型

3D tiles模型是一种用于三维地理信息系统(GIS)和建筑信息模型(BIM)的数据格式。这种模型被设计用来高效地存储和传输大量的3D空间数据,它能够支持高分辨率的3D地图和复杂的城市景观。
3D tiles模型主要包含以下几个关键的组成部分:

  1. 层次结构:3D tiles将一个大型的3D模型分解成许多小的、可管理的部分,称为瓦片(tiles)。每个瓦片代表模型中的一个较小区域。这种层次结构使得它能够处理非常庞大的三维数据集。
  2. 数据编码:瓦片中的数据通常以一种高效的方式进行编码,例如使用一种叫做“Point Cloud Compression”的压缩技术,这可以大大减少存储需求和加快传输速度。
  3. 灵活性:3D tiles模型支持多种类型的数据,包括点云、纹理、法线、颜色等。这使得它非常适合用于复杂的3D场景,如城市规划、建筑设计、环境监测等。
  4. 兼容性:该模型已经被多个标准和开源GIS和BIM软件支持,例如CesiumJS、Three.js、Blender等,这使得3D tiles模型具有很好的互操作性。
  5. 高效加载:3D tiles模型支持渐进式加载,这意味着可以先加载用户当前需要的部分,而不是整个模型。这大大提高了用户体验,特别是在网络条件有限的情况下。
    总的来说,3D tiles模型提供了一种高效、灵活且易于使用的手段来处理和传输3D空间数据,这在今天越来越重视三维可视化和虚拟现实的世界中具有重要意义。

2.1.2 3D Tiles标准文件格式

3D Tiles标准是一种用于传输和存储大规模3D城市景观、地形和其他3D数据的文件格式和数据结构。它由几个不同的文件格式组成,这些格式协同工作以支持3D数据的加载、渲染和交互。3D Tiles标准文件格式主要包括以下几种:

  1. .b3dm (Binary 3D Model):
    • 包含模型数据的二进制文件格式,通常用于存储复杂的3D模型,如建筑物、地形等。.b3dm 文件可以直接被WebGL等图形API使用,不需要额外的解析步骤。
  2. .i3dm (Instanced 3D Model):
    • 包含实例化3D模型的数据,这种格式用于存储可以重复使用的3D对象,如城市中的建筑物或地形中的树木。.i3dm 文件包含一个指向实际模型数据的引用(如.b3dm文件)以及定义实例位置、旋转和缩放属性的数据。
  3. .pntm (Point Cloud Metadata):
    • 用于存储点云数据的文件格式。点云数据通常用于表示大量的点状对象,如城市中的灯柱或地形中的树木。
  4. .qtm (Quadtree Metadata):
    • 用于存储瓦片索引数据的文件格式。瓦片是3D Tiles数据集的基本组织单位,.qtm 文件包含瓦片的层级结构和引用。
  5. .json (JSON):
    • 用于存储3D Tiles集的元数据,如场景描述、瓦片配置、样式信息等。.json 文件定义了整个3D场景的结构和内容。
  6. .glb (GLTF Binary):
    • 虽然不是3D Tiles标准的一部分,但.glb文件格式常与3D Tiles一起使用。它是一种二进制格式的GLTF(Game Loading and Interaction Format)文件,用于存储3D模型数据。.glb文件可以被.b3dm文件引用,作为实际模型数据的一部分。
      这些文件格式共同构成了3D Tiles数据集,支持大规模、高效的3D地理空间数据可视化。3D Tiles标准还定义了如何将这些文件组织成一个目录结构,以及如何通过HTTP协议进行数据的传输和加载。

2.2 配置nginx server块

	 server {
        listen       80;
        server_name  127.0.0.1;
		#增加文件类型
		types {
			application/octet-stream b3dm;
		}
		#访问的路径
		location /3dtiles {
			#存放模型的文件夹
			alias F:/mars3d-max-shihua-3dtiles-master;
			autoindex on;
			add_header Access-Control-Allow-Origin *;
			add_header Access-Control-Allow-Methods "GET, OPTIONS";
			add_header Access-Control-Allow-Headers "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type";
			add_header Access-Control-Allow-Credentials true;
		}


    }

2.2.1 Nginx能干啥

Nginx的灵活性和模块化设计使得它能够适应多种不同的服务器角色,并且通过配置文件进行简单的修改就可以切换不同的服务类型。这使得Nginx成为了一个非常强大和多用途的网络服务器解决方案。
以下是Nginx可以充当的一些主要服务器类型:

  1. HTTP服务器
    • 这是Nginx最基本的角色,作为Web服务器直接为客户端提供HTTP服务。它可以提供静态资源,如网页、图片、CSS文件等。
  2. 反向代理服务器
    • 当Nginx作为反向代理服务器时,它接受客户端的请求,将请求转发给后端服务器,并将响应返回给客户端。这可以用于负载均衡、缓存静态内容、TLS终止(SSL Offload)等。
  3. 负载均衡器
    • Nginx可以通过分配请求到多个后端服务器来平衡负载,从而提高应用程序的性能和可靠性。它支持多种负载均衡算法,如轮询、最少连接、IP哈希等。
  4. 应用服务器
    • 虽然Nginx不是传统意义上的应用程序服务器,但它可以通过配置模块来支持各种应用程序服务,如提供PHP、Python、Node.js等语言的处理能力。
  5. 邮件代理服务器
    • Nginx可以配置为SMTP、IMAP和POP3邮件代理服务器,用于处理邮件传输和存储。
  6. 文件服务器
    • Nginx可以用来共享和管理文件,通过配置目录列表或提供文件下载功能。
  7. API服务器
    • Nginx可以作为API的网关,处理API请求,将请求转发到后端服务,并且可以进行权限校验、数据格式转换等。
  8. 视频流媒体服务器
    • 通过配置相应的模块,Nginx可以支持视频流媒体服务,如使用HLS(HTTP Live Streaming)或DASH(Dynamic Adaptive Streaming over HTTP)来传输视频内容。

2.3 访问

重启nginx后,修改cesium资源加载URL,

 const tileset = new Cesium.Cesium3DTileset({
        url: "http://127.0.0。1/3dtiles/shihua/tileset.json",
      });

三、实现效果

一般地,3D Tiles数据文件夹下包含一个html文件,双击就可以看到模型渲染效果。
在这里插入图片描述

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

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

相关文章

AI实景无人自动直播间怎么搭建?三步教你轻松使用

最近很多朋友看到AI自动直播带货玩法,也想开启自己的自动直播间,但还是有些问题比较担心,这种自动讲解、自动回复做带货的直播间是不是很麻烦? 实景无人自动直播 ​ 实际上这种直播间搭建相当简单便捷!今天跟着笔者&…

802.11 OFDM数据包结构

各层数据单元 首先,来了解一下传输过程中的数据单元: 图1 数据单元解释 也就是说PSDU包含了MAC层要发送的数据,在物理层根据PLCP协议将PSDU加上PLCP前导码和报头后变为PPDU,在物理媒介上传输,从发射端传到接收端。那么…

[薅羊毛]通义灵码做活动,送挺多礼品,快来薅羊毛!!!

你的编辑器装上智能ai编辑了吗,的确挺好用的。 最近阿里云AI编码搞活动,可以免费体验并且还可以抽盲盒。有日历、马克杯、代金券、等等其他数码产品。 大多数都是日历。 点击链接参与「通义灵码 体验 AI 编码,开 AI 盲盒」 https://develope…

爬虫神器!使用Python一键下载网页图片,省时高效!

引言 爬虫技术在当今信息时代中扮演着重要的角色,可以自动化获取互联网上的数据。本教程将围绕你提供的Python爬虫代码展开,旨在实现自动下载图片的功能。通过这个示例,你将学习如何利用爬虫技术批量获取网页中的图片,并将其保存…

redis瘦身版

线程模型 纯内存操作/非阻塞io多路复用/单线程避免多线程频繁上下文切换 基于Reactor模式开发了网络事件处理器:文件事件处理器,单线程的 io多路监听多个socket,据socket事件类型选择对应的处理器,高性能网络通信模型&#xff0c…

PMP能两周快速通过吗?

两周时间有点赶,一般备考要2个月左右,有时间尽量多准备准备。 分享一篇左羊学霸的备考总结,希望能帮你 前言 作为⼀名通过PMP项⽬管理认证并且拿到3A成绩 ( PMP认证最好成绩) 的 学习者, 来跟⼤家分享下我考取PMP证书的动机与过程…

Matplotlib数据可视化实战-1数据可视化Matplotlib基础

1.1绘图的一般过程: 1.导入相关库 2.生成、读入或计算得到数据; 3.根据需要绘制折线图、散点图、柱状图、饼状图、雷达图、箱线图、三维曲线/曲面以及极坐标系图形; 4.根据需要设置图形属性; 5.显示或保存绘图结果。 例如&…

【STL源码剖析】【2、空间配置器——allocator】

文章目录 1、什么是空间配置器?1.1设计一个简单的空间配置器,JJ::allocator 2、具备次配置力( sub-allocation)的 SGI 空间配置器2.1 什么是次配置力2.2 SGI标准的空间配置器,std::allocator2.2 SGI特殊的空间配置器,std::alloc2.…

FISCO BCOS:深入浅出FISCO BCOS区块链底层平台

苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学两年走过无数弯路的智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 我前面有补充相关的区块链的知识 如果没有了解的话 可能部分概念或名词会不懂哦 建议先了解一波再来看~http://t.c…

sentinel黑白名单权限控制

黑白名单权限控制 规则配置 规则创建 创建一个 AuthorityRule 规则对象三个关键要素 setStrategy: 黑白名单类型setResource: 规则和资源的绑定关系setLimitApp: 限制的来源 调用 AuthorityRuleManager.loadRules()加载规则 监听器实例化和管理 AuthorityPropertyListener…

2024年普通人的创业机会在哪里?2024热门创业项目!2024普通人想翻身的风口行业!

创业千万别冲动,社区团购代理创业失败案例! 是不是一开始挺看好这个赛道,看别人做的风生水起,以为不难,真正开始做才发现不好做,没有先天优势,货源和客源从零开始积累,开始就是摸着石…

Qt学习--QT Creator使用基本介绍

话不多说,直接开搞,笔者用的是5.12.9版本 双击打开QT Creator 显示这个界面 新建工程 然后出现这样的界面 点击运行 就弹出了一个这个,空的,因为我们啥也没写

JUC并发编程(四)

1、同步模式保护性暂停 用一个线程等待另一个线程的执行结果 有一个结果需要从一个线程传递到另一个线程,让他们关联同一个中间类。如果有结果不断从一个线程到另一个线程那么可以使用消息队列(见生产者/消费者)。JDK 中,join 的…

人物百度百科如何创建?人物类词条编辑指南

创建人物百度百科是一项既具有挑战性的工作。下面,伯乐网络传媒就来给大家详细介绍如何创建人物百度百科,包括准备工作、创建步骤以及常见问题解答。 一、创建人物百度百科的准备工作 1. 人物百科词条创建要求 百度百科对创建人物词条有一定的要求&…

学嵌入式真的很烧钱吗?

如果是走嵌入式单片机方向,这篇内容,很适合预算1000以下的,作为发育参考。 下面是我2011年的入行成本: 买了智能小车,还有51开发板,杂七杂八,可能一共不到1000。 一开始迷之自信了,买…

HTML静态网页成品作业(HTML+CSS)——24节气之冬至介绍(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

误删.idea后的svn菜单找回

最近做开发maven出了问题总是找不到已有的包,最后相信大力出奇迹删除.idea目录重启idea,结果问题没解决,给我svn搞没了。无奈重新研究恢复svn,这里记录一下我成功的方法。 我是之前做过配置,删除.idea后消失的svn相关…

2024湖南消费促进年启动仪式在益阳举行

优化消费环境,激发消费活力。值3月15日消费者权益日,由湖南省商务厅、益阳市人民政府主办,益阳市商务局承办的2024湖南消费促进年(春季)启动仪式暨益阳消费促进系列活动在益阳佳宁娜广场隆重举行。湖南省各市州商务部门领导、各区县市商务主管部门领导、参展协会代表以及100多家…

《算法设计与分析第二版》100行 C语言实现 广度度优先算法 BFS——最短距离

抄录自课本P157页。 #include <stdio.h> #define MAXQ 100 // 队列大小 #define MAxN 10 // 最大迷宫大小 int n8; // 迷宫大小 char Maze [MAxN][MAxN] {{O,X,X,X,X,X,X,X,},{O,O,O,X,O,X,O,X,},{X,X,O,O,O,X,O,X,},{X,X,O,X,O,X,X,X,},…

普通人搞副业,空闲时间做,月入5w+

我是电商珠珠 大家会发现&#xff0c;朱砂越来越火&#xff0c;不仅是因为它好看&#xff0c;而且商家对外扬言可以招财。现在的人对爱情不屑一顾&#xff0c;财神殿里可以长跪不起&#xff0c;人人都想求财&#xff0c;想要在空余时间搞副业赚大钱&#xff0c;但做什么还没有…