999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ArcGIS的終端圖形動態優化方法研究及應用

2015-02-22 17:47:46唐海濤劉樹彬
地球 2015年11期
關鍵詞:優化

■唐海濤劉樹彬

(1中國水電顧問集團華東勘測設計研究院有限公司 浙江杭州 310014;2 ESRI(中國)信息技術有限公司上海分公司 上海 200030)

基于ArcGIS的終端圖形動態優化方法研究及應用

■唐海濤1劉樹彬2

(1中國水電顧問集團華東勘測設計研究院有限公司 浙江杭州 310014;2 ESRI(中國)信息技術有限公司上海分公司 上海 200030)

ArcGIS的終端在地圖上展示實時數據是采用動態繪制Graphic元素的方式,需要依靠終端的能力來渲染,但是Graphic元素在數據量過大時對終端的性能影響十分明顯。本文詳細闡述了一種基于ArcGIS的終端Graphic元素動態優化的算法,可以抽稀線或面的節點數量,去掉多余的對圖形顯示無貢獻的節點,從而達到動態優化數據、提高渲染性能的目的。

ArcGIS終端圖形動態優化

0 引言

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

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

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

實際上,與大數據量POI點的顯示一樣,在小比例尺的時候,沒有必要顯示線或者面中的所有節點,只當放大到一定比例尺后,才需要高精度顯示線和面的邊線。在線和面中,由于數據制作方式的不同,會存在大量對顯示無貢獻的節點(即超過兩個節點在同一直線上)。所以優化Graphic線和面節點的顯示數目,去掉多余的對顯示無貢獻的節點,必將大大提高地圖顯示和操作的效率。

針對上述問題,本文提出一種基于ArcGIS的終端Graphic圖形元素中動態優化抽稀線和面節點的算法。

1 關鍵技術

1.1 技術路線

本算法計算和比較相鄰兩節點直線之間的斜率來取舍節點,斜率大于特定值的為關鍵節點,其余為非關鍵節點。通過保留關鍵節點,來達到抽稀優化的目的。算法結果可以自定義控制抽稀的程度,能較好的保留關鍵節點,從而大大減少不必要的節點數量,提高顯示和操作性能。

圖1 技術路線圖

算法主要步驟如圖1所示,首選檢查并精簡坐標值相同的相鄰節點,然后計算相鄰節點直線的斜率,自定義抽稀程度系數作為閾值,根據斜率是否小于此閾值來取舍節點,達到抽稀優化線或面節點數量的目的。在動態優化時整個計算過程迭代進行,每次迭代最多抽稀線或面節點數量的一半,最大限度的保證線或面的平滑度。一般認為在抽稀程度系數為0的條件下進行的抽稀對圖形的構造無任何影響。

1.2 算法簡介

在線某相鄰的三個節點中,計算第一節點和第二節點連線的斜率,第二節點和第三節點連線的斜率,得到兩斜率之差的絕對值為result。如果result=0,證明節點二為多余的,去除之。如圖2所示。

圖2 抽稀程度系數為0的情況

圖3 自定義抽稀程度系數的情況

如果設定了抽稀程度系數需要進行自定義抽稀,那么如果result<抽稀程度系數,則認為節點二為非關鍵節點,從線構造中去除之。如圖3所示。

K1、K2分別為P1P2和P2P3的斜率,如果|K1-K2|<抽稀程度系數,則P2為非關鍵節點,關鍵代碼示例如下:

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為抽稀程度系數。

圖4 動態抽稀優化過程

圖5 抽稀程度系數為0的效果

1.3 動態優化

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

(1)終端上Graphic圖形元素數量不變,比例尺動態變化。此情況一般在終端上所有Graphic圖形元素已經全部顯示,并且地圖進行了縮放的操作時發生。在大比例尺下可以將抽稀程度系數設置為較小的值,使抽稀后的節點數量低于閾值,并且保持圖形構造不發生大的變化;在小比例尺下可以將抽稀程度系數設置為較大的值,使抽稀后的節點數量低于閾值,并且不影響終端上圖形的顯示效果。

(2)比例尺固定不變,終端上Graphic圖形元素數量過多。此情況一般在地圖平移后終端界面上顯示出了其他的圖形元素時發生。將原來的抽稀程度系數加大,使抽稀后的節點數量低于閾值,并且保持圖形構造不發生大的變化。

實際操作過程中,可以簡單的將抽稀程度系數設置一個范圍并以某個步長(例如0.1)進行累加,迭代抽稀過程,直至Graphic圖形元素的節點數量低于規定閾值。動態抽稀優化過程如圖4所示。

2 功能特色

此算法和實現方式可以在ArcGIS Engine、JavaScriptFlexSilverLight、iOS、Andorid及Windows Phone等幾乎所有ArcGIS終端上運行。算法特點包括:

(1)在不影響線和面構造的情況下,可以簡化線和面的節點數量,去掉多余的對顯示無貢獻的節點,從而達到優化數據、提高渲染性能的目的。

(2)根據地圖顯示比例尺或用戶參數設定,可以動態的抽取掉非關鍵節點。在小比例尺下可以將抽稀程度系數設大,這樣抽稀的“厲害”,雖可能造成線和面的一些失真,但在小比例下不影響顯示效果;在大比例尺下可以將抽稀程度系統設小,抽稀算法可以讓抽稀程度無級縮小,線和面的顯示精度可以逐級恢復。

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

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

3 實例分析

通過此算法優化,可以去掉多余的對顯示無貢獻的節點,當抽稀程度系數設為0時,可在圖形無任何失真的同時,大大的精簡圖形的節點數量。如圖5為一份河流(線)數據在抽稀程度系數為0的條件下去除多余節點的效果,優化過程對線的構造無任何影響。

根據不同的場景,通過動態設置抽稀程度系數來優化顯示線和面Graphic元素,提高終端渲染效率。如圖6所示,在不同的比例尺下,被抽稀掉的河流線節點數量是不同的。在某一大比例尺下,河流的線圖層中所有線的節點總數為225043,優化去掉的節點數為221432,只剩下3611個節點,左邊圖中紅色線條為優化后的細節效果,藍色的為真實線的構造。通過優化節點數量后,圖形的失真程度較小,但節點總數大大降低,地圖顯示和操作流暢性更加明顯。

圖6 動態抽稀優化的效果

在位置監控的應用中一般包含獨立的存儲GPS點信息的數據庫表[4],如果通過實時讀取數據庫,以Graphic Line的方式動態展示移動物體的軌跡,當監控目標超過一定數量后,地圖操作性能急劇下降。而通過本算法進行線節點抽稀優化,根據比例尺的大小,決定線節點的優化程度,實時去除多余節點,并在終端對優化后的圖形進行動態渲染。實踐證明,此方法比通過坐標創建AO對象,調用Generalize進行優化并生成Graphic的效率高很多。

4 總結與展望

本算法在需要將線和面Graphic的顯示和渲染通過控制抽稀程度系數來提高性能的,以及在GPS軌跡跟蹤展示、大數據量查詢和分析結果展示、復雜對象高亮顯示、客戶端直接創建線面對象等應用場景中特別有效。本文中筆者主要在Web客戶端進行了算法部署及測試,后續工作中還需要做如下工作:

(1)在ArcGIS API for iOSAndroid中進行部署和測試。

(2)進一步提高算法穩定性,優化宏觀上節點的動態抽稀過程;

(3)用后臺代碼將算法封裝成一個檢查多余節點的GP常用工具,用于減少線和面數據源的多余節點,以供數據檢查、處理、優化使用。

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

[2]陳永劍.基于ArcGIS10的點抽稀應用 [J].城市建設理論研究,2011,(31).

[3]熊萍.3S綜合調繪法在農村土地利用現狀調查中的試驗研究 [D].西安:長安大學. 2010.

[4]吳建華.基于ArcGIS Engine的車輛監控GIS系統開發 [J].地球信息科學學報,2011,13(1):88-93.

P208[文獻碼]B

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

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 国产免费自拍视频| 全免费a级毛片免费看不卡| 中文字幕在线观| 国产又黄又硬又粗| 亚洲精品黄| 精品国产aⅴ一区二区三区| 精品无码专区亚洲| 欧美亚洲综合免费精品高清在线观看| 亚洲中文字幕手机在线第一页| 久久大香香蕉国产免费网站| 久久人人97超碰人人澡爱香蕉| 91小视频在线播放| 无码内射中文字幕岛国片| 国产成人亚洲综合a∨婷婷| 久久久久久久久18禁秘| 亚洲国产综合自在线另类| 国产精品久久久久久久久kt| 国内精品自在欧美一区| 中文字幕1区2区| 怡红院美国分院一区二区| 一本一本大道香蕉久在线播放| 亚洲激情99| 色九九视频| 成人综合久久综合| 黄色网址免费在线| 亚洲国产中文在线二区三区免| 巨熟乳波霸若妻中文观看免费| 青青草原国产免费av观看| 亚洲精品无码高潮喷水A| 99视频国产精品| 欧美a级完整在线观看| www亚洲精品| 免费黄色国产视频| 蜜桃视频一区二区| 国产91高清视频| 国产在线观看人成激情视频| 福利视频一区| 国产偷倩视频| 不卡无码h在线观看| 992Tv视频国产精品| 波多野衣结在线精品二区| 欧美在线综合视频| 好吊色国产欧美日韩免费观看| 亚洲天堂777| 人妻91无码色偷偷色噜噜噜| 中文字幕在线看| 午夜精品区| 欧美日韩中文字幕在线| 正在播放久久| 免费AV在线播放观看18禁强制| 亚洲侵犯无码网址在线观看| 天堂网国产| 黄色在线网| 99精品国产高清一区二区| 青青网在线国产| 欧美在线精品怡红院| 亚洲成人手机在线| 欧美日韩国产综合视频在线观看| 亚洲国产日韩一区| 最新无码专区超级碰碰碰| 欧美成人在线免费| 亚洲日韩精品综合在线一区二区 | 在线不卡免费视频| 亚洲av无码成人专区| 日本伊人色综合网| 红杏AV在线无码| 亚洲国产日韩在线成人蜜芽| 国产成人免费| 2022国产91精品久久久久久| 日韩国产高清无码| 日韩天堂网| 欧美亚洲一二三区| 欧美精品另类| 色噜噜在线观看| 亚洲成网777777国产精品| 日韩123欧美字幕| 久久影院一区二区h| 国产综合网站| 欧美精品在线看| 国产精品自在线天天看片| 亚洲精品午夜无码电影网| 中文字幕在线一区二区在线|