ArcGIS三維優(yōu)化方法_第1頁(yè)
ArcGIS三維優(yōu)化方法_第2頁(yè)
ArcGIS三維優(yōu)化方法_第3頁(yè)
ArcGIS三維優(yōu)化方法_第4頁(yè)
ArcGIS三維優(yōu)化方法_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ARCGIS三維優(yōu)化方法 文:于強(qiáng),編輯:康來成、白旭陽(yáng)、問題解決:1、三維文字漫游死機(jī)問題現(xiàn)象:在非導(dǎo)航狀態(tài)下模式(可以側(cè)視三維要素的顯示模式)下,對(duì)三維注記對(duì)象漫游,速度極慢甚至死機(jī)。分析:非導(dǎo)航模式下漫游中的死機(jī)問題,主要是全國(guó)鄉(xiāng)鎮(zhèn)地名注記數(shù)據(jù)(81400個(gè)要素),很可能是在瀏覽過程中,由于一次顯示的要素過多造成的長(zhǎng)時(shí)間無響應(yīng)。現(xiàn)場(chǎng)顯示效果如圖1裕公平篦 winWftme:瞽麟籲非導(dǎo)航模式下漫游中的死機(jī)問題,主要是全國(guó)鄉(xiāng)鎮(zhèn)地名注記數(shù)據(jù)(81400個(gè)要素),很可能是在瀏覽過程中,由于一次顯示的要素過多造成的長(zhǎng)時(shí)間無響應(yīng)?,F(xiàn)場(chǎng)顯示效果如圖1裕公平篦 winWftme:瞽麟籲M1蕭廠誼*^w?人昆大燼圖1從圖中可以看到,很可能是視角遠(yuǎn)處的很多注記一次全部顯示而造成系統(tǒng)無響應(yīng)。針對(duì)這個(gè)問題首先能夠想到的是要使視角遠(yuǎn)處的注記點(diǎn)不顯示,即要依據(jù)當(dāng)前視點(diǎn)的合理可視范圍對(duì)地面注記進(jìn)行過濾。調(diào)優(yōu):一個(gè)重要的“Ckeckvisbilitybasedoneachtiledistance”這一選項(xiàng),這一選項(xiàng)默認(rèn)是被選中的,。而選中的這個(gè)選項(xiàng)能夠自動(dòng)的實(shí)現(xiàn)對(duì)每個(gè)圖層塊(瓦片),依據(jù)設(shè)定的顯示距離進(jìn)行過濾。但默認(rèn)的參數(shù)有時(shí)并不是最優(yōu)的,手工設(shè)置后發(fā)現(xiàn),這種過濾方法不但能解決非導(dǎo)航模式的死機(jī)問題,而且極大的提高了數(shù)據(jù)漫游的顯示效率,效果如圖3圖32、大量矢量要素漫游顯示假死問題現(xiàn)象:對(duì)于GB級(jí)的矢量要素(密密碼碼的等高線、水系),漫游過程中,刷新一次大約50秒遠(yuǎn)遠(yuǎn)超過用戶要求的20秒/次,甚至出現(xiàn)長(zhǎng)時(shí)間無響應(yīng)。分析:根據(jù)文字的調(diào)優(yōu)經(jīng)驗(yàn),針對(duì)數(shù)據(jù)量非常大的特點(diǎn),顯示時(shí)只需要加載窗口所需數(shù)據(jù)即可,如果能夠快速定位所需數(shù)據(jù),肯定能夠提高顯示效率。調(diào)優(yōu)方法一,利用空間索引。嘗試將存儲(chǔ)于pgdb中的數(shù)據(jù)導(dǎo)入ArcSDE(本機(jī)),并建立合適的空間索引,經(jīng)測(cè)試發(fā)現(xiàn)顯示漫游速度從原來的50多秒,提高到了18秒左右,明顯減少了ArcGlobe的漫游響應(yīng)時(shí)間。導(dǎo)入ArcSDE建立空間索引的方法基本上達(dá)到了用戶的最低要求。雖然導(dǎo)入ArcSDE建立空間索引的方法基本上能夠滿足用戶的最低需求,但效果仍然不夠理想。要整體提高數(shù)據(jù)瀏覽速度必須借助緩存機(jī)制來實(shí)現(xiàn)。方法二:利用緩存。研究ArcGlobe的緩存機(jī)制發(fā)現(xiàn),打開圖層后ArcGlobe會(huì)依據(jù)圖層的比例來建立“按需緩存”?!鞍葱杈彺妗笔窃跒g覽的時(shí)候自動(dòng)生成的緩存文件,這會(huì)影響瀏覽速度,因此需要在瀏覽前按照合適的比例及顯示參數(shù),一次性創(chuàng)建好緩存。經(jīng)測(cè)試,建立緩存文件后,在顯示初始化完成后,導(dǎo)航模式下(只能府視三維要素的顯示模式)漫游速度大約5秒、非導(dǎo)航模式(可以側(cè)視三維要素的顯示模式)漫游速度10秒左右。小結(jié):建立注記緩存后能很大程度上提高漫游速度,但還是不夠理想。經(jīng)過5組數(shù)據(jù)比較發(fā)現(xiàn),Don'tShowlayerwhenzoomed,Checkvisbilitybasedoneachtiledistance,FeatureProperties,三個(gè)參數(shù)綜合作用能夠優(yōu)化顯示速度,其中發(fā)揮關(guān)鍵作用的是比例尺大?。虞d數(shù)據(jù)時(shí)設(shè)置的參數(shù)),因?yàn)楸壤邲Q定了圖層緩存分塊的大小。漫游和過濾時(shí)如果緩存分塊太大會(huì)減少緩存調(diào)度的效率、影響漫游過濾的范圍。通過對(duì)三個(gè)參數(shù)進(jìn)行合理的設(shè)置,創(chuàng)建緩存,最終顯示結(jié)果:數(shù)據(jù)初始化15秒左右,初始化過程中漫游5秒左右(初次達(dá)到注記圖層顯示距離時(shí),會(huì)加載注記數(shù)據(jù),此過程為初始化過程),數(shù)據(jù)加載完成后最終漫游速度都為1秒內(nèi)(幾乎相當(dāng)與實(shí)時(shí))。(實(shí)際時(shí)間因具體地名注記疏密不同而不同。)優(yōu)化次數(shù)優(yōu)化的方案漫游速度1ArcSDE創(chuàng)建索引18秒2對(duì)文件創(chuàng)建緩存導(dǎo)航模式10秒;非導(dǎo)航模式5秒3設(shè)置顯示距離;對(duì)每個(gè)圖層塊依據(jù)設(shè)定距離進(jìn)行過濾;設(shè)置合理的比例尺均為1秒內(nèi)3、是否對(duì)所有數(shù)據(jù)創(chuàng)建緩存、選擇何種加載方式在ArcGlobe中,數(shù)據(jù)的加載方式有三種:影像、矢量(柵格化)、3DVector。經(jīng)測(cè)試,不事先建緩存,只使用臨時(shí)緩存時(shí),顯示效率:影像〉矢量>3DVector。盡管影像和矢量的臨時(shí)緩存的瀏覽效率大于3DVector的速度,但是當(dāng)圖層較多(尤其是矢量)的時(shí)候?qū)φw性能影響也比較大,因此如果條件允許,最好對(duì)所有類型數(shù)據(jù)都建立緩存文件。

性能最優(yōu)的數(shù)據(jù)加載方式:原始類型加載方式理由影像數(shù)據(jù)柵格或Elevation沒有高程的“圖片”只有一種選項(xiàng),有高程的必須以Elevation方式加載才會(huì)有起伏效果。矢量(面)柵格只有一種選項(xiàng)矢量(點(diǎn)、線)柵格有兩種選項(xiàng),但數(shù)據(jù)量大時(shí)3DVector非常影響性能。注記(Annatation)3DVector注記一般需要立起來顯示,以體現(xiàn)3維的效果,所以需要選擇選擇3DVector。多片(MultiPatch)3DVector只有一種選項(xiàng)4、緩存文件的格式,如何選擇ArcGlobe支持的緩存格式有兩種:JPG和DXT,其中DXT是由顯卡支持的紋理壓縮格式,有助于減少紋理對(duì)內(nèi)存的消耗。JPG和DXT緩存格式特點(diǎn)如下表所示:JPG特點(diǎn)DXT特點(diǎn)CPU占用在顯示前需要解壓縮DXT不需要解壓就可以顯示,因此顯示性能高一些內(nèi)存占用內(nèi)存占用2比特/紋元,與dxt相比多占用一半顯存內(nèi)存占用1比特/紋元,與jpg相比少占用一半顯存硬盤占用通常情況下硬盤緩存比DXT格式小8到12倍通常情況下硬盤緩存比JPG格式大8到12倍顯卡要求對(duì)顯卡要求較低,。但同等檔次,價(jià)位,A系列顯卡比G系列顯卡要快。對(duì)顯卡要求較咼。但同等檔次,價(jià)位,A系列顯卡比G系列顯卡要快。經(jīng)測(cè)試,DXT格式的緩存需要顯卡支持,一些老的顯卡不支持DXT格式,這樣就不能發(fā)揮DXT格式的性能優(yōu)勢(shì)。如何選擇?在顯卡支持DXT格式情況下:(1)局部范圍瀏覽數(shù)據(jù)時(shí)DXT緩存比JPG緩存提升40%(幀/秒)的性能,全球范圍差別不大;(2) DXT緩存比JPG緩存少占用10%到30%內(nèi)存;(3) DXT緩存通常比大8到12倍(針對(duì)柵格緩存而言)。選擇建議:柵格、矢量:選JPG格式,因?yàn)榫彺婧髷?shù)據(jù)量太大不方便部署。注記、高程:默認(rèn)既可,沒有提供選項(xiàng)。MultiPath:選DXT格式,提高顯示性能,減少初始化時(shí)間,還可以選擇紋理的壓縮質(zhì)量來調(diào)整緩存大小(有可能比JPG格式的還?。?,選擇適當(dāng)即可,壓縮會(huì)損失紋理貼圖的顯示質(zhì)量。Engine實(shí)現(xiàn)例子代碼:'VBASample:'Changetexturecompressiontypeinlayerproperties:' —compressiontype(JPEGorDXT)SubSetGlobeLayerProperties()OnErrorGoToehDimpDocAsIGMxDocument:SetpDoc=ThisDocumentDimpSceneAsIScene:SetpScene=pDoc.SceneDimpLayerAsILayer:SetpLayer=pScene.Layer(O)DimpLyrExtAsILayerExtensions:SetpLyrExt二pLayer'QIDimiAsIntegerFori=0TopLyrExt.ExtensionCount—1IfTypeOfpLyrExt.Extension(i)IsIGlobeLayerProperties2ThenDimpProp2AsIGlobeLayerProperties2:SetpProp2=pLyrExt.Extension(i)ExitForEndIfNextiDebug.PrintpProp2.TextureCompressionType,pProp2.TextureDownsamplingFactor'esriTextureFormatType:' 1 — None' 2 —— RGBA' 3 —— JPEG' 4 —— DXT'pProp2.TextureCompressionType=esriTextureJPEG 'defaultvaluepProp2.TextureCompressionType=esriTextureDXTpProp2.ApplyDisplayPropertiespLayerDimpGlobeAsIGlobe:SetpGlobe=pScene'QIDimpGlobeDisplayAsIGlobeDisplay:SetpGlobeDisplay=pGlobe.GlobeDisplayDimpGDLayersAsIGlobeDisplayLayers:SetpGDLayers=pGlobeDisplay'QIpGDLayers.RefreshLayerpLayerExitSubeh:MsgBoxErr.Number&〃:“&Err.Description,vbExclamation,"SetGlobeLayerProperties()〃EndSub5、緩存創(chuàng)建與分布式部署問題現(xiàn)象:創(chuàng)建的緩存容易丟失且容易遭到破壞。費(fèi)時(shí)創(chuàng)建的緩存都不敢輕動(dòng),怕破壞了易損的緩存。那么如何保護(hù)創(chuàng)建的緩存不丟失?如何進(jìn)行有效的部署分發(fā)?怎么部署?分析:ArcGlobe默認(rèn)的緩存文件夾(.\LocalSettings\Temp\GlobeCache)為系統(tǒng)臨時(shí)文件夾。緩存文件一般都會(huì)放到這里。但是,當(dāng)改變圖層GlobeDisplay、Display選項(xiàng)卡中的設(shè)置,比如柵格的采樣方式、矢量的符號(hào)化、柵格化要素大小、改變緩存格式等設(shè)置時(shí),原先建立的緩存將無效(無論是動(dòng)態(tài)創(chuàng)建的,還是使用工具事先生成的)。經(jīng)測(cè)試,發(fā)現(xiàn)兩個(gè)規(guī)律:1、 只要新添加的圖層數(shù)據(jù),系統(tǒng)就會(huì)對(duì)應(yīng)的創(chuàng)建一個(gè)有唯一標(biāo)識(shí)的緩存文件夾。即始在一個(gè)工程中,重復(fù)打開同一層數(shù)據(jù),也會(huì)產(chǎn)生新的緩存文件夾,而原先生成的緩存數(shù)據(jù)沒法重復(fù)應(yīng)用;2、 如果保存了地圖文檔,但做了柵格的采樣方式、矢量的符號(hào)化、柵格化要素大小、改變緩存格式等修改動(dòng)做之后,原先建立的緩存文件也會(huì)被破壞,無法重復(fù)應(yīng)用。經(jīng)研究ArcGlobe的緩存文件夾,發(fā)現(xiàn)所有緩存文件夾下,都有一個(gè)名為:cache.lyr的文件,它可以用ArcGlobe打開并顯示,也就說緩存文件夾下的cache.lyr可以用來重復(fù)應(yīng)用,但只能與緩存數(shù)據(jù)在同一文件夾下使用,不能象其它.lyr那樣,可以拷貝到其它位置使用。解決辦法:(1) 為了防止緩存文件的被無意識(shí)破壞,應(yīng)該每次指定固定的Cache路徑。(2) 為了防止緩存文件無效,應(yīng)在建立數(shù)據(jù)的硬盤緩存之前首先應(yīng)該設(shè)定好圖層的柵格化大小、符號(hào)化、緩存格式等系列參數(shù)設(shè)置。(3) 設(shè)定好合理參數(shù)后,對(duì)所有圖層數(shù)據(jù)分別創(chuàng)建緩存文件。緩存創(chuàng)建完成后,打開ArcGlobe加載所有的cache.lyr文件,分別修改圖層的名稱,以及圖層的可見距離,修改完成后保存成普通的layer文件。(可以覆蓋原來的cache.lyr也可以另存),普通的layer文件是可以非常容易移植的(4) 部署時(shí)只需要部署所有緩存文件夾,添加所有cache.lyr文件,重新保存地圖文檔即可。(5) 對(duì)于矢量數(shù)據(jù)緩存,部署完成后重新指定一下數(shù)據(jù)源,即可實(shí)現(xiàn)緩存數(shù)據(jù)的Identify和Find(緩存數(shù)據(jù)即提高了速度又能夠輕松實(shí)現(xiàn)識(shí)別和查詢,發(fā)現(xiàn)了ArcGlobe一大優(yōu)勢(shì)!)小結(jié):緩存應(yīng)用創(chuàng)建、部署變得輕松簡(jiǎn)單,并且能夠輕松實(shí)現(xiàn)識(shí)別和查詢。其它性能相關(guān)的一些設(shè)置:(1) LevelofDetail選項(xiàng)損失圖像和高程的質(zhì)量提高瀏覽速度,(依據(jù)客戶顯示要求適當(dāng)調(diào)整);(2) Supendtilefetchingwhennavigating激活多線程,一個(gè)線程用于數(shù)據(jù)準(zhǔn)備,另一用于瀏覽;(3)DraftMode選項(xiàng)可以設(shè)置優(yōu)化條件,但是顯示效果大打折扣??梢栽趯?dǎo)航時(shí)激活,定位后關(guān)閉。工具條上有個(gè)比較方便的按鈕團(tuán);(4) Enablerenderingwithcompressedtextures激活Multipath數(shù)據(jù)DXT緩存格式。6、“斑塊補(bǔ)丁”問題問題:加入圖層數(shù)據(jù)后會(huì),只要系統(tǒng)沒有找到合適的緩存文件(如:當(dāng)前顯示比例,沒建緩存等)系統(tǒng)就會(huì)自動(dòng)生成按需緩存。而建立緩存的時(shí)候,選擇創(chuàng)建緩存的距離范圍沒有包含當(dāng)前距離,這樣在緩存文件部署的時(shí)候由于部分按需緩存的存在,顯示時(shí)便有可能顯示自動(dòng)生成的那部分緩存,因而會(huì)有數(shù)據(jù)不能完整顯示問題,屏幕上如同有斑塊補(bǔ)丁一樣。解決:改進(jìn)了緩存建立方法:先設(shè)置圖層的symbol、Display等參數(shù)設(shè)置,關(guān)閉數(shù)據(jù)可視狀態(tài),刪除緩存文件夾下面的所有歷史緩存,圖層上右鍵刷新,然后再建立緩存。7、緩存文件超過20G,莫名退出、死機(jī)等問題;分析:緩存建立過程中,等高線一層數(shù)據(jù)文件就超過了20G。建立緩存過程中機(jī)器常出現(xiàn)莫名退出、死機(jī)。解決:針對(duì)1:25萬實(shí)際數(shù)據(jù),裁切水系、道路、等高線部分?jǐn)?shù)據(jù),建立18組緩存數(shù)據(jù)進(jìn)行測(cè)試,發(fā)現(xiàn)原來建立緩存的設(shè)置并不是非常合理,于是從實(shí)際需求出發(fā),重新確定了建立緩存比較合理的參數(shù)。修改Cache目錄大小,默認(rèn)太小會(huì)死機(jī)。增加了“線”內(nèi)存緩存大小。規(guī)范建立緩存的步驟,設(shè)置合理參數(shù)設(shè)置,并且動(dòng)用IBMW700(當(dāng)前最牛的移動(dòng)圖形工做站)協(xié)助測(cè)試,順利完成數(shù)據(jù)緩存處理。部分硬盤緩存大小情況如下表數(shù)據(jù)緩存級(jí)別、區(qū)間緩存、占用硬盤空間全國(guó)125萬等高線12583km至12km1.92G、2.2G全國(guó)125萬水系12583km至12km576M、909M全國(guó)125萬道路12583km至12km508M、825M全國(guó)TM影像12583km至25km2.07G、2.35G全國(guó)鄉(xiāng)鎮(zhèn)地名注記3072m8.01M、276M經(jīng)優(yōu)化,10G數(shù)據(jù)量完全可以實(shí)現(xiàn)異地的分布式部署。8、DEM緩存創(chuàng)建完成后不能顯示高程分析:這是一個(gè)比較奇怪的問題,創(chuàng)建緩存過程也沒有異常退出。幫助上關(guān)于ArcGISServerGlobe緩存的一句話可以找到解決問題線索(AtArcGISServerversion9.3,rasterdataaselevationmustalwayshavethefulldatacachebuiltbeforebeingabletobeservedaspartofaglobeservic)。全部緩存就是高程每個(gè)級(jí)別的緩存都需要?jiǎng)?chuàng)建,既然Globe服務(wù)中高程文件要?jiǎng)?chuàng)建全部緩存,那么桌面中的一定也差不多。解決:實(shí)際測(cè)試了下創(chuàng)建全部緩存(保持默認(rèn)參數(shù)即可),加載cache.lyr后高程可以顯示,并且高程緩存的級(jí)別也可以夸張。注:最低級(jí)別的緩存一定要?jiǎng)?chuàng)建,高級(jí)別可以不創(chuàng)建,但是具體前面幾個(gè)高等級(jí)可以省略,依據(jù)具體數(shù)據(jù)而不同。因?yàn)榍懊娴燃?jí)建立時(shí)間和數(shù)據(jù)量都非常少,建立全部緩存即可。9、全部硬盤緩存文件比較瑣碎,不便于移動(dòng)、容易死機(jī)。分析:Windows自身的拷貝是單線程拷貝,拷貝大量瑣碎數(shù)據(jù)效率不高,且在開始拷貝的時(shí)候數(shù)據(jù)統(tǒng)計(jì)就花費(fèi)很長(zhǎng)的時(shí)間,出現(xiàn)假死狀態(tài)。解決:利用Richcopy多線程拷貝工具,能輕松實(shí)現(xiàn)緩存文件的移動(dòng)、拷貝。實(shí)際測(cè)試移動(dòng)1G數(shù)據(jù)(大約100000個(gè)文件,2000個(gè)文件夾)需要15分鐘左右(提高了一倍效率)即可。10、三維模型速度優(yōu)化注記的顯示速度還不夠理想,對(duì)注記數(shù)據(jù)在不同比例尺下做了三組緩存,發(fā)現(xiàn)大比例尺情況下創(chuàng)建的緩存比小比例尺緩存漫游又有所提升(比較理想),并且創(chuàng)建緩存的時(shí)間竟然與比例尺大小沒關(guān)系。創(chuàng)建緩存時(shí)間跟比例尺大小無關(guān)這點(diǎn)跟柵格、矢量、高程完全不同卻跟Multipath的數(shù)據(jù)比較像。既然注記可以這么優(yōu)化,那么是否Multipath數(shù)據(jù)也可以這么優(yōu)化?接下來就對(duì)Multipath數(shù)據(jù)創(chuàng)建緩存進(jìn)行測(cè)試。創(chuàng)建了幾組緩存后,打開其中一個(gè)緩存文件,初始化后漫游發(fā)現(xiàn)速度超級(jí)快,(此前對(duì)Multipath做過處理,數(shù)據(jù)量比較大的時(shí)候漫游速度不理想,有一~一卡的,柵格、矢量、高程、3Dvector速度都優(yōu)化了,唯獨(dú)Multipath速度不理想,總覺得有所缺憾。)!以前默認(rèn)緩存的比例尺太小,這樣導(dǎo)致緩存分塊太大漫游時(shí)沒法依據(jù)塊距離進(jìn)行過濾。終于找到一直想要的效果了(玩賽車游戲的時(shí)候的體驗(yàn)),視野遠(yuǎn)處的數(shù)據(jù)不加載,推進(jìn)的時(shí)候動(dòng)態(tài)加載。與Multipath速度優(yōu)化有關(guān)的設(shè)置:1、 Don'tShowlayerwhenzoomed設(shè)置可見范圍;2、 Checkvisbilitybasedoneachtiledistance對(duì)每一個(gè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論