在三維場景中瀏覽數(shù)據(jù)更加直觀和真實(shí),對于同樣的數(shù)據(jù),三維可視化將使數(shù)據(jù)能夠提供一些平面圖上無法直接獲得的信息。可以很直觀地對區(qū)域地形起伏的形態(tài)及溝、谷、鞍部等基本地形形態(tài)進(jìn)行判讀,比二維圖形如等高線圖更容易為大部分讀圖者所接受。
ArcScene 是ArcGIS 三維分析模塊的一部分,通過在3D Analyst 菜單條中點(diǎn)擊按鈕打開。它具有管理3D GIS 數(shù)據(jù)、進(jìn)行3D 分析、編輯3D 要素、創(chuàng)建3D 圖層以及把二維數(shù)據(jù)生成3D 要素等功能。
一、要素立體顯示
有時(shí)需要將要素?cái)?shù)據(jù)在三維場景中以透視圖顯示出來進(jìn)行觀察和分析。要素?cái)?shù)據(jù)與表面數(shù)據(jù)的不同之處在于,要素?cái)?shù)據(jù)描述的是離散的對象如點(diǎn)對象、線對象、面對象(多邊形)等。它們通常具有一定的幾何形狀和屬性。常見的點(diǎn)要素有通信塔臺(tái)、泉眼等在地圖上通常表現(xiàn)為點(diǎn)狀符號;線狀要素更為常見,如道路、水系、管線等等;多邊形要素如湖泊、行政區(qū)及大比例尺地形圖上的居民地等。
在三維場景中顯示要素的先決條件是要素必須被以某種方式賦予高程值或其本身具有高程信息。因此,要素的三維顯示主要有兩種方式:1)具有三維幾何的要素,在其屬性中存儲(chǔ)有高程值,可以直接使用其要素幾何中或?qū)傩灾械母叱讨担瑢?shí)現(xiàn)三維顯示;2)對于缺少高程值的要素,可以通過疊加或突出兩種方式在三維場景中顯示。所謂疊加,即將要素所在區(qū)域的表面模型的值作為要素的高程值,如將所在區(qū)域柵格表面的值作為一幅遙感影像的高程值,可以對其做立體顯示;突出則是指根據(jù)要素的某個(gè)屬性或任意值突出要素,如要想在三維場景中顯示建筑物要素,可以使用其高度或樓層數(shù)這樣的屬性來將其突出顯示(圖1)。
圖1 建筑物二維圖形按高度突出
另外,有時(shí)研究分析可能需要使用要素的非高程屬性值作為三維Z值,在場景中顯示要素。最常見的是在社會(huì)、經(jīng)濟(jì)領(lǐng)域的應(yīng)用。如對某省行政范圍內(nèi)每個(gè)市縣的經(jīng)濟(jì)總量值 作為Z 值進(jìn)行三維立體顯示(圖2),可直觀地觀察和分析全省總體的情況。
圖2某地區(qū)各個(gè)城鎮(zhèn)人口數(shù)突出顯示
由前所述,添加到三維場景中的數(shù)據(jù)并不一定會(huì)自動(dòng)以三維方式顯示。具有三維幾何 的要素及TIN表面將自動(dòng)以三維方式進(jìn)行繪制時(shí),會(huì)放置在一個(gè)平坦的三維平面上,若要以三維方式查看它們,需首先定義其Z 值。
ArcGIS 的三維分析功能在要素屬性對話框中提供了要素圖層在三維場景中的三種顯示方式:1)使用屬性設(shè)置圖層的基準(zhǔn)高程;2)在表面上疊加要素圖層設(shè)置基準(zhǔn)高程;3)突出要素。還可以結(jié)合多種顯示方式,如先使用表面設(shè)置基準(zhǔn)高程,然后在表面上再突出顯示要素。在城市景觀三維顯示中,以表面設(shè)置基準(zhǔn)高程,然后在表面上突出顯示要素建筑物,可以更加自然真實(shí)顯示城市景觀。
1. 通過屬性設(shè)置基準(zhǔn)高程顯示要素圖層
在要素屬性對話框(Properties)中,選擇基準(zhǔn)高程選項(xiàng)卡(Base Heights),設(shè)置以常量或表達(dá)式作為基準(zhǔn)高程,填寫或點(diǎn)擊Calculate 按鈕生成提供Z 值的字段或表達(dá)式即可,見圖3。
之后,二維要素將以所設(shè)定屬性或表達(dá)式的值為Z 值在三維場景中顯示,圖4是以等高線的高程屬性作為基準(zhǔn)高程顯示的等高線三維透視圖。
圖3設(shè)置要素圖層的基準(zhǔn)高程
圖4等高線要素的三維顯示
2.使用表面設(shè)置基準(zhǔn)高程顯示要素圖層
在設(shè)置基準(zhǔn)高程時(shí)選擇由表面獲取要素圖層的高程,點(diǎn)擊Obtain heights for layers frome surface 選擇所需表面即可(圖5)。要素將會(huì)以表面所提供的高程在場景中顯示。
圖5 使用表面設(shè)置要素的基準(zhǔn)高程
3. 要素的突出顯示
在圖層屬性對話框的突出(Extrusion)標(biāo)簽中,選中對圖層中的要素進(jìn)行突出復(fù)選框(圖6)。
圖6 突出表達(dá)式生成器
二、設(shè)置場景屬性
在實(shí)現(xiàn)要素或表面的三維可視化時(shí),需要注意以下一些問題,包括:
1.添加到場景中的圖層必須具有坐標(biāo)系統(tǒng)才能正確顯示;
2.為更好地表示地表高低起伏的形態(tài),有時(shí)需要進(jìn)行垂直拉伸,以免地形顯示地過于陡峭或平坦;
3.為全面地了解區(qū)域地形地貌特征,可以進(jìn)行動(dòng)畫旋轉(zhuǎn);
4.為增加場景真實(shí)感,需要設(shè)置合適的背景顏色;
5.根據(jù)不同分析需求,設(shè)置不同的場景光照條件,包括入射方位角,入射高度角及表面陰影對比度;
6.為提高運(yùn)行效率,需要盡可能地減小場景范圍,去除一些不需要的信息。以下就ArcScene中常用的場景設(shè)置內(nèi)容做一詳細(xì)介紹。
1. 場景坐標(biāo)系統(tǒng)
如果場景中要顯示的數(shù)據(jù)都處于相同的坐標(biāo)系統(tǒng)之下,則直接將數(shù)據(jù)添加顯示即可,不需考慮圖層的疊加是否正確。如果各個(gè)圖層存在不同的坐標(biāo)系統(tǒng),則須進(jìn)行適當(dāng)?shù)霓D(zhuǎn)換以確保ArcScene能夠正確顯示它們。通常,當(dāng)在一個(gè)空的場景中加入某圖層時(shí),該圖層的坐標(biāo)系統(tǒng)就決定了場景的坐標(biāo)系統(tǒng)。在這之后可以根據(jù)應(yīng)用需求再對場景的坐標(biāo)系統(tǒng)進(jìn)行更改。當(dāng)隨后加入其它圖層到場景中時(shí),ArcScene 將會(huì)自動(dòng)將圖層的坐標(biāo)系統(tǒng)轉(zhuǎn)換使與場景的坐標(biāo)系統(tǒng)一致。若新加入圖層沒有坐標(biāo)系統(tǒng),將不能正確顯示,此時(shí)可人為地確定數(shù)據(jù)的坐標(biāo)系統(tǒng)。
如果數(shù)據(jù)本身沒有任何坐標(biāo)系統(tǒng)的信息,ArcScene 將會(huì)檢查圖層的坐標(biāo)值,看其X 值 是否落在-180 度到180 度之間,Y值是否在-90 度到90 度之間。如果滿足上述條件,則 ArcScene 將該數(shù)據(jù)認(rèn)為是經(jīng)緯度坐標(biāo)數(shù)據(jù)。否則,將認(rèn)為該數(shù)據(jù)為平面坐標(biāo)數(shù)據(jù)。
(1) 查詢當(dāng)前場景坐標(biāo)系統(tǒng)
打開場景的屬性對話框(圖7)。選擇其中的坐標(biāo)系統(tǒng)(Coordinate System)選項(xiàng)卡,將顯示當(dāng)前使用的坐標(biāo)系統(tǒng)的詳細(xì)信息。(圖8)
圖7 打開場景的屬性對話框
(2)在圖8 所示的場景屬性對話框中,雙擊預(yù)定義(Predefined),選擇預(yù)定義坐標(biāo)系統(tǒng),之后,所有加載到場景中的數(shù)據(jù)都將使用該坐標(biāo)系統(tǒng)進(jìn)行顯示。
圖8 將顯示當(dāng)前使用的坐標(biāo)系統(tǒng)的詳細(xì)信息
需要注意的是,改變場景的坐標(biāo)系統(tǒng),并不會(huì)改變圖層源數(shù)據(jù)其坐標(biāo)系統(tǒng),只是以場景坐標(biāo)系統(tǒng)對其進(jìn)行顯示。
2. 垂直拉伸
垂直拉伸一般用于強(qiáng)調(diào)表面的細(xì)微變化。在進(jìn)行表面的三維顯示時(shí),如果表面的水平范圍遠(yuǎn)大于其垂直變化,則表面的三維顯示效果可能不太明顯,此時(shí),可以進(jìn)行垂直拉伸以利于觀察分析。另外,當(dāng)表面垂直變化過于劇烈不便于分析應(yīng)用時(shí)也可以進(jìn)行垂直拉伸,不過垂直拉伸系數(shù) 應(yīng)設(shè)置為分?jǐn)?shù)。垂直拉伸對場景內(nèi)所有圖層都產(chǎn)生作用,如果要對單個(gè)圖層做垂直拉伸,可以通過改變圖層的高程轉(zhuǎn)換系數(shù)來實(shí)現(xiàn)。
打開場景屬性對話框,在General 選 項(xiàng)卡中選擇垂直拉伸(Vertical Exag geration)系數(shù)(圖9),或者點(diǎn)擊 Calculate From Extent 按鈕,系統(tǒng)將根據(jù)場景范圍與高程變化范圍自動(dòng)計(jì)算垂直拉伸系數(shù)。圖10 為原始表面與設(shè)置拉伸系數(shù)為2 時(shí)的顯示效果的對比。
圖9 垂直拉伸(Vertical Exag geration)系數(shù)
圖10 原始表面與拉伸后的表面
3. 使用動(dòng)畫旋轉(zhuǎn)
通過對場景進(jìn)行旋轉(zhuǎn)觀察,可以獲得表面總體概況。ArcScene 可以使場景圍繞其中心旋轉(zhuǎn),旋轉(zhuǎn)速度與察看角度可以人為調(diào)整,并可在旋轉(zhuǎn)的同時(shí)進(jìn)行縮放。
欲使用動(dòng)化旋轉(zhuǎn),需要先對該功能進(jìn)行激活。打開場景屬性對話框后,在General 選
項(xiàng)卡中選中Enable Animated Rotation 選項(xiàng)即可激活動(dòng)畫旋轉(zhuǎn)功能(圖11)
激活之后,可以使用場景漫游工具(Navigate)將場景左右拖動(dòng)之后,即可開始進(jìn)行 旋轉(zhuǎn),旋轉(zhuǎn)的速度決定于鼠標(biāo)釋放前的速度,在旋轉(zhuǎn)的過程中也可以通過鍵盤的Page Up鍵和Page Down 鍵進(jìn)行調(diào)節(jié)速度。點(diǎn)擊場景即可停止其轉(zhuǎn)動(dòng)。
圖11 激活動(dòng)畫旋轉(zhuǎn)功能
圖12 設(shè)置場景的光照
4. 設(shè)置場景背景顏色
同樣地,打開場景屬性對話框,在General 選項(xiàng)卡中,選擇背景色(Background),同時(shí)還可以將所選顏色設(shè)置為場景默認(rèn)背景色(選中Use as default in all new scenes 復(fù)選框)。
5. 改變場景的光照
通過設(shè)置光源的方位角、高度角及對比度可以調(diào)整場景的照明情況。在場景屬性對話 框的Illumination 選項(xiàng)卡中,可以通過手動(dòng)輸入方位角(Azimuth)和高度角(Altitude)或 通過鼠標(biāo)滑動(dòng)改變這兩個(gè)參數(shù)。另外,同時(shí)在此還可設(shè)置對比度。以上操作見圖12 所示。
6. 改變場景范圍
設(shè)置合適的場景范圍,可以消除一些無關(guān)信息,增加繪圖時(shí)的性能。默認(rèn)情況下,場 景的范圍為場景中所有圖層的范圍。可以根據(jù)應(yīng)用需求改變場景的范圍,使之與某個(gè)圖層的范圍一致,或通過X、Y 坐標(biāo)的最大最小值來指定。
打開場景屬性對話框后,選擇Extent 選項(xiàng)卡,在此設(shè)置場景范圍(圖13)。如前所述可以兩種方式進(jìn)行設(shè)置:1)在Layers 下拉列表中選擇某一圖層(圖a);2)點(diǎn)擊自定義(Custom),輸入最大最小X、Y 坐標(biāo),從而確定場景范圍(圖b)。
a b
圖13 設(shè)置設(shè)置場景范圍的兩種方式
三、飛行動(dòng)畫
通過使用動(dòng)畫,可以使場景栩栩如生,能夠通過視角、場景屬性、地理位置以及時(shí)間 的變化來觀察對象。例如,可以創(chuàng)建一個(gè)動(dòng)畫來觀察運(yùn)動(dòng)著的衛(wèi)星在它們的軌道上是如何 相互作用的,也可以用動(dòng)畫來模擬地球的自轉(zhuǎn)及隨之的光照變化。
1. 如何制作動(dòng)畫
在ArcScene 中提供了制作動(dòng)畫的工具條Animation。默認(rèn)情況下,它沒有添加到 ArcScene 的視圖中,可以通過在工具欄上點(diǎn)擊右鍵,在彈出的快捷菜單中選擇Animation 項(xiàng)打開它。能夠制作數(shù)據(jù)動(dòng)畫、視角動(dòng)畫和場景動(dòng)畫。動(dòng)畫是由一條或多條軌跡組成,軌 跡控制著對象屬性的動(dòng)態(tài)改變,例如,場景背景顏色的變化,圖層視覺的變化或者觀察點(diǎn) 的位置的變化。軌跡是由一系列幀組成,而每一幀是某一特定時(shí)間的對象屬性的快照,是 動(dòng)畫中最基本的元素。在ArcScene 中可以通過以下幾種方法生成三維動(dòng)畫:
(1) 通過創(chuàng)建一系列幀組成軌跡來形成動(dòng)畫:
在動(dòng)畫工具條中提供了創(chuàng)建幀的工具。可以通過改變場景的屬性(例如場景的背景顏 色、光照角度等)、圖層的屬性(圖層的透明度、比例尺等)以及觀察點(diǎn)的位置來創(chuàng)建不 同的幀。然后用創(chuàng)建的一組幀組成軌跡演示動(dòng)畫。動(dòng)畫功能會(huì)自動(dòng)平滑兩幀之間的過程。 如,可以改變場景的背景顏色由白變黑,同時(shí)改變場景中光照的角度來制作一個(gè)場景由白天到黑夜的動(dòng)畫。
實(shí)現(xiàn)過程如下:
1) 設(shè)置動(dòng)畫第一幀的場景屬性;
2) 點(diǎn)擊Animation 下拉菜單,選擇Create Keyframe 命令(圖14);
圖15 選擇幀類型
圖14 創(chuàng)建幀工具
3) 在Type 欄中選擇幀類型為Scene,由不同場景構(gòu)成動(dòng)畫的幀(圖9.65);
4) 點(diǎn)擊New 按鈕,創(chuàng)建一個(gè)動(dòng)畫,此時(shí)彈出Animation Track 對話框(圖9.66),鍵入動(dòng)畫名稱;
5)點(diǎn)擊Create抓取一個(gè)新的幀 ;
6) 再次改變場景屬性,之后點(diǎn)擊Create,抓取第二幀,根據(jù)需要抓取全部所需的幀。
7) 抓取完全部的幀之后,點(diǎn)擊Close,關(guān)閉創(chuàng)建幀對話框;
(2)通過錄制導(dǎo)航動(dòng)作或飛行創(chuàng)建動(dòng)畫:
點(diǎn)擊動(dòng)畫控制器上(Animation Controls,圖17)的錄制按鈕開始錄制,在場景中通過導(dǎo)航工具進(jìn)行操作或通過飛行工具進(jìn)行飛行,操作結(jié)束后點(diǎn)擊錄制按鈕停止錄制。這個(gè)工具類似錄相器,將場景中的導(dǎo)航操作或飛行動(dòng)作的過程錄制下來形成動(dòng)畫。
圖16 命名動(dòng)畫
圖17 動(dòng)畫控制工具條
(3) 通過捕捉不同視角,并自動(dòng)平滑視角間過程創(chuàng)建動(dòng)畫:
通過導(dǎo)航工具將場景調(diào)整到某一合適的視角,用動(dòng)畫工具條上的捕捉視角命令捕捉此視角,然后將場景調(diào)整到另一個(gè)合適的視角,再次用捕捉命令捕捉視角,依次可捕捉多個(gè)視角。動(dòng)畫功能會(huì)自動(dòng)平滑兩視角間的過程,形成一個(gè)完整的動(dòng)畫過程。
(4) 通過改變一組圖層的可視化形成動(dòng)畫效果:
通過動(dòng)畫制作工具條中的創(chuàng)建組合動(dòng)畫命令,選擇圖層控制一組圖層使他們按照順序逐個(gè)顯示通過效果調(diào)整實(shí)現(xiàn)動(dòng)畫效果。例如,可以用一組顯示洪水淹沒過程的圖層生 成洪水演進(jìn)的動(dòng)畫效果。
實(shí)現(xiàn)過程如下:
1) 在場景中添加相關(guān)圖層,并按照動(dòng)畫設(shè)計(jì)的播放順序從上到下依次調(diào)整圖層順序;。
2)點(diǎn)擊 Animation 下拉菜單下的Create Group Animation 命令(圖18),彈出創(chuàng)建圖層動(dòng)畫對話框(圖19);
圖18Create Group Animation 命令
圖19 創(chuàng)建圖層動(dòng)畫對話框
3)在Base name for tracks 欄中鍵入動(dòng)畫名稱;
4)設(shè)置起止時(shí)間;
5)根據(jù)需要條調(diào)整圖層出現(xiàn)的方式(Transitions);
6)利用動(dòng)畫控制工具條對生成的動(dòng)畫進(jìn)行預(yù)覽。
(5)通過導(dǎo)入路徑的方法生成動(dòng)畫:
選擇場景中存在的矢量要素,用動(dòng)畫工具條中的沿路徑飛行命令制作沿路徑飛行的動(dòng)畫效果,此時(shí)可以設(shè)置飛行時(shí)的一些參數(shù)來控制飛行過程中的視覺效果。或用圖層沿路徑移動(dòng)命令制作某一圖層沿路徑移動(dòng)的動(dòng)畫軌跡。此種方法一般用來制作場景行走動(dòng)畫。
實(shí)現(xiàn)過程如下:
1) 選擇場景中的矢量要素;
2) 點(diǎn)擊Animation 下拉菜單下的Camera Flyby from path 命令(圖20),彈出沿路徑飛行動(dòng)畫對話框(圖21);
圖20 導(dǎo)入路徑生成動(dòng)畫工具
圖21 沿路徑飛行動(dòng)畫對話框
3) 在Vertical offset 欄中鍵入視高(視點(diǎn)距離地面的垂直距離),建議視高選擇3-10; 4) 在Path destination 選項(xiàng)欄中設(shè)置路徑目的地;
有三種方式:沿指定路徑同時(shí)移動(dòng)攝像機(jī)和目標(biāo)地物、沿指定路徑圍繞目標(biāo)地物移動(dòng) 攝像機(jī)、目標(biāo)地物沿指定路徑圍繞攝像機(jī)移動(dòng)。
5) 點(diǎn)擊Import 輸入路徑。
6) 預(yù)覽動(dòng)畫,方法同前。
以上是ArcGIS 中五種基本的動(dòng)
2. 編輯和管理動(dòng)畫屬性
對其進(jìn)行組合搭配,達(dá)到最好的表達(dá)效果。
動(dòng)畫的幀或軌跡創(chuàng)建完成之后,可以用動(dòng)畫管理器編輯和管理組成動(dòng)畫的幀和軌跡。 另外,通過它也能改變幀的時(shí)間屬性,并可預(yù)覽動(dòng)畫播放效果。
(1) 啟動(dòng)動(dòng)畫管理器。單擊Animation 下拉菜單中的Animation Manager 項(xiàng)(圖22)。
圖22打開動(dòng)畫管理器
(2) 打開的動(dòng)畫管理器如圖23 所示。
圖23動(dòng)畫管理器
3.保存動(dòng)畫
在ArcScene 中制作的動(dòng)畫可以存儲(chǔ)在當(dāng)前的場景文檔中,即保存在SXD 文檔中;也能存儲(chǔ)成獨(dú)立的ArcScene 動(dòng)畫文件(*.asa)用來與其他的場景文檔共享;同時(shí)也能將動(dòng)畫導(dǎo)出成一個(gè)AVI 文件,被第三方的軟件調(diào)用。
(1) 將動(dòng)畫存儲(chǔ)為獨(dú)立的ArcScene 動(dòng)畫文件。
步驟如下: 1) 在Animation 下拉菜單下選擇Save Animation File 項(xiàng)(圖24);
圖24 存儲(chǔ)動(dòng)畫文件
2) 在彈出的對話框中指定存儲(chǔ)路徑及文件名即可(圖25)。
圖25 存儲(chǔ)動(dòng)畫文件對話框
(2)將動(dòng)畫導(dǎo)出為AVI 文件。
步驟如下:
3) 點(diǎn)擊Animation 菜單下的Export to Video 項(xiàng)(圖26);
圖26 導(dǎo)出動(dòng)畫文件
4) 在彈出的導(dǎo)出對話框中指定保存路徑及文件名即可(圖27)。
圖27 導(dǎo)出動(dòng)畫文件對話框
4. 使用Fly工具進(jìn)行飛行
此外,ArcScene 工具條提供了飛行(Fly)工具 ,使用它可以實(shí)現(xiàn)對場景的飛行瀏覽。選擇該工具后,鼠標(biāo)將變?yōu)橐恢恍▲B的形狀,單擊之后,鼠標(biāo)會(huì)再次變形。此時(shí),可以通過鼠標(biāo)的移動(dòng)控制飛行方向與速度。再次單擊鼠標(biāo),則可從當(dāng)前視點(diǎn)沿鼠標(biāo)所指方向 向下方向飛行,途中,點(diǎn)擊左鍵加快飛行速度,右鍵減速。