3d模型osgb转换3dtile问题请教

3d模型osgb转换3dtile问题请教

文物的osgb格式数据,需要转换为3dtile格式以方便浏览器访问。osgb格式数据的metadata.xml没有包含坐标系SRS和原点SRSOrigin,导致无法解析。请问如何处理?

img

关于metadata.xml没有包含坐标系SRS和原点SRSOrigin的问题,你可以打开metadata.xml文件,在标签中添加以下内容:

<srs>EPSG:4326</srs>
<srsorigin>0,0</srsorigin>

其中EPSG:4326是WGS84坐标系的代号,0,0是原点的经纬度。你试下有效果没,不行我再看看

发我一个数据,我帮你看下。坐标系设置恰当应该就可以。

osgb格式是OpenSceneGraph Binary格式的一种,不同于开放式的3D格式,例如Collada、glTF等,osgb格式并没有定义坐标系SRS和原点SRSOrigin等信息,这些信息需要在导出时手动定义。因此,在使用osgb转换为3DTile格式时,需要在转换过程中加入这些信息,以确保正确性。

一种解决方法是在osgb转换为3DTile之前,先将osgb导出为COLLADA格式(.dae文件)。在导出时,可以指定SRS和原点SRSOrigin等信息。导出后的COLLADA文件可以进行后续的3DTile转换,该方法适用于osgb格式在COLLADA之前被处理的情况。

另一种解决方法是在osgb格式中增加SRS和原点SRSOrigin的信息。虽然osgb格式本身不支持SRS和原点SRSOrigin信息,但可以在metadata.xml中手动添加这些信息。在osgb转换为3DTile之前,需先创建3DV格式的metadata.xml文件并添加SRS和原点SRSOrigin信息,然后重新打包至osgb格式。这种方法适用于osgb格式转换为3DTile的情况。

需要注意的是,在转换过程中还需注意数据精度和坐标系一致性等问题,以确保3DTile转换后的数据精度和准确性。

在将 osgb 格式的 3D 模型转换为 3DTiles 格式时,确保元数据(metadata.xml)文件包含正确的坐标系(SRS)和原点(SRSOrigin)信息非常重要。如果缺少这些信息,可以尝试以下方法:

确认原始 3D 模型是否包含正确的坐标系信息。如果原始模型没有正确的坐标系信息,则需要先将其转换为正确的坐标系,然后再进行转换为 3DTiles 格式。

如果原始模型中缺少 SRS 和 SRSOrigin 信息,则可以手动添加这些信息到 metadata.xml 文件中。例如,可以通过查找原始模型的空间参考系统,并将相关信息添加到 metadata.xml 文件中来解决此问题。

使用第三方工具或库进行转换,例如 Cesium ion、FME、Houdini 或 Potree 等,这些工具通常能够自动检测并添加缺失的坐标系和原点信息。

总之,在将 3D 模型从 osgb 转换为 3DTiles 格式时,确保元数据包含正确的坐标系和原点信息非常重要。如果缺少这些信息,则可能会导致转换失败或生成不准确的 3DTiles 数据。

three.js里的1像素代表1m,我的模型不足长宽高都不足1m,所以不存在缩小的问题。感谢各位大佬。