倾斜影像三维模型根据范围界线提取分割的方法 一、导出瓦片范围线 二、复制需要的瓦片文件夹,制作新的模型文件包 三、结果

准备数据:

界线数据dwg、倾斜影像模型 osgb

准备软件:

CAD、3DMapper、Excel(vba)

1、打开模型数据

使用3DMapperViewer加载Data下的所有osgb,或者元数据metadata.xml。

倾斜影像三维模型根据范围界线提取分割的方法
一、导出瓦片范围线
二、复制需要的瓦片文件夹,制作新的模型文件包
三、结果

倾斜影像三维模型根据范围界线提取分割的方法
一、导出瓦片范围线
二、复制需要的瓦片文件夹,制作新的模型文件包
三、结果

2、导出瓦片范围

在3DMapper viewer的右侧OSG工程框里,瓦片范围图上右键→导出范围线,导出结果为DWG数据。

倾斜影像三维模型根据范围界线提取分割的方法
一、导出瓦片范围线
二、复制需要的瓦片文件夹,制作新的模型文件包
三、结果

3、对范围线数据进行移动Move处理

导出的dwg范围线数据需要改变原点坐标,通过平移移动到其所在投影坐标系下应该在的位置。

操作:使用CAD的move命令,加上(移动)元数据metadata.xml里面空间参考信息中SRSOrigin标签的xyz数据。

倾斜影像三维模型根据范围界线提取分割的方法
一、导出瓦片范围线
二、复制需要的瓦片文件夹,制作新的模型文件包
三、结果

4、叠加范围界线,提取需要的瓦片范围

CAD中根据范围将需要的瓦片信息(瓦片文件夹名)搞到Excel

倾斜影像三维模型根据范围界线提取分割的方法
一、导出瓦片范围线
二、复制需要的瓦片文件夹,制作新的模型文件包
三、结果

二、复制需要的瓦片文件夹,制作新的模型文件包

1、拼接瓦片路径

新建一个目标文件夹,在下面新建一个Data文件夹。

在Excel的B列与C列分别拼接出瓦片文件夹的原路径与需要复制到的路径。

下图仅作列位置示例说明,路径并不正确。

倾斜影像三维模型根据范围界线提取分割的方法
一、导出瓦片范围线
二、复制需要的瓦片文件夹,制作新的模型文件包
三、结果

2、复制瓦片到目标文件夹

使用下面的VBA代码,粘贴到工作表下,复制B列路径指向的文件夹到C列路径

注意前期引用,需要先引用scrrun.dll库,不明白的百度“vba引用库”。

Sub CopyFolder()
    Dim fso As Object '务必先引用scrrun.dll库
    Dim rowCount As Integer
    Set fso = New FileSystemObject
    rowCount = Range("B65536").End(xlUp).Row
    For i = 1 To rowCount Step 1
        fso.CopyFolder Cells(i, 2).Text, Cells(i, 3).Text '复制B列路径指向的文件夹到C列路径
    Next i
End Sub

3、复制其他文件到目标文件夹下

与Data同层级的metadata.xml与Data下使用时已经生产的Data.dsm都可以复制过去,这样就完成了数据包的提取。

三、结果

在eps等的软件中操作加载,就可以看到效果了。