准備數據:
界線數據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等的軟件中操作加載,就可以看到效果了。