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

SuperMap iObject Java实现倾斜数据预处理

作者:姜尔

一、技术思路

本文主要使用SuperMap iObject Java 12.0.1版本(https://support.supermap.com/DownloadCenter/ProductPlatform.aspx)实现倾斜预处理功能,并输出日志文件记录错误文件及错误类别等相关信息。

倾斜数据预处理功能是对OSGB格式倾斜摄影三维模型数据入库前进行检查,数据检查后会在OSGB文件夹下生成一个文本文件,文本中记录了错误的OSGB倾斜数据,文本中记录了错误的OSGB倾斜数据文件及错误的类别等信息。对于损坏的文件,自动剪切到新文件夹中;对于错误数据,在原文件中生成了修复处理后的错误数据,并将原始数据进行备份。您可以将备份的错误数据剪切到别的文件夹下,再进行倾斜入库操作。

主要使用类及接口:

类说明

方法

ObliquePhotogrammetryGovernance

  • 倾斜数据预处理 : 支持对倾斜数据进行检查和修复,是否检查和修复损坏文件、是否修复错误的包围盒、是否修复错误的骨架、是否修复过大的纹理(支持设置纹理阈值)、是否修复冗余纹理。

checkAndRepair()

执行检查文件完整性以及修复

isContainErrorFile()

是否存在已损坏文件 优先检查倾斜数据是否有损坏,如没有损坏的文件,再检查不规范的数据。

setGovernanceParameters(GovernanceParameters params)

设置倾斜检查参数

setInputFolder(String inputFolder)

设置输入目录,原始倾斜数据所在文件目录。

setLogFilePath(String logFilePath)

设置输出日志文件路径。

GovernanceParameters

  • 斜数据检查参数 : 倾斜数据预处理检查项包括检查数据损坏、移除损坏文件、修复包围盒异常、修复三角网异常、移除冗余纹理、限制纹理大小。

setCheckFileIntegrity(boolean isCheckFileIntegrity)

设置是否检查文件的完整性。

setRemoveErrorFile(boolean isRemoveErrorFile)

设置是否移除损坏的文件

setRemoveRedundantTexture(boolean isRemoveRedundantTexture)

设置是否移除冗余的纹理,默认为false。

setRepairErrorBoundingBox(boolean isRepairErrorBoundingBox)

设置是否修复错误的包围盒,默认值为false。

setRepairErrorGeometry(boolean isRepairErrorGeometry)

设置是否修复错误的几何信息

setScaleTexture(boolean isScaleTexture)

设置是否缩放纹理

setCacheLimitTextureSize(CacheLimitTextureSize cacheLimitTextureSize)

设置纹理限制尺寸大小,大于这个值才会提示,默认值为8192。

setVaildPositionRange(double vaildPositionRange)

设置几何顶点坐标阈值,用于检查和识别*.osgb倾斜摄影三维模型中几何顶点位置异常的数据。

二、主要代码

 ObliquePhotogrammetryGovernance obliquePhotogrammetryGovernance= new ObliquePhotogrammetryGovernance();obliquePhotogrammetryGovernance.setInputFolder("..\\data");//设置输入目录,原始倾斜数据所在文件目录。Boolean falg =obliquePhotogrammetryGovernance.isContainErrorFile();//是否存在已损坏文件 优先检查倾斜数据是否有损坏,如没有损坏的文件,再检查不规范的数据。如果检查到损坏的文件,返回true,并在原始倾斜数据目录下生成一个lod.txt文件,文件里记录了哪些osgb文件已经损坏,需要将这些数据修复后再继续使用。 如果未检查到损坏的文件,则返回false。System.out.println("是否存在已损坏文件:"+falg);obliquePhotogrammetryGovernance.setLogFilePath("..\\test.log");//设置输出日志文件路径。obliquePhotogrammetryGovernance.setGovernanceParameters(governanceParameters);//设置倾斜检查参数Boolean flag7=obliquePhotogrammetryGovernance.checkAndRepair();//执行检查文件完整性以及修复System.out.println("是否执行检查文件完整性以及修复:"+flag7);

三、完整示例代码

package gettingstarted;import com.supermap.data.processing.CacheLimitTextureSize;
import com.supermap.data.processing.GovernanceParameters;
import com.supermap.data.processing.ObliquePhotogrammetryGovernance;public class qingxieObliquePhotogrammetryGovernance {
//    倾斜预处理:支持对倾斜数据进行检查和修复,是否检查和修复损坏文件、是否修复错误的包围盒、是否修复错误的骨架、是否修复过大的纹理(支持设置纹理阈值)、是否修复冗余纹理。public static void main(String[] args) {GovernanceParameters governanceParameters=new GovernanceParameters();governanceParameters.setCacheLimitTextureSize(CacheLimitTextureSize.LimitSize_1024);//设置纹理限制尺寸大小,大于这个值才会提示,默认值为8192。governanceParameters.setCheckFileIntegrity(true);//   设置是否检查文件的完整性。governanceParameters.setRemoveErrorFile(true);//        设置是否移除损坏的文件governanceParameters.setRemoveRedundantTexture(true);//        设置是否移除冗余的纹理,默认为false。governanceParameters.setRepairErrorBoundingBox(true);//        设置是否修复错误的包围盒,默认值为false。governanceParameters.setRepairErrorGeometry(true);//        设置是否修复错误的几何信息governanceParameters.setScaleTexture(true);//        设置是否缩放纹理governanceParameters.setVaildPositionRange(1.0e8);//        设置几何顶点坐标阈值,用于检查和识别*.osgb倾斜摄影三维模型中几何顶点位置异常的数据。Boolean falg1 =governanceParameters.isCheckFileIntegrity();//        获取是否检查文件的完整性,默认值为true。Boolean falg2 =governanceParameters.isRemoveErrorFile();//        是否移除损坏的文件 默认值为false。Boolean falg3 =governanceParameters.isRemoveRedundantTexture(); //       获取是否移除冗余的纹理,默认为false。Boolean falg4 =governanceParameters.isRepairErrorBoundingBox(); //       获取是否修复错误的包围盒,默认值为false。Boolean falg5 =governanceParameters.isRepairErrorGeometry();  //      是否修复错误的几何信息,默认值为false。Boolean falg6 =governanceParameters.isScaleTexture();  //      是否缩放纹理,默认值为false。System.out.println("是否检查文件的完整性:"+falg1+"     是否移除损坏的文件:"+falg2+"       是否移除冗余的纹理:"+falg3+"       是否修复错误的包围盒:"+falg4+"       是否修复错误的几何信息:"+falg5+"       是否缩放纹理:"+falg6);ObliquePhotogrammetryGovernance obliquePhotogrammetryGovernance= new ObliquePhotogrammetryGovernance();obliquePhotogrammetryGovernance.setInputFolder("E:\\software\\supermap\\iobjectsjava\\1201\\offical\\supermap-iobjectsjava-2025u1-win-all\\GettingStarted\\GettingStarted\\src\\testData\\data");//设置输入目录,原始倾斜数据所在文件目录。Boolean falg =obliquePhotogrammetryGovernance.isContainErrorFile();//是否存在已损坏文件 优先检查倾斜数据是否有损坏,如没有损坏的文件,再检查不规范的数据。如果检查到损坏的文件,返回true,并在原始倾斜数据目录下生成一个lod.txt文件,文件里记录了哪些osgb文件已经损坏,需要将这些数据修复后再继续使用。 如果未检查到损坏的文件,则返回false。System.out.println("是否存在已损坏文件:"+falg);obliquePhotogrammetryGovernance.setLogFilePath("E:\\software\\supermap\\iobjectsjava\\1201\\offical\\supermap-iobjectsjava-2025u1-win-all\\GettingStarted\\GettingStarted\\src\\testData\\test.log");//设置输出日志文件路径。obliquePhotogrammetryGovernance.setGovernanceParameters(governanceParameters);//设置倾斜检查参数Boolean flag7=obliquePhotogrammetryGovernance.checkAndRepair();//执行检查文件完整性以及修复System.out.println("是否执行检查文件完整性以及修复:"+flag7);}
}
 

四、运行结果展示

http://www.dtcms.com/a/490951.html

相关文章:

  • 逻辑方阵(Logical Square)解说
  • Vue与React中动态导入的原理及实现差异解析
  • 有一个网站自己做链接获取朋友位置传媒公司属于什么行业类型
  • 服饰类电商网站建设策划昆山vi设计
  • aben.co微端侧模型价格实惠的服务商
  • 网站开发思维导图内容如何做一个单页面的网站
  • 【Qt】7.信号和槽_connect函数用法(2)
  • 网站的建设流程具体有哪些哪个合肥seo好
  • 大连公司网站建设站点与网站有什么区别
  • 高压混动救援的 “及时雨”:XRC-3363 系列救援充电器实操解析与安全要点
  • 玛哈特激光落料线:一条会“思考”的钢铁流水线
  • 《爬虫进阶之路:从模拟浏览器到破解动态加载的实战指南》
  • 现在做个人网站上海发布最新情况
  • 网站漂浮图片代码怎样把自己的网站上传
  • 如何做微网站社交电商怎么做
  • 离线安装NetData:高效监控服务器指南
  • 学习笔记-eventpp库
  • uni-app Vue 项目的规范目录结构全解
  • 在线预约导游|基于SSM+vue的在线预约导游系统(源码+数据库+文档)
  • 网站你懂我意思正能量免费网站推广策划的流程
  • 信宜网站建设公司厦门 网站建设
  • 免费建立网站的平台wordpress简体中文版下载
  • 在小车上挂载nfs
  • C# 开发最新趋势:在性能与智能的浪潮中乘风破浪
  • EL817S1(C)(TU)-F 晶体管输出光耦合器 EVERLIGHT亿光 高隔离电压 电子解析
  • 河北建设厅录入业绩的网站营销方案100例
  • 品牌营销专家:为企业发展注入强劲动力
  • MS2107高性能USB 2.0视频信号和音频采集,支持NTSC/PAL制式,适用于低成本视频采集设备
  • 利用R绘制条形图
  • 解决Redis数据丢失难题:深入理解RDB与AOF持久化机制