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加载效果:

相关推荐
码语智行39 分钟前
GDB 文件导入流程分析
java
jjjava2.039 分钟前
软件测试与开发全流程解析
java·功能测试·测试用例
CodeStats43 分钟前
JavaWeb 造轮者视角:Spring Boot 启动核心思想与完整链路解析
java·spring boot·后端
weixin_523185321 小时前
Spring事务为什么会失效?常见场景与解决方案总结
java·数据库·spring
cfm_29141 小时前
JVM对象逃逸分析深度详解
java·开发语言·jvm
云絮.1 小时前
数据库约束
java·数据库·sql·mysql·oracle
weixin_523185321 小时前
SimpleDateFormat为什么线程不安全?源码级解析与解决方案
java·开发语言·安全
Chase_______1 小时前
【Java杂项】Java 中的 null:空指针、自动拆箱与集合边界详解
java·开发语言
程序猿乐锅1 小时前
【JAVASE | 第十九篇】Java 注解入门
java
布朗克1681 小时前
28 网络编程——Socket、TCP/UDP与HttpClient
java·网络·tcp/ip·udp