Super Map超图IServer倾斜摄影模型单体化与属性查询操作
傾斜攝影模型單體化與屬性查詢操作
傾斜攝影模型通常被稱作“一張皮”的模型,為發揮傾斜攝影模型應用價值,必須對傾斜攝影模型進行單體化處理。超圖三維率先采用了模型疊加矢量面的方式對傾斜攝影模型進行單體化,此方式操作簡單,并且在矢量面數據的屬性表中存儲業務方面的各類屬性信息,實現單體化的同時能夠在傾斜攝影模型進行屬性查詢。目前,SuperMap iClient3D for WebGL提供了眾多示范程序,其中“傾斜攝影屬性查詢”范例便演示了傾斜攝影模型實現單體化選擇和屬性查詢的效果。
1.數據準備
必備數據包括:
①傾斜攝影模型數據:如*.osgb格式的傾斜攝影模型及配置文件(.scp),若無配置文件,請參照“加載傾斜攝影模型操作手冊”的第一步生成SCP配置文件。
②二維矢量面數據:矢量面數據與傾斜攝影模型位置匹配,完善矢量面數據的屬性表;矢量面數據存放于文件數據源(.udb/*.udbx)中。
為做演示,筆者制作修改了一份矢量面數據,其屬性結構如下圖,其中“Name/名稱”和“Des/描述”字段是本示例的業務字段,將用于屬性查詢。
在“工作空間管理器”中選中數據集并打開其屬性表,在功能區“屬性表”選項卡“編輯”組中單擊“屬性結構”,即可查看、修改數據的屬性結構,并且請根據業務需求為矢量數據添加屬性字段、完善屬性值。
為了能夠像范例一樣在選中模型時展示圖片,可選地準備了圖片資源(.jpg),將圖片資源存放于“%WebGL產品包%\examples\images”文件夾下。圖片的名稱與矢量面屬性表的“Name/名稱”字段值相同。
2. 壓縮并單體化
操作說明
通過模型單體化處理,相當于為傾斜攝影模型“綁定”位置匹配的矢量面數據。
操作步驟
(1). 在“工作空間管理器”“數據源”處打開存放有矢量面數據的文件型數據源(.udb/*.udbx);
(2). 在SuperMap iDesktop桌面產品的“三維數據”選項卡–>“三維瓦片”組中單擊“壓縮并單體化”按鈕,如下圖所示。
(4). 在對話框的左上角“+”處添加傾斜攝影模型配置文件(*.scp)。
(5). 在對話框的“參數設置”處可設置傾斜數據的壓縮類型、保存類型及目標文件,具體說明如下:
壓縮類型:默認DXT(PC設備)壓縮方式。目前支持五種壓縮類型:WebP、DXT(PC設備)、CRN_DXT5(PC設備)、PVRTC(iOS系列設備)、ETC(Android系列設備)、不壓縮。對于不同用途的數據,采用不同的紋理壓縮方式,可以減少紋理圖像所使用的顯存數量。
WebP(減少總量):適用于 Web端/PC機上通用的壓縮紋理格式。數據總量減少,提高傳輸性能。
DXT(PC設備):適用于 PC 機(個人計算機)上通用的壓縮紋理格式。顯存占用減少,提升渲染性能,但是數據總量會增加。
PVRTC(iOS系列設備-快速):適用于蘋果 iOS 設備上通用的壓縮紋理格式。以此種方式進行紋理壓縮時,同時會生成一個離線地圖包,方便 iOS 設備用戶使用。
PVRTC(iOS系列設備):適用于蘋果 iOS 設備上通用的壓縮紋理格式。以此種方式進行紋理壓縮時,同時會生成一個離線地圖包,方便 iOS 設備用戶使用。
ETC(Android系列設備):適用于 Android 設備上通用的壓縮紋理格式。以此種方式進行紋理壓縮時,同時會生成一個離線地圖包,方便 Android 設備用戶使用。
保存類型:支持生成S3M/S3MB格式的結果數據。
目標路徑:單體化處理后目標文件存放路徑。
(6). 在對話框的“參數設置”處可設置矢量面數據所在的數據源、數據集和關聯字段,具體說明如下:
數據源:與傾斜攝影模型匹配的矢量面數據所在的數據源。選擇當前工作空間所打開的數據源。
數據集:與傾斜攝影模型匹配的矢量面數據所在的數據集。
目標字段:用于存儲數據特征的字段。
(7). 設置完以上參數后,單擊“確定”按鈕,等待處理完成。
操作結果
操作完成后,目標路徑下產生了一個*.scp文件及多個存放有模型的文件夾,其目錄結構和文件數量及名稱均與原文件一致。為驗證單體化效果,在SuperMap iDesktop中以“添加三維切片緩存圖層”方式將此單體化處理的模型添加到球面場景,定位到該圖層,在場景中鼠標單擊某一房屋模型,該模型被高亮顯示,由此可見,單體化處理成功。
操作說明
在此步驟將S3M格式的傾斜攝影模型以三維服務的形式發布到本地或遠程服務器上,實現Web網絡資源共享,為實現屬性查詢,還將發布一個數據服務。
操作步驟
(1).在SuperMap iDesktop桌面產品的 “工作空間管理器”中,在“數據源”處右鍵點擊“打開文件型數據源”,打開存有矢量面數據的數據源(.udb/.udbx);
(2).新建一個球面場景,在“圖層管理器”下選中“普通圖層”,右鍵點擊“添加三維切片緩存圖層”,選擇“壓縮并單體化”操作生成的*.scp配置文件。
(3).加載數據后,定位到圖層并設置合適觀察角度,保存場景和工作空間;保存后須關閉當前工作空間,占用可能導致后續服務發布失敗。
(4).啟動SuperMap iServer服務:在 %SuperMap iServer_HOME%/bin 目錄下,點擊“startup.bat“批處理文件啟動服務。
(5).打開瀏覽器,地址欄輸入http://localhost:8090/iserver/manager 進入“服務管理“頁面,“首頁”下點擊“快速發布一個或一組服務“按鈕。
(6).彈出“快速發布服務-選擇發布的數據來源”對話框,在”數據來源“處選擇”工作空間“,點擊”下一步“。
(7).彈出“快速發布服務-配置數據“對話框,點擊”遠程瀏覽“按鈕選擇前述所保存的工作空間,點擊”下一步“。
(8).彈出“快速發布服務-選擇發布的服務類型“對話框,勾選”REST-數據服務“和”REST-三維服務“,點擊”下一步“。
至此,服務發布已配置完成,按照提示點擊“完成“和”關閉“按鈕。操作結果,服務發布完成后,將在服務列表中顯示該三維服務,如下圖所示。
操作說明
發布了三維服務以后,在此步驟中便可通過WebGL客戶端瀏覽地形數據。
提示:在操作前請將WebGL產品包存放在 %SuperMap iServer_HOME%/webapps 目錄下。
操作步驟
(1) 獲取三維服務url地址,按照如下順序點擊獲取:
進入服務列表頁面(http://localhost:8090/iserver/services),找到并點擊上一步驟所發布的三維服務;
在“服務管理”頁面“基本信息”處點擊“服務地址”
進入“根目錄“頁面,點擊”realspace“;
進入”三維服務根節點(3D)“頁面,點擊“datas“;
進入”三維數據列表(datas)“頁面,點擊“Config“;
進入“三維數據資源(data)“頁面,點擊”獲取三維數據的配置文件“,出現如下圖所示的頁面,復制瀏覽器地址欄的url地址。
(2) 進入WebGL產品包存放路徑(%SuperMap iServer_HOME%/webapps),在“examples”文件夾下,文本方式打開“S3MTiles.html“范例,修改如下圖的內容。
修改scene. addS3MTilesLayerByScp ()函數:將地址修改為方才復制的url地址,并更改name。
修改Cesium.Cartesian3.fromDegrees()函數:它的參數為傾斜攝影模型的中心點位置,分別為經度、緯度和高程。請更改為scp文件中的插入點坐標,用于飛行定位到傾斜攝影模型位置。
(3) 獲取數據服務url地址,按照如下順序點擊獲取:
進入服務列表頁面(http://localhost:8090/iserver/services),找到并點擊上一步驟所發布的數據服務;
在“服務管理”頁面“基本信息”處點擊“服務地址”
進入“根目錄“頁面,點擊”data“;
進入”數據服務的根節點(data)“頁面,復制當前頁面的url地址,如下圖:
(4)在“S3MTiles.html“范例中設置屬性查詢參數,即修改layer.setQueryParameter()部分,如下圖:
其中,url為數據服務的地址,粘貼“數據服務的根節點(data)“頁面的url地址;
dataSourceName為數據源的名稱;
dataSetName為矢量面數據集的名稱;
keyWord為查詢關鍵字,可設置為“SmID”字段。
(5) 范例修改完畢, 以localhost方式打開“S3MTiles.html “網頁,瀏覽器輸入地址即為:http://localhost:8090/%WebGL產品包%/examples/webgl/S3MTiles.html
操作結果
打開網頁后,相機飛至傾斜攝影模型所在位置,點擊任一模型,模型高亮并彈出窗口顯示屬性,效果如下圖:
總結
以上是生活随笔為你收集整理的Super Map超图IServer倾斜摄影模型单体化与属性查询操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: geoserver wfs属性查询
- 下一篇: edup无线网卡驱动安装linux,技术