台湾高雄三维倾斜摄影模型3DTiles样例数据介绍

news2024/11/23 17:14:56

台湾一直是国内研究的重点方向,最主要的原因是祖国统一大业尚未完成,加上当前国际局势比较复杂,台湾及周边有众多不稳定因素,美国、日本等国家与台湾地区当局一直保持着紧密关系,成为祖国统一进程的一大阻碍。在国内众多研究台湾的方向中,台湾地理空间环境研究一直是热点方向,这也让我的产品研发方向有一定的侧重点,一方面谷歌等全球级倾斜摄影数据转换成3DTiles和OSGB格式,另一方面,收集转换台湾地区数据,包括地形、建筑模型以及倾斜摄影数据,能够加载到我们常用的GIS或三维可视化平台上来。台湾的地形和建筑模型数据都有介绍,之前发布过台湾10米DEM数据和2024年全台湾建筑模型数据,对于台湾的三维倾斜摄影模型,我发布了3DTiles转换工具 V1.1版以及OSGB V2.0版,除了谷歌地球上台北、台中、桃园这三个地区的数据外,台湾其他地区的倾斜摄影都没有相关介绍。

一、开发背景

之前一直未向大家介绍台湾其他地区的三维倾斜摄影模型数据,主要是谷歌三维倾斜摄影转换成3DTiles和OSGB研发工作比较复杂,产品迭代持续了比较长的时间,针对台湾其他地区三维倾斜摄影模型数据转换工作没有开展。上次发布了谷歌三维倾斜摄影OSGB数据V2.0版本后,便紧锣密鼓开始进行这项工作的预研与研发。台湾的倾斜摄影数据主要都是台湾官方测绘部门进行生产及发布使用的,出于数据保密的需要,官方发布时采用了自定义二进制数据,其显示也并非Cesium等常用三维GIS平台。因此数据既非我们常用的3DTiles、OSGB等格式,也无法在Cesium和OsgEarth上加载使用。我经过两个月的大量预研与研发,在产品研发截止日期前,顺利解决了诸多技术难题,将台湾官方公开的三维倾斜摄影数据转成了我们常用的3DTiles格式,并成功加载到Cesium上显示。

二、数据范围

目前台湾官方公开的三维倾斜摄影数据覆盖地区约有100平方公里,包括新竹、台中、台南、高雄、台东、花莲等县市,比较遗憾,未有覆盖整个县市的数据发布,主要以样例数据为主,覆盖面积大小不等,有的覆盖整个岛屿,比如兰屿岛,做到了全岛覆盖,大约有50平方公里,有的只有2平方公里,总体而言,公开的数据是越来越多,覆盖区域也是越来越大。

三、数据介绍

这次给大家介绍的是台湾高雄青埔车站及周边区域的3DTiles数据。数据分辨率能够达到3cm,比谷歌地球的三维倾斜摄影数据还要高,主要覆盖台湾高雄青埔车站和周边区域,面积有2平方公里,面积虽小,但是数据量高达29.5GB。
在这里插入图片描述

四、数据使用

前面文章中已经介绍过,3DTiles数据都是静态文件,使用Nginx直接静态代理即可,无需部署发布程序,这里分享一个nginx.conf里Server的样例,大家可以直接粘贴过去,修改root对应的路径。

server
  {
    listen       8804;
    server_name  localhost;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    add_header Access-Control-Allow-Origin "$http_origin";
    add_header Access-Control-Allow-Credentials true;
    add_header Access-Control-Allow-Methods 'GET, POST,OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    if ($request_method = 'OPTIONS') {
      return 204;
    }

        location / {
      autoindex on;
            root   D:/GXQP-3DTILES/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
  }

同时在前端Cesium上接入也比较容易,创建Cesium3DTileset对象,加入到pirmitives,同时需要注意的是,depthTestAgainstTerrain要设置成false,否则会有地形遮挡显示问题。下面是示例代码:

let tileset = await Cesium.Cesium3DTileset.fromUrl(
    "http://localhost:8804/tileset.json");
  viewer.scene.primitives.add(tileset);
  viewer.scene.globe.depthTestAgainstTerrain = false;

我将数据使用Nginx进行代理发布后,加载到CesiumJS上进行可视化展示,Cesium是1.121.1版本,底图是ESRI卫星影像瓦片,显示效果请看下面截图。
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

五、结语

受限于官方数据来源,目前数据覆盖区域范围比较小,还没形成比较大的使用价值,象征意义大于使用价值,但是我已经开发好了转换工具,待官方发布新的数据,我会第一时间进行转换,同时也会对转换工具进行更新迭代。

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

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

相关文章

LSTM模型实现电力数据预测

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝,拥有2篇国家级人工智能发明专利。 社区特色&a…

【c语言——指针详解(4)】

文章目录 一、回调函数是什么?二、qsort的使⽤1、使⽤qsort函数排序整型数据2、使⽤qsort排序结构数据 三、qsort函数的模拟实现 作者主页 一、回调函数是什么? 回调函数就是⼀个通过函数指针调⽤的函数。 如果你把函数的指针(地址&#xf…

旅游管理自动化:SpringBoot系统设计与实现

第二章 相关技术简介 2.1 JAVA技术 本次系统开发采用的是面向对象的Java作为软件编程语言,Java表面上很像C,但是Java仅仅是继承了C的某些优点,程序员很少使用的C语言的特征在Java设计中去掉了。Java编程语言并没有什么结构,它把数…

HLS协议

HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议。它的工作原理是把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中…

自然语言处理:第五十一章 LangChain面经

写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 一. 什么是 LangChain…

JTAG在Chiplet测试中的应用

JTAG(Joint Test Action Group)在Chiplet(芯粒)测试中扮演着重要角色。Chiplet是一种具有特定功能的模块化小芯片,它们可以混合搭配成一个完整的系统,如CPU或GPU。随着Chiplet市场的快速发展,JT…

Linux 缓冲区

概念 用于临时存储数据的内存区域,目的是优化设备 I/O 操作,以提高传输效率 刷新方式 无缓冲(立即刷新):write行缓冲(行刷新):显示器文件全缓冲(缓冲区满刷新):磁盘文件 刷新策略 强制刷新(fflush)进程退出的时候…

Qt_QSS介绍与使用

目录 1、QSS的语法介绍 2、QSS的基本使用 3、QSS的全局设置 4、样式的叠加特性 5、样式的优先级 6、使用Qt Designer设置样式 7、选择器种类介绍 7.1 类选择器 7.2 ID选择器 7.3 并集选择器 8、子控件选择器 9、伪类选择器 10、盒子模型 10.1 设置边框和内…

开源链动2+1模式、AI智能名片与S2B2C商城小程序在精准选品与定位决策中的应用

摘要:在当今竞争激烈的商业环境中,精准把握顾客偏好,实现有效选品与定位决策,已成为企业持续发展的关键。本文旨在探讨如何通过引入开源链动21模式、AI智能名片及S2B2C商城小程序等创新工具,来深度观测销售报表中的销量…

你还在为教学资料转换烦恼吗?4款神器安利给你,PDF转JPG一键搞定

工作或者学习的时候,我们经常得把PDF文件转换成JPG图片。可能是因为在手机上看起来方便,或者是想放到PPT里展示,反正把PDF转JPG的情况挺多的。那有什么好用的软件能做这个转换呢?今天我就给你们介绍几个好用的。 1. 福昕PDF高质量…

目标检测与图像分类:有什么区别?各自的使用场景是什么?

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

思维+数论,CF 922C - Cave Painting

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 922C - Cave Painting 二、解题报告 1、思路分析 诈骗题 我们发现 n mo…

配置MySQL8.0允许远程连接

一:打开MySQL 指令控制台 二.设置Mysql远程登陆 输入密码:123456 第一步:登进MySQL 输入指令:use mysql 第二步:更新域属性,%表示允许任意IP地址访问: 输入指令:update user set…

微信小程序开发-调试及配置文件介绍

一,隐藏控制台系统日志 在小程序开发中,如果你想要隐藏控制台中的系统日志,可以通过以下步骤进行操作: 打开小程序的开发工具。在开发工具的控制台(Console)中,找到你想要隐藏的系统日志。右键点击该系统日志条目。在…

who命令:显示当前登录用户名

一、命令简介 ​who​ 命令是一个常用的 Linux 命令,用于显示当前登录到系统上的用户信息。 例如 who它会列出当前登录用户的: 用户名终端登录时间远程主机(如果是远程登录的话) user1 tty1 Oct 7 08:30 soulio …

深度学习:基于MindSpore实现ResNet50中药分拣

ResNet基本介绍 ResNet(Residual Network)是一种深度神经网络架构,由微软研究院的Kaiming He等人在2015年提出,并且在ILSVRC 2015竞赛中取得了很好的成绩。ResNet主要解决了随着网络深度增加而出现的退化问题,即当网络…

域名劫持怎么处理?如何判断dns是否被劫持

随着网络环境的日益复杂,网站安全问题也日益凸显。域名劫持怎么处理?域名劫持是网站运营中不容忽视的安全威胁,在遇到域名劫持的时候应该学会应急响应、加强安全防护措施以及持续的安全维护,我们可以有效降低其带来的风险。 域名劫…

AOP 能够取代依赖注入吗?

AOP(面向方面编程)和依赖注入(DI)都是面向对象编程中非常重要的设计概念,它们在软件开发中扮演着不同的角色,但常常被用于解决相似的问题,如解耦、提高代码的可维护性和灵活性等。那么&#xff…

双碳平台-企业EMS -能源管理系统-能源在线监测平台

一、介绍 基于SpringCloud的能管管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管管理系统源码 二、软件架构 二、功能介绍 三、数字大屏展示 四、数据采集原理 五、软件截图

面试问我LLM中的RAG,秒过!!!

本篇文章涉及了 RAG 流程中的数据拆分、向量化、查询重写、查询路由等等,在做 RAG 的小伙伴一定知道这些技巧的重要性。推荐仔细阅读,建议收藏,多读几遍,好好实践。 本文是对检索增强生成(Retrieval Augmented Genera…