SuperMap iObjects Java 如何将3DTiles数据转换为S3M三维瓦片

作者:姜尔


一、技术思路

本文用于将基于倾斜摄影三维模型、人工建模数据、BIM、点云等数据生成的3D Tiles 1.0数据转换为S3M数据。

参数说明

  • 接口详情可见SuperMap iObject Java帮助文档:

https://support.supermap.com/DataWarehouse/WebDocHelp/iObjectsJava/index.html

二、主要代码

java 复制代码
            Boolean flag = obliquePhotogrammetry3DModelTool.threeDTilesToS3M(srcJsonFile, outputScpPath, threeDTilesToS3MParameters);//3DTiles转S3M(带3DTiles转S3M参数类)

三、完整示例代码

java 复制代码
package gettingstarted;

import com.supermap.data.AttributeExtentType;
import com.supermap.data.S3MVersion;
import com.supermap.data.processing.*;

public class ThreeDTilesToS3M {

        public static void main(String[] args) {
            ObliquePhotogrammetry3DModelTool obliquePhotogrammetry3DModelTool = new ObliquePhotogrammetry3DModelTool();//倾斜摄影3D模型工具

            ThreeDTilesToS3MParameters threeDTilesToS3MParameters=new ThreeDTilesToS3MParameters();
            threeDTilesToS3MParameters.setAttributeType(AttributeExtentType.ATTRIBUTE);//设置属性类型。attribute属性存储类型
            threeDTilesToS3MParameters.setCacheName("tilesetS3MB");//设置瓦片名称
            threeDTilesToS3MParameters.setENU(false);//设置是否为ENU坐标。
            threeDTilesToS3MParameters.setCacheDataType(CacheDataType.NORMALCACHEFILE);//设置瓦片数据类型。NORMALCACHEFILE  三维瓦片
            threeDTilesToS3MParameters.setMeshCompressType(MeshCompressType.NONE);//设置几何压缩方式。
            threeDTilesToS3MParameters.setS3MVersion(S3MVersion.VERSION_301);//设置S3M版本。
            threeDTilesToS3MParameters.setTextureCompressType(TextureCompressType.TEXTURECOMPRESS_DXT);//设置纹理压缩格式。
            threeDTilesToS3MParameters.setThreadCount(10);//设置线程数


            String srcJsonFile = "./lsbzztModel3/tileset.json";
            String outputScpPath = ".\tilesetS3MB";
            Boolean flag = obliquePhotogrammetry3DModelTool.threeDTilesToS3M(srcJsonFile, outputScpPath, threeDTilesToS3MParameters);//3DTiles转S3M(带3DTiles转S3M参数类)
            System.out.println("3DTiles转S3M是否成功" + flag);
        }
}

四、运行结果展示

3DTILES效果:

3DTILES 转S3M

S3M加载效果:

相关推荐
二哈赛车手3 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~4 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8294 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
未若君雅裁5 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
阿维的博客日记6 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI6 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding7 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
小小编程路8 小时前
C++ 多线程与并发
java·jvm·c++
AI视觉网奇8 小时前
linux 检索库 判断库是否支持
java·linux·服务器