当我们想一起展示相邻区域的模型分多次建模后的模型成果时,或同一区域的数据因数据量太大,需分块空三建模时,都需要通过模型合并来输出一个完整的成果。
那么,关于Context Capture模型合并,你是否都清楚了?先用一分钟时间思考下三个问题:1. 什么是模型合并?2. 如何进行模型合并?3. 模型合并生成后,发现一小部分模型效果不佳,如何调整?
接着,带着你的问题继续阅读,5分钟解决难题👇
01
CC模型合并的原理
1. CC生成模型的时候不论什么投影坐标系统,都有一个原点(类似于CAD当中的0,0点,也可以认为是局部坐标系的坐标原点),生成的模型的三角格网里面的顶点坐标全都是相对于该坐标原点而来。在提交reconstruction的时候可以设置该坐标原点,如图1:
2. CC生成模型的时候,因为机器配置(内存、cpu、显卡)等因素,可能会导致数据量大的时候,模型不得不分块,选择分块后,会根据机器的配置设置分块的大小,有了分块方法和分块大小后, CC会自动为每一块计算出块的名称。比如:Tile_+004_+003。并且构建块的名称的时候是从坐标原点开始的。分块后的结果如图2:
3. 基于上述原理,只要是坐标原点一致,且分块大小一致的模型生成成果都可以直接合并(前提,分块大小一致)。
02
模型合并方法
1. 直接合并文件夹,此种方法需要确认如下信息:
需要确定合并的模型的坐标原点是否一致,查看方法,图1当中的Advanced options,或者是模型同级目录下的metedata.xml文件;需要确定分块大小是否一致,查看方法,图2当中的TileSize,或者把数据加载到LocaSpaceViewer里面,用量测功能简单测量一下。(说明:如果接边不是非常严格,或者两块相邻的模型,中间有一定的间隔,只要坐标原点一致,即使分块大小不一致,只要没有重复的瓦片编号也是可以合并的)
2. 在使用CC导出模型的时候,设置相同的bounds(可以通过导入kml范围的方式来实现),这样所有的编号就都不会重复了,出的模型可以直接合并文件夹。
3.已经生成好的osgb格式的模型文件,也是可以合并的,所有的模型顶点坐标都是相对坐标原点的,因此只要对模型的坐标原点进行平移就可以了,此方法涉及到模型本身的修改,不建议使用,常规的操作可以通过编写代码的形式读取模型的每一个顶点然后修改。
4.如果只是想看到合并后的效果,或者是放在一起进行展示,可以直接使用lsv加载两块倾斜摄影的数据,在生成lfp的时候可以通过设置坐标原点进行偏移、旋转、调整高度,让两块相邻的模型展示的更好。
5.以上所有方法都不能完全保证接边问题,要想分块处理,并合并分块处理后的结果,需要通过控制点来完成。控制点的要求,每一个块都要包含适量的控制点,分块时候照片的重叠度要大于航线高度的1.5倍。
03
局部调整
Q:如果已经对整个区域生成好了模型,发现只有一小部分地区的模型效果不满意,然后进行了补拍,此时需要重新生成所有模型吗?A:不用,只需要把补拍的照片导入到已经空三成功的block里,然后重新提交空三,空三完成后,保持上次的生成参数不变,只提交不满意的tiles即可。然后直接拷贝新生成的tiles文件夹到上次的模型结果替换掉老的tiles即可。
版权归原作者所有,如有侵权请告知删除