当前位置: 首页 > news >正文

5分钟了解清楚【osgb】格式的倾斜摄影数据metadata.xml有几种规范

数据格式同样都是osgb,不同软件生产的,建模是参数不一样,还是有很大区别的。尤其在应用阶段。

本文从建模软件、数据组织结构、metadata.xml(投影信息)、应用几个方面进行了经验性总结。不论您是初步开始建模,还是倾斜模型的应用方都可以有个了解,便于和业主或承建方能快速对清楚诉求。

1.大疆智图生产的osgb​

不同的数据范围、体积、分块方式略有差异,下图是一份常见的大疆智图生产的osgb的文件结构

瓦片文件夹内部结构:

几个特性:

  • 默认成果由terra_osgbs文件夹包裹
  • 瓦片文件夹Block开头
  • 瓦片文件夹内部有文件夹同名osgb文件及不同level的名称文件组成
  • 配套metadata.xml文件

2.ContextCapture(Smart3D)生产的osgb:​

不同的数据范围、体积、分块方式略有差异,下图是一份常见的ContextCapture(Smart3D)生产的osgb的文件结构

瓦片内文件结构

几个特性:

  • 默认成果由Data文件夹+metadata.xml组成
  • 瓦片文件夹Tile_开头
  • 瓦片文件夹内部有文件夹同名osgb文件及不同level的名称文件组成
  • 配套metadata.xml文件

3.metadata.xml是什么?​

metadata.xml是一个xml格式文件,主要用于定义投影,根据不同投影类型的定义,共计有6中常见的结构(随着生产软件的升级,并非绝对),这里进行罗列展示

3.1EPSG模式metadata.xml​

EPSG代表标准的投影定义 注:图新当前对4326-wgs84经纬度不支持,4490-国家2000经纬度不支持

<ModelMetadata version="1">
<!-- Spatial Reference System -->
<SRS>EPSG:4547</SRS>
<!-- Origin in Spatial Reference System -->
<SRSOrigin>550901.32348177815,3360977.338184359,58.849999999403899</SRSOrigin>
<Texture>
<ColorSource>Visible</ColorSource>
</Texture>
</ModelMetadata>

3.2EPSG带+模式metadata.xml​

EPSG代号代表投影,+号后面是高程基准的EPSG定义。

<ModelMetadata version="1">
<!-- Spatial Reference System -->
<SRS>EPSG:4544+5773</SRS>
<!-- Origin in Spatial Reference System -->
<SRSOrigin>622346.24540907482,4315810.9692699434,1156.2578820004351</SRSOrigin>
<Texture>
<ColorSource>Visible</ColorSource>
</Texture>
</ModelMetadata>

3.3ENU模式metadata.xml​

也叫东北天,相当于坐标原点给一个经纬度坐标,其他位置都是相对坐标原点的平面坐标

<?xml version="1.0" encoding="utf-8"?>
<ModelMetadata version="1"><!--Spatial Reference System--><SRS>ENU:38.318253169999998,117.86893173</SRS><!--Origin in Spatial Reference System--><SRSOrigin>0,0,106.90241103</SRSOrigin><Texture><ColorSource>Visible</ColorSource></Texture>
</ModelMetadata>

3.4LOCAl模式metadata.xml​

比较少见,也叫“任意坐标系”、“地方坐标系”模式,出现情况: 如果数据有控制点,控制点并未定义椭球参数、分带模式、中央经线、假东、假北等参数的情况下。没有和地理关系的对照。 目前只发现大疆智图生产的数据有这样的定义

<ModelMetadata version="1">
<!-- Spatial Reference System -->
<SRS>EPSG:4544+5773</SRS>
<!-- Origin in Spatial Reference System -->
<SRSOrigin>622346.24540907482,4315810.9692699434,1156.2578820004351</SRSOrigin>
<Texture>
<ColorSource>Visible</ColorSource>
</Texture>
</ModelMetadata>

3.5无SRS模式metadata.xml​

比较少见,xml内没有SRS标签 主要是CC生产,控制点未设置投影类型,如3.4大疆智图生产的LOCAL模式。这个模式比较头疼,CC未写入原点坐标,只能在CC中查看原点坐标。 拿到这样数据的用户,是没办法在其他软件中正常进行地理定位的。

<ModelMetadata version="1">
<!-- Spatial Reference System -->
<SRS>EPSG:4544+5773</SRS>
<!-- Origin in Spatial Reference System -->
<SRSOrigin>622346.24540907482,4315810.9692699434,1156.2578820004351</SRSOrigin>
<Texture>
<ColorSource>Visible</ColorSource>
</Texture>
</ModelMetadata>

3.6prj字符串模式metadata.xml​

比较少见,大疆智图生产过程中,如果选择了外部的prj文件,并且prj文件内没有epsg的定义,会直接写入prj字符串到SRS。 注意!!!:如果在标准的prj中修改了假东、假北、椭球参数等参数,大疆会使用这些参数进行建模,但是生产出的medata.xml文件是EPSG的模式。 其他软件如果按照EPSG解析就会出错。

<ModelMetadata version="1">
<!-- Spatial Reference System -->
<SRS>PROJCS["",GEOGCS["China Geodetic Coordinate System 2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","4549"]]</SRS>
<!-- Origin in Spatial Reference System -->
<SRSOrigin>564373,4198255,0</SRSOrigin>
<Texture>
<ColorSource>Visible</ColorSource>
</Texture>
</ModelMetadata>

4.osgb是什么,为什么选择osgb?​

此处不做深入介绍,大概知道osgb的一些特性

4.1osgb是什么?​

osgb是OpenSceneGraph(做三维渲染引擎的)开源组织维护的一个二进制流类型的数据结构,由国内的王锐首次提出、定义并维护至今。

如果要做osgb文件流本身的读取、写入可参考相关规范。

普通的应用开发者,只需要关注osgb文件的组织结构即可,知道如何优化解决自身业务问题即可,支持该类型数据的三维渲染引擎都有解析方法。

osgb的核心是瓦片切分,lod(层次细节模型)构建。

LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

4.2为什么选择osgb?​

建模软件生成的数据格式为什么选择osgb?

  • osgb是开源协议,不涉及版权问题
  • osgb的lod有分页机制,调度灵活
  • osgb是二进制流文件,提交小

5.osgb倾斜摄影的一些说明​

图新地球加载osgb数据非常灵活、简单,也是第一批支持osgb格式倾斜模型的三维GIS平台。

5.1lfp文件​

用户在导入osgb到图新地球桌面端时,会根据xml的解析,自动生成一个lfp格式的索引文件。后面无需重复解析,并可灵活修改数据的位置。

lfp是图新自己定义的一个xml文件。是图新地球桌面端图层管理的基本单元。

5.2lob文件​

图新在使用osgb文件时,尤其前期做web加载解析时发现,osgb还有较大优化空间,尤其是当前数据生产厂商生成的osgb文件,在web传输、解析下可以做进一步优化扩展。 图新定义了自己的倾斜模型文件协议lob(当前并未开源,主要自己使用)

5.3合并根节点​

图新可以在现有osgb瓦片(CC和大疆智图生产的数据均支持)的基础上向上抽析,一直到只有一个根节点。可以加快数据的调度显示速度。

CC后来已经可以生成合并根节点的数据,只是对电脑性能要求更高

大疆智图生成的数据,根目录下有一个名称为Block.osgb或者Model.osgb,加载这个文件,会自动索引所有的数据。只是这个文件只是做了索引或者对每一个瓦片的首个文件做了合并,并未重新抽析。导致Model.osgb文件经常超过100M,web下基本无法应用。 遇到此情况可直接删除。

5.4【和3dTiles的关系】​

当前市面上出现了不少osgb转3dtiles的工具,主要解决cesium等开源渲染引擎加载osgb格式的倾斜模型。

3dtiles同样是一个优秀的开源数据协议。

如果你是一个开发者,发现转换后,cesium加载数据卡顿,可尝试上面介绍的【合并根节点】,先对osgb进行根节点合并再转换。可有效提升数据的组织调度效率。

相关文章:

5分钟了解清楚【osgb】格式的倾斜摄影数据metadata.xml有几种规范

数据格式同样都是osgb&#xff0c;不同软件生产的&#xff0c;建模是参数不一样&#xff0c;还是有很大区别的。尤其在应用阶段。 本文从建模软件、数据组织结构、metadata.xml&#xff08;投影信息&#xff09;、应用几个方面进行了经验性总结。不论您是初步开始建模&#xf…...

CCIE-10-IPv6-TS

目录 实验条件网络拓朴 环境配置开始Troubleshooting问题1. R25和R22邻居关系没有建立问题2. 去往R25网络的下一跳地址不存在、不可用问题3. 去往目标网络的下一跳地址不存在、不可用 实验条件 网络拓朴 环境配置 在我的资源里可以下载&#xff08;就在这篇文章的开头也可以下…...

《QT实用小工具·十七》密钥生成工具

1、概述 源码放在文章末尾 该项目主要用于生成密钥&#xff0c;下面是demo演示&#xff1a; 项目部分代码如下&#xff1a; #pragma execution_character_set("utf-8")#include "frmmain.h" #include "ui_frmmain.h" #include "qmessag…...

CSP 比赛经验分享

中国软件专业技术资格&#xff08;水平&#xff09;考试&#xff08; CSP-S &#xff09;是一项旨在评价软件和信息技术 专业人员专业技术水平的考试。对于参加过 CSP 比赛的人来说&#xff0c;这是一个展示 自己编程能力、逻辑思维和解决问题能力的好机会。下面是一些基于…...

探究“大模型+机器人”的现状和未来

基础模型(Foundation Models)是近年来人工智能领域的重要突破&#xff0c;在自然语言处理和计算机视觉等领域取得了显著成果。将基础模型引入机器人学&#xff0c;有望从感知、决策和控制等方面提升机器人系统的性能&#xff0c;推动机器人学的发展。由斯坦福大学、普林斯顿大学…...

Commitizen:规范化你的 Git 提交信息

简介 在团队协作开发过程中&#xff0c;规范化的 Git 提交信息可以提高代码维护的效率&#xff0c;便于追踪和定位问题。Commitizen 是一个帮助我们规范化 Git 提交信息的工具&#xff0c;它提供了一种交互式的方式来生成符合约定格式的提交信息。 原理 Commitizen 的核心原…...

官网下载IDE插件并导入IDE

官网下载IDEA插件并导入IDEA 1. 下载插件2. 导入插件 1. 下载插件 地址&#xff1a;https://plugins.jetbrains.com/plugin/21068-codearts-snap/versions 说明&#xff1a;本次演示以IDEA软件为例 操作&#xff1a; 等待下载完成 2. 导入插件 点击File->setting->Pl…...

三行命令解决Ubuntu Linux联网问题

本博客中Ubuntu版本为23.10.1最新版本&#xff0c;后续发现了很多问题我无法解决&#xff0c;已经下载了另外一个版本22.04&#xff0c;此版本自带网络 一开始我找到官方文档描述可以通过命令行连接到 WiFi 网络&#xff1a;https://cn.linux-console.net/?p10334#google_vig…...

AI大模型在自然语言处理中的应用:性能表现和未来趋势

引言 A. AI大模型在自然语言处理中的应用背景简介 近年来&#xff0c;随着深度学习和人工智能技术的快速发展&#xff0c;越来越多的研究人员和企业开始关注应用于自然语言处理的AI大模型。这些模型采用了深层的神经网络结构&#xff0c;具有强大的学习和处理能力&#xff0c…...

三防平板定制服务:亿道信息与个性化生产的紧密结合

在当今数字化时代&#xff0c;个性化定制已经成为了市场的一大趋势&#xff0c;而三防平板定制服务作为其中的一部分&#xff0c;展现了数字化技术与个性化需求之间的紧密结合。这种服务是通过亿道信息所提供的技术支持&#xff0c;为用户提供了满足特定需求的定制化三防平板&a…...

【备战蓝桥杯】2024蓝桥杯赛前突击省一:基础数论篇

2024蓝桥杯赛前突击省一&#xff1a;基础算法模版篇 基础数论算法回顾 判断质数&#xff08;试除法&#xff09; 时间复杂度O&#xff08;sqrt(n)&#xff09; static int is_prime(int n){if(n<2) return 0;for (int i2;i<n/i;i){if(n%i0) return 0;}return 1; }质因…...

golang es查询的一些操作,has_child,inner_hit,对索引内父子文档的更新

1.因为业务需要查询父文档以及其下子文档&#xff0c;搞了很久才理清楚。 首先还是Inner_hits,inner_hits只能用在nested,has_child,has_parents查询里面 {"query": {"nested": {"path": "comments","query": {"match…...

精准备份:如何自动化单个MySQL数据库的备份过程

自动化备份对于维护数据库的完整性和安全性至关重要。本指南将向您展示如何使用Shell脚本来自动化MySQL数据库的备份过程。 备份脚本内容 首先&#xff0c;这是我们将使用的备份脚本&#xff1a; #!/bin/bash# 完成数据库的定时备份 # 备份路径 BACKUP/data/backup/db # 当前…...

Green Hills 自带的MULTI调试器查看R7芯片寄存器

Green Hills在查看芯片寄存器时需要导入 .grd文件。下面以R7为例&#xff0c;演示一下过程。 首先打开MULTI调试器&#xff0c;如下所示View->Registers&#xff1a; 进入如下界面&#xff0c;选择导入寄存器定义文件.grd&#xff1a; 以当前R7芯片举例&#xff08;dr7f7013…...

Jupyter Notbook如何安装配置并结合内网穿透实现无公网IP远程连接使用

文章目录 推荐1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&am…...

LightM-UNet:Mamba 辅助的轻量级 UNet 用于医学图像分割

文章目录 摘要1 简介2、方法论2.1、架构概述2.2、编码器块2.3、瓶颈块2.4、解码器块 3、实验4、结论 摘要 https://arxiv.org/pdf/2403.05246.pdf UNet及其变体在医学图像分割中得到了广泛应用。然而&#xff0c;这些模型&#xff0c;特别是基于Transformer架构的模型&#xf…...

探索 Java 网络爬虫:Jsoup、HtmlUnit 与 WebMagic 的比较分析

1、引言 在当今信息爆炸的时代&#xff0c;网络数据的获取和处理变得至关重要。对于 Java 开发者而言&#xff0c;掌握高效的网页抓取技术是提升数据处理能力的关键。本文将深入探讨三款广受欢迎的 Java 网页抓取工具&#xff1a;Jsoup、HtmlUnit 和 WebMagic&#xff0c;分析…...

day16 java object中equals、finalize、

Object类 1.Object类是所有类的父类。 2.一个类如果没有显示继承其它类默认继承Object类equals方法 1.Object中的equals方法 - 用来比较地址值 public boolean equals(Object obj) { return (this obj); } 2.像核心类库中的许多类都重写了equals方法&#xff08;比如&…...

如何应用电桥电路的原理?

电桥电路是一种常用的测量技术&#xff0c;它利用了四个电阻的网络来检测电路的平衡状态。在平衡状态下&#xff0c;电桥的输出电压为零&#xff0c;这种特性使得电桥电路非常适合于精确测量电阻、电感、电容等电气参数&#xff0c;以及用于传感器和测量设备中。以下是电桥电路…...

大话设计模式——24.迭代器模式(Iterator Pattern)

简介 提供一种方法顺序访问一个聚合对象中各个元素&#xff0c;而又不暴露该对象的内部实现。&#xff08;Java中使用最多的设计模式之一&#xff09; UML图 应用场景 Java的集合对象&#xff1a;Collection、List、Map、Set等都有迭代器Java ArrayList的迭代器源码 示例 简…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...