亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ArcGIS的終端圖形動(dòng)態(tài)優(yōu)化方法研究及應(yīng)用

        2015-02-22 17:47:46唐海濤劉樹彬
        地球 2015年11期
        關(guān)鍵詞:優(yōu)化

        ■唐海濤劉樹彬

        (1中國(guó)水電顧問集團(tuán)華東勘測(cè)設(shè)計(jì)研究院有限公司 浙江杭州 310014;2 ESRI(中國(guó))信息技術(shù)有限公司上海分公司 上海 200030)

        基于ArcGIS的終端圖形動(dòng)態(tài)優(yōu)化方法研究及應(yīng)用

        ■唐海濤1劉樹彬2

        (1中國(guó)水電顧問集團(tuán)華東勘測(cè)設(shè)計(jì)研究院有限公司 浙江杭州 310014;2 ESRI(中國(guó))信息技術(shù)有限公司上海分公司 上海 200030)

        ArcGIS的終端在地圖上展示實(shí)時(shí)數(shù)據(jù)是采用動(dòng)態(tài)繪制Graphic元素的方式,需要依靠終端的能力來(lái)渲染,但是Graphic元素在數(shù)據(jù)量過大時(shí)對(duì)終端的性能影響十分明顯。本文詳細(xì)闡述了一種基于ArcGIS的終端Graphic元素動(dòng)態(tài)優(yōu)化的算法,可以抽稀線或面的節(jié)點(diǎn)數(shù)量,去掉多余的對(duì)圖形顯示無(wú)貢獻(xiàn)的節(jié)點(diǎn),從而達(dá)到動(dòng)態(tài)優(yōu)化數(shù)據(jù)、提高渲染性能的目的。

        ArcGIS終端圖形動(dòng)態(tài)優(yōu)化

        0 引言

        ArcGIS軟件是美國(guó)ESRI公司生產(chǎn)的大型GIS系統(tǒng)軟件,它作為一個(gè)可伸縮的平臺(tái),無(wú)論是在服務(wù)器,在桌面,在野外還是通過Web或移動(dòng)終端,為個(gè)人用戶也為群體用戶提供GIS的功能。產(chǎn)品包括桌面GIS(ArcGIS Desktop)、嵌入式GIS(ArcGIS Engine)、服務(wù)端GIS(ArcGIS Server)、地理數(shù)據(jù)庫(kù)引擎ArcSDE及其開發(fā)組件ArcObjects(以下簡(jiǎn)稱AO)、地理處理服務(wù)Geoprocessing(以下簡(jiǎn)稱GP)等[1]。

        ArcGIS的所有終端(C/S、B/S及各種移動(dòng)終端)在展示動(dòng)態(tài)數(shù)據(jù)、實(shí)時(shí)渲染和查詢高亮等地圖顯示上都依賴于在終端實(shí)時(shí)動(dòng)態(tài)繪制Graphic元素的方式。Graphic一般放在GraphicLayer中,屬于終端維護(hù)的對(duì)象,依靠終端的能力來(lái)渲染和展示,給地圖增加了互動(dòng)和動(dòng)態(tài)效果。但是Graphic對(duì)象在數(shù)據(jù)量大、結(jié)構(gòu)復(fù)雜(節(jié)點(diǎn)數(shù)據(jù)多的線或面)的情況下實(shí)時(shí)渲染,對(duì)終端的性能影響十分明顯。ArcGIS終端屏幕上有超過一千個(gè)點(diǎn)的Graphic進(jìn)行渲染,有關(guān)地圖的操作就會(huì)變得非常卡,甚至造成瀏覽器無(wú)響應(yīng)。例如,在使用GPS監(jiān)控的應(yīng)用中,其GPS軌跡監(jiān)控展示直接采用讀取數(shù)據(jù)庫(kù)坐標(biāo),然后以Graphic Line的方式動(dòng)態(tài)展示位置軌跡,但由于GPS監(jiān)控刷新間隔短、監(jiān)控對(duì)象多,具有大數(shù)據(jù)量節(jié)點(diǎn)的Graphic Line復(fù)雜線的渲染大大影響了終端性能。

        通常基于大數(shù)據(jù)量節(jié)點(diǎn)的Graphic渲染的應(yīng)用都進(jìn)行了點(diǎn)抽稀,在小比例尺的時(shí)候,相鄰點(diǎn)聚合為一個(gè)點(diǎn)來(lái)顯示,隨著比例尺的放大,再根據(jù)范圍慢慢增加直至顯示所有的點(diǎn)[2]。此方法較好的解決了大數(shù)據(jù)量POI(Point Of Interest)點(diǎn)的Graphic顯示問題,但不能解決線和面的顯示問題。事實(shí)上大數(shù)據(jù)量節(jié)點(diǎn)的線和面對(duì)終端的性能影響更加嚴(yán)重,一條外形簡(jiǎn)單的線或面,其節(jié)點(diǎn)數(shù)也可能超過上萬(wàn)個(gè)。如果說一次渲染上千個(gè)Graphic點(diǎn),地圖操作性能急劇下降,那么在這種情況下,即使顯示一條線或一個(gè)面,地圖的響應(yīng)都會(huì)非常遲鈍。

        實(shí)際上,與大數(shù)據(jù)量POI點(diǎn)的顯示一樣,在小比例尺的時(shí)候,沒有必要顯示線或者面中的所有節(jié)點(diǎn),只當(dāng)放大到一定比例尺后,才需要高精度顯示線和面的邊線。在線和面中,由于數(shù)據(jù)制作方式的不同,會(huì)存在大量對(duì)顯示無(wú)貢獻(xiàn)的節(jié)點(diǎn)(即超過兩個(gè)節(jié)點(diǎn)在同一直線上)。所以優(yōu)化Graphic線和面節(jié)點(diǎn)的顯示數(shù)目,去掉多余的對(duì)顯示無(wú)貢獻(xiàn)的節(jié)點(diǎn),必將大大提高地圖顯示和操作的效率。

        針對(duì)上述問題,本文提出一種基于ArcGIS的終端Graphic圖形元素中動(dòng)態(tài)優(yōu)化抽稀線和面節(jié)點(diǎn)的算法。

        1 關(guān)鍵技術(shù)

        1.1 技術(shù)路線

        本算法計(jì)算和比較相鄰兩節(jié)點(diǎn)直線之間的斜率來(lái)取舍節(jié)點(diǎn),斜率大于特定值的為關(guān)鍵節(jié)點(diǎn),其余為非關(guān)鍵節(jié)點(diǎn)。通過保留關(guān)鍵節(jié)點(diǎn),來(lái)達(dá)到抽稀優(yōu)化的目的。算法結(jié)果可以自定義控制抽稀的程度,能較好的保留關(guān)鍵節(jié)點(diǎn),從而大大減少不必要的節(jié)點(diǎn)數(shù)量,提高顯示和操作性能。

        圖1 技術(shù)路線圖

        算法主要步驟如圖1所示,首選檢查并精簡(jiǎn)坐標(biāo)值相同的相鄰節(jié)點(diǎn),然后計(jì)算相鄰節(jié)點(diǎn)直線的斜率,自定義抽稀程度系數(shù)作為閾值,根據(jù)斜率是否小于此閾值來(lái)取舍節(jié)點(diǎn),達(dá)到抽稀優(yōu)化線或面節(jié)點(diǎn)數(shù)量的目的。在動(dòng)態(tài)優(yōu)化時(shí)整個(gè)計(jì)算過程迭代進(jìn)行,每次迭代最多抽稀線或面節(jié)點(diǎn)數(shù)量的一半,最大限度的保證線或面的平滑度。一般認(rèn)為在抽稀程度系數(shù)為0的條件下進(jìn)行的抽稀對(duì)圖形的構(gòu)造無(wú)任何影響。

        1.2 算法簡(jiǎn)介

        在線某相鄰的三個(gè)節(jié)點(diǎn)中,計(jì)算第一節(jié)點(diǎn)和第二節(jié)點(diǎn)連線的斜率,第二節(jié)點(diǎn)和第三節(jié)點(diǎn)連線的斜率,得到兩斜率之差的絕對(duì)值為result。如果result=0,證明節(jié)點(diǎn)二為多余的,去除之。如圖2所示。

        圖2 抽稀程度系數(shù)為0的情況

        圖3 自定義抽稀程度系數(shù)的情況

        如果設(shè)定了抽稀程度系數(shù)需要進(jìn)行自定義抽稀,那么如果result<抽稀程度系數(shù),則認(rèn)為節(jié)點(diǎn)二為非關(guān)鍵節(jié)點(diǎn),從線構(gòu)造中去除之。如圖3所示。

        K1、K2分別為P1P2和P2P3的斜率,如果|K1-K2|<抽稀程度系數(shù),則P2為非關(guān)鍵節(jié)點(diǎn),關(guān)鍵代碼示例如下:

        if(Math.abs((P2.y-P1.y)/(P2.x-P1.x)-(P3.y-P2.y)/(P3.x-P2.x)) <=MaxTan)

        {

        singleline.removePoint(pathsIndex,k+1);

        }

        備注:代碼中MaxTan為抽稀程度系數(shù)。

        圖4 動(dòng)態(tài)抽稀優(yōu)化過程

        圖5 抽稀程度系數(shù)為0的效果

        1.3 動(dòng)態(tài)優(yōu)化

        通常情況下,選擇合適的抽稀程度系數(shù)對(duì)線或面進(jìn)行抽稀后再在終端進(jìn)行渲染和顯示,既可以使抽稀后的圖形與原圖的構(gòu)造保持一致,又能大大提高終端的渲染速度。為達(dá)到此目的,在比例尺固定且終端界面上Graphic圖形元素?cái)?shù)量不變的情況下,此抽稀程度系數(shù)一般存在一個(gè)最優(yōu)值。但是在比例尺動(dòng)態(tài)變化或者比例尺固定但是終端界面上(由于平移地圖導(dǎo)致)出現(xiàn)的Graphic圖形元素?cái)?shù)量過多的情況下,需要?jiǎng)討B(tài)設(shè)置抽稀程度系數(shù),以保持終端界面上所有Graphic圖形的節(jié)點(diǎn)數(shù)量不能超過設(shè)定的閾值。這個(gè)閾值是保證終端的渲染效率和操作流暢性的前提,針對(duì)終端類型多樣性和性能差異,可通過接口提供給用戶設(shè)置。如果Graphic圖形元素的節(jié)點(diǎn)數(shù)量不超過規(guī)定閾值,可以將抽稀程度系數(shù)設(shè)置為0,精確顯示線、面圖形;如果Graphic圖形元素的節(jié)點(diǎn)數(shù)量超過了規(guī)定閾值,可視情況處理:

        (1)終端上Graphic圖形元素?cái)?shù)量不變,比例尺動(dòng)態(tài)變化。此情況一般在終端上所有Graphic圖形元素已經(jīng)全部顯示,并且地圖進(jìn)行了縮放的操作時(shí)發(fā)生。在大比例尺下可以將抽稀程度系數(shù)設(shè)置為較小的值,使抽稀后的節(jié)點(diǎn)數(shù)量低于閾值,并且保持圖形構(gòu)造不發(fā)生大的變化;在小比例尺下可以將抽稀程度系數(shù)設(shè)置為較大的值,使抽稀后的節(jié)點(diǎn)數(shù)量低于閾值,并且不影響終端上圖形的顯示效果。

        (2)比例尺固定不變,終端上Graphic圖形元素?cái)?shù)量過多。此情況一般在地圖平移后終端界面上顯示出了其他的圖形元素時(shí)發(fā)生。將原來(lái)的抽稀程度系數(shù)加大,使抽稀后的節(jié)點(diǎn)數(shù)量低于閾值,并且保持圖形構(gòu)造不發(fā)生大的變化。

        實(shí)際操作過程中,可以簡(jiǎn)單的將抽稀程度系數(shù)設(shè)置一個(gè)范圍并以某個(gè)步長(zhǎng)(例如0.1)進(jìn)行累加,迭代抽稀過程,直至Graphic圖形元素的節(jié)點(diǎn)數(shù)量低于規(guī)定閾值。動(dòng)態(tài)抽稀優(yōu)化過程如圖4所示。

        2 功能特色

        此算法和實(shí)現(xiàn)方式可以在ArcGIS Engine、JavaScriptFlexSilverLight、iOS、Andorid及Windows Phone等幾乎所有ArcGIS終端上運(yùn)行。算法特點(diǎn)包括:

        (1)在不影響線和面構(gòu)造的情況下,可以簡(jiǎn)化線和面的節(jié)點(diǎn)數(shù)量,去掉多余的對(duì)顯示無(wú)貢獻(xiàn)的節(jié)點(diǎn),從而達(dá)到優(yōu)化數(shù)據(jù)、提高渲染性能的目的。

        (2)根據(jù)地圖顯示比例尺或用戶參數(shù)設(shè)定,可以動(dòng)態(tài)的抽取掉非關(guān)鍵節(jié)點(diǎn)。在小比例尺下可以將抽稀程度系數(shù)設(shè)大,這樣抽稀的“厲害”,雖可能造成線和面的一些失真,但在小比例下不影響顯示效果;在大比例尺下可以將抽稀程度系統(tǒng)設(shè)小,抽稀算法可以讓抽稀程度無(wú)級(jí)縮小,線和面的顯示精度可以逐級(jí)恢復(fù)。

        (3)適合所有ArcGIS模塊中線和面Graphic元素的顯示渲染,包括終端和服務(wù)器端;

        (4)ArcGIS AO中Generalize方法及ArcToolbox中的Simplify Line模塊[3]提供相似功能,但即使作為后臺(tái)簡(jiǎn)化FeatureClass來(lái)使用,其效率亦高于AO本身的方法,并且AOGP的方法無(wú)法直接對(duì)客戶端的Graphic元素進(jìn)行優(yōu)化。

        3 實(shí)例分析

        通過此算法優(yōu)化,可以去掉多余的對(duì)顯示無(wú)貢獻(xiàn)的節(jié)點(diǎn),當(dāng)抽稀程度系數(shù)設(shè)為0時(shí),可在圖形無(wú)任何失真的同時(shí),大大的精簡(jiǎn)圖形的節(jié)點(diǎn)數(shù)量。如圖5為一份河流(線)數(shù)據(jù)在抽稀程度系數(shù)為0的條件下去除多余節(jié)點(diǎn)的效果,優(yōu)化過程對(duì)線的構(gòu)造無(wú)任何影響。

        根據(jù)不同的場(chǎng)景,通過動(dòng)態(tài)設(shè)置抽稀程度系數(shù)來(lái)優(yōu)化顯示線和面Graphic元素,提高終端渲染效率。如圖6所示,在不同的比例尺下,被抽稀掉的河流線節(jié)點(diǎn)數(shù)量是不同的。在某一大比例尺下,河流的線圖層中所有線的節(jié)點(diǎn)總數(shù)為225043,優(yōu)化去掉的節(jié)點(diǎn)數(shù)為221432,只剩下3611個(gè)節(jié)點(diǎn),左邊圖中紅色線條為優(yōu)化后的細(xì)節(jié)效果,藍(lán)色的為真實(shí)線的構(gòu)造。通過優(yōu)化節(jié)點(diǎn)數(shù)量后,圖形的失真程度較小,但節(jié)點(diǎn)總數(shù)大大降低,地圖顯示和操作流暢性更加明顯。

        圖6 動(dòng)態(tài)抽稀優(yōu)化的效果

        在位置監(jiān)控的應(yīng)用中一般包含獨(dú)立的存儲(chǔ)GPS點(diǎn)信息的數(shù)據(jù)庫(kù)表[4],如果通過實(shí)時(shí)讀取數(shù)據(jù)庫(kù),以Graphic Line的方式動(dòng)態(tài)展示移動(dòng)物體的軌跡,當(dāng)監(jiān)控目標(biāo)超過一定數(shù)量后,地圖操作性能急劇下降。而通過本算法進(jìn)行線節(jié)點(diǎn)抽稀優(yōu)化,根據(jù)比例尺的大小,決定線節(jié)點(diǎn)的優(yōu)化程度,實(shí)時(shí)去除多余節(jié)點(diǎn),并在終端對(duì)優(yōu)化后的圖形進(jìn)行動(dòng)態(tài)渲染。實(shí)踐證明,此方法比通過坐標(biāo)創(chuàng)建AO對(duì)象,調(diào)用Generalize進(jìn)行優(yōu)化并生成Graphic的效率高很多。

        4 總結(jié)與展望

        本算法在需要將線和面Graphic的顯示和渲染通過控制抽稀程度系數(shù)來(lái)提高性能的,以及在GPS軌跡跟蹤展示、大數(shù)據(jù)量查詢和分析結(jié)果展示、復(fù)雜對(duì)象高亮顯示、客戶端直接創(chuàng)建線面對(duì)象等應(yīng)用場(chǎng)景中特別有效。本文中筆者主要在Web客戶端進(jìn)行了算法部署及測(cè)試,后續(xù)工作中還需要做如下工作:

        (1)在ArcGIS API for iOSAndroid中進(jìn)行部署和測(cè)試。

        (2)進(jìn)一步提高算法穩(wěn)定性,優(yōu)化宏觀上節(jié)點(diǎn)的動(dòng)態(tài)抽稀過程;

        (3)用后臺(tái)代碼將算法封裝成一個(gè)檢查多余節(jié)點(diǎn)的GP常用工具,用于減少線和面數(shù)據(jù)源的多余節(jié)點(diǎn),以供數(shù)據(jù)檢查、處理、優(yōu)化使用。

        [1]ESRI中國(guó) (北京)有限公司.ESRI公司ARCGIS系列產(chǎn)品介紹.2004.

        [2]陳永劍.基于ArcGIS10的點(diǎn)抽稀應(yīng)用 [J].城市建設(shè)理論研究,2011,(31).

        [3]熊萍.3S綜合調(diào)繪法在農(nóng)村土地利用現(xiàn)狀調(diào)查中的試驗(yàn)研究 [D].西安:長(zhǎng)安大學(xué). 2010.

        [4]吳建華.基于ArcGIS Engine的車輛監(jiān)控GIS系統(tǒng)開發(fā) [J].地球信息科學(xué)學(xué)報(bào),2011,13(1):88-93.

        P208[文獻(xiàn)碼]B

        1000-405X(2015)-11-143-3

        猜你喜歡
        優(yōu)化
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        PEMFC流道的多目標(biāo)優(yōu)化
        能源工程(2022年1期)2022-03-29 01:06:28
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
        圍繞“地、業(yè)、人”優(yōu)化產(chǎn)業(yè)扶貧
        事業(yè)單位中固定資產(chǎn)會(huì)計(jì)處理的優(yōu)化
        4K HDR性能大幅度優(yōu)化 JVC DLA-X8 18 BC
        幾種常見的負(fù)載均衡算法的優(yōu)化
        電子制作(2017年20期)2017-04-26 06:57:45
        亚洲五月天综合| 久久一二区女厕偷拍图| 国产一二三四2021精字窝 | 国产成人综合在线视频| 日韩欧美第一区二区三区| 久久天天躁夜夜躁狠狠躁2022| 亚欧同人精品天堂| 狼人精品剧情av在线观看| 亚洲国产一二三精品无码| 国产精品美女久久久久久| 少妇三级欧美久久| 91福利国产在线观一区二区| 国产情侣自拍偷拍精品| 麻豆国产一区二区三区四区| 无码精品a∨在线观看| 亚洲欧美国产日产综合不卡| h视频在线播放观看视频| 中文字幕avdvd| 精品欧美在线| 欧美中出在线| 不卡av一区二区在线| 国产精品无码一区二区三区在| 国产精品免费av片在线观看| 久久久无码一区二区三区| 国产成年无码aⅴ片在线观看| 狠狠色丁香久久婷婷综合蜜芽五月 | 日韩av中文字幕少妇精品 | 亚洲国产成人久久三区| 大学生被内谢粉嫩无套| 亚洲日韩成人无码不卡网站| 午夜av福利亚洲写真集| 国产av一区二区三区性入口| 变态 另类 欧美 大码 日韩| 亚洲精品国产成人AV| 亚洲综合原千岁中文字幕| 亚洲精品视频中文字幕| 国产中文字幕乱人伦在线观看| 精品无码AⅤ片| 日韩精品视频中文字幕播放| 热re99久久精品国99热| 亚洲综合色丁香婷婷六月图片|