大浪随波 2023-06-04 17:59 采纳率: 66.7%
浏览 120
已结题

OSGB转换为3dtiles

使用3dtiles.exe (https://github.com/fanvanzh/3dtiles) 从OSGB转换为3dtiles时,发现x,y反了。不确定原因?

应该是这样的:

img

使用three-loader-3dtiles.js加载后,变成这样:

img

有没有什么解决办法?或者有其它工具能更好的转换?

补充:
1.OSGB使用CC Master生成的,metadata.xml 不含坐标系和坐标原点,我手动添加了

    <!--Spatial Reference System-->
    <SRS>EPSG:4326</SRS>
    <!--Origin in Spatial Reference System-->
    <SRSOrigin>0,0</SRSOrigin>

  1. 转换出来的3dtiles 模型 max,min 也不正常,分别为正负无限
  • 写回答

5条回答 默认 最新

  • 急速光粒 2023-06-05 14:42
    关注

    方便数据发我看一下吗?我帮你看一下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Leodong. 2023-06-04 18:07
    关注

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:

    根据您提供的信息,问题可能出在坐标系的定义上。在转换过程中,如果没有正确指定源数据的坐标系或者目标数据的坐标系,可能会导致坐标轴的翻转或者坐标范围的不正确。

    建议您仔细检查原始数据的坐标系和范围,并确保在转换过程中正确指定这些信息。如果您使用了其他工具进行转换,可以尝试使用不同的工具或者调整其参数以解决问题。

    另外,您提到转换后的3dtiles模型的最大、最小值不正常,可能也与坐标系的定义有关。您可以检查模型的元数据文件,确保其中的坐标系信息和数据范围正确。


    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    评论 编辑记录
  • Jackyin0720 2023-06-04 19:09
    关注
    可能是由于使用的投影坐标系与3dtiles.exe期望的坐标系不一致所导致的。
    解决思路是使用3dtiles.exe中提供的--flip-axis选项。该选项可以翻转3dtiles.exe生成的3D瓦片的xy坐标,参考:
    3dtiles.exe convert --flip-axis osgb-file.osgb tiles-file.3dtiles
    
    评论
  • 还有头发的程序员- 2023-06-05 10:32
    关注

    引用部分chatgpt

    可能是由于在OSGB和3dtiles中坐标系的定义不同导致的。OSGB使用的是东北天坐标系(ENU),而3dtiles使用的是右手笛卡尔坐标系(XYZ),其中X轴指向东方,Y轴指向北方,Z轴指向天空。
    
    在进行OSGB到3dtiles的转换时,需要将OSGB中的坐标系转换为3dtiles中的坐标系。这个转换过程需要考虑到坐标系之间的旋转和平移。在旋转方面,需要将ENU坐标系旋转90度,使其X轴指向东方,Y轴指向北方;在平移方面,需要将ENU坐标系的原点设置为3dtiles坐标系的原点。
    
    如果在转换过程中出现了XY反转的情况,可能是由于旋转和平移的顺序不正确或者旋转的角度不正确导致的。可以尝试调整旋转和平移的顺序,或者调整旋转的角度,以解决这个问题。
    
    
    评论
  • HiSiri666666 Java领域优质创作者 2023-06-05 20:56
    关注

    可能是因为3dtiles.exe默认使用的是左手坐标系,而OSGB使用的是右手坐标系。你可以尝试使用以下命令行选项来解决这个问题:
    3dtiles.exe input.osgb output.3dtiles --flipXY
    这个命令会将OSGB数据中的x和y坐标进行反转,从而得到正确的3dtiles数据。如果还有其他的坐标系问题,可以尝试使用其他的命令行选项来解决。具体的选项可以参考3dtiles.exe的帮助文档。

    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月7日
  • 已采纳回答 6月7日
  • 修改了问题 6月4日
  • 修改了问题 6月4日
  • 展开全部

悬赏问题

  • ¥15 STM32U575 pwm和DMA输出的波形少一段
  • ¥30 android百度地图SDK海量点显示标题
  • ¥15 windows导入environment.yml运行conda env create -f environment_win.yml命令报错
  • ¥15 这段代码可以正常运行,打包后无法执行,在执行for内容之前一直不断弹窗,请修改调整
  • ¥15 C语言判断有向图是否存在环路
  • ¥15 请问4.11到4.18以及4.27和4.29公式的具体推导过程是怎样的呢
  • ¥20 将resnet50中的卷积替换微ODConv动态卷积
  • ¥15 通过文本框输入商品信息点击按钮将商品信息列举出来点击加入购物车商品信息添加到表单中
  • ¥100 这是什么压缩算法?如何解压?
  • ¥20 upload上传实验报错500,如何解决?(操作系统-windows)