国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ESRI Flex Viewer 框架的ArcGIS Server開發(fā)

2012-04-29 15:10:45熊學(xué)新古曉蓓華亮春
國土資源導(dǎo)刊 2012年4期
關(guān)鍵詞:公共服務(wù)平臺

熊學(xué)新 古曉蓓 華亮春

摘要:本文主要介紹 Flex Viewer開發(fā)框架和構(gòu)件,并基于ESRI Flex Viewer框架部署和構(gòu)建Web的應(yīng)用程序,并以此架構(gòu)為基礎(chǔ)開發(fā)某市的公共服務(wù)平臺。

關(guān)鍵詞:Flex;ArcGIS;ArcGIS Server;RIA;公共服務(wù)平臺

WebGIS即萬維網(wǎng)地理信息系統(tǒng),是利用交互網(wǎng)絡(luò)技術(shù)擴(kuò)展和完善地理信息系統(tǒng)的一項(xiàng)技術(shù)。WebGIS實(shí)現(xiàn)技術(shù)總的歸納起來可以分為基于瘦客戶端和胖客戶端兩種方案?;谑菘蛻舳说姆桨钢锌蛻舳酥徊捎脴?biāo)準(zhǔn)的WEB技術(shù),如HTTP、HTML和Javascript。胖客戶端的發(fā)展則是通過下載安裝插件來增強(qiáng)瀏覽器的能力。代表技術(shù)有Plug-in、ActiveX控件技術(shù)、Java Applet技術(shù)和SVG技術(shù)。瘦客戶端的開發(fā)模式已經(jīng)成為當(dāng)前WebGIS的主流開發(fā)方式,基于B/S架構(gòu)的WebGIS得到迅速發(fā)展,但是隨著互聯(lián)網(wǎng)影響的不斷擴(kuò)大,以及GIS技術(shù)廣泛應(yīng)用到各行各業(yè)中,人們已逐漸不滿足于目前的WebGIS網(wǎng)頁技術(shù)的表現(xiàn)效果和交互性,而希望WebGIS有類似C/S的表現(xiàn)效果和交互性。

RIA(Rich Internet Application,富互聯(lián)網(wǎng)應(yīng)用系統(tǒng))是新一代網(wǎng)絡(luò)應(yīng)用程序,它把桌面應(yīng)用程序的交互性和用戶體驗(yàn)與傳統(tǒng)的Web應(yīng)用的部署靈活性和成本分析結(jié)合起來,具有無需刷新頁面并提供快速界面響應(yīng)等優(yōu)點(diǎn)。

Flex與REST進(jìn)行結(jié)合是目前非常熱門的分布式系統(tǒng)解決方案之一。將這個(gè)方案應(yīng)用到WebGIS中,就能輕便地建立起表現(xiàn)力豐富、交互性極好的基于Web的地圖應(yīng)用程序。本文基于Flex Viewer構(gòu)架,重點(diǎn)介紹Flex Viewer框架的構(gòu)建,部署針對Web的應(yīng)用程序。

1Flex Viewer簡介

ArcGIS Flex API是ArcGIS在RIA(富英特網(wǎng)應(yīng)用)領(lǐng)域的第一個(gè)產(chǎn)品,因此選擇了最為成熟的Flex/Flash平臺。使用ArcGIS Flex API可以開發(fā)運(yùn)行于瀏覽器中的Web應(yīng)用,并且使地圖的展示更加的美觀。FlexViewer框架就是使用了arcgis flex API技術(shù),集成了一個(gè)完整的用戶界面和一些GIS常用的功能,使程序員更加專注于自己的業(yè)務(wù)邏輯而不是頁面的設(shè)計(jì)。Flex Viewer的設(shè)計(jì)原則是SIMPLICITY(簡單)。因?yàn)楹唵卧瓌t,F(xiàn)lex Viewer易于部署、配置和擴(kuò)展。為了達(dá)到“簡單”這個(gè)目的,F(xiàn)lex Viewer在設(shè)計(jì)和實(shí)現(xiàn)上未引入第三方框架。但是從其框架結(jié)構(gòu)上,我們能捕捉到一些Flex框架中最佳實(shí)踐的影子,比如事件機(jī)制就與PureMVC中的Notification機(jī)制類似。

2Flex Viewe架構(gòu)

2.1 架構(gòu)介紹

Flex Viewer框架的構(gòu)建有助于開發(fā)和部署針對GeoWeb的應(yīng)用程序,使得能夠充分的發(fā)揮服務(wù)器端的空間服務(wù)的能力。服務(wù)器端的服務(wù)通過ArcGIS服務(wù)器和ArcGIS在線數(shù)據(jù)提供。地球空間信息服務(wù)可以由工作在軟件即服務(wù)方式的服務(wù)提供商獲得,比如ArcGIS在線數(shù)據(jù)庫、ArcGIS服務(wù)器或者是像GeoRSS反饋、KML文件庫以及JSON/REST數(shù)據(jù)等網(wǎng)絡(luò)數(shù)據(jù)源。

2.2 Flex Viewer實(shí)例的生命周期

一個(gè) Flex Viewer框架的實(shí)例從開始應(yīng)用程序的設(shè)計(jì)到用戶界面經(jīng)歷了一個(gè)簡單的生命周期,期間主要的5個(gè)事件如下:

(1)Flash播放器從加載和運(yùn)行容器文件開始一個(gè)Sample Flex Viewer框架的應(yīng)用程序。

(2)這個(gè)Flex Viewer容器再從網(wǎng)絡(luò)服務(wù)器加載XML格式的配置文件和皮膚文件并應(yīng)用于整個(gè)應(yīng)用程序。

(3)在配置文件的基礎(chǔ)上,F(xiàn)lex Viewer容器會從ArcGIS在線數(shù)據(jù)和ArcGIS9.3服務(wù)器下載相關(guān)的地圖信息,然后會從配置文件中加載并且在控制條上顯示菜單和來自配置文件的標(biāo)記信息。

(4)Flex Viewer容器的微件管理器會從XML配置文件指定的URLs下載并加載相關(guān)的微件文件(一般是swf文件)。

(5)用戶利用控件來實(shí)現(xiàn)各種業(yè)務(wù)邏輯。

2.3 Flex Viewer容器

Flex Viewer容器使設(shè)計(jì)人員能夠擺脫地圖管理、地圖導(dǎo)航、應(yīng)用配置、組件間的通信、數(shù)據(jù)管理等繁重復(fù)雜的編程工作,專注于核心業(yè)務(wù)功能開發(fā),尤其是那些利用ERSI公司的ArcGIS技術(shù)的網(wǎng)絡(luò)應(yīng)用開發(fā)人員。只需要在Flex Viewer應(yīng)用程序的配置文件中增加配置項(xiàng),就可以將功能以widget的形式快速部署到已有的Flex Viewer應(yīng)用中。 Flex Viewer容器由一系列高內(nèi)聚、低耦合組件組成。容器會把關(guān)注的任務(wù)交給相應(yīng)的組件去完成。這種設(shè)計(jì)方法不但簡化了代碼維護(hù)和定制,而且縮小了模塊編寫過程中產(chǎn)生的阻力。

3配置Flex Viewer

3.1 config配置文件

對于Flex應(yīng)用ArcGIS的瀏覽器有一個(gè)主配置文件名為config.xml ,這是默認(rèn)的應(yīng)用程序配置文件。它控制了系統(tǒng)外觀、功能、應(yīng)用程序和數(shù)據(jù)內(nèi)容。它位于主flexviewer安裝文件夾。 config.xml的內(nèi)容可分為四個(gè)主要部分:

(1)一般特性(例如,應(yīng)用程序的標(biāo)題,樣式顏色,字體)

(2)應(yīng)用程序用戶界面(例如,部件構(gòu)成部分瀏覽器UI)

(3)地圖內(nèi)容(如底圖和業(yè)務(wù)層)

(4)構(gòu)件容器

通過編輯config.xml這個(gè)文件,查看器應(yīng)用程序可以很容易地配置,以滿足任何特定的業(yè)務(wù)需求。(由于篇幅有限,此處代碼省略。)

①title:Flex Viewer自帶Banner實(shí)現(xiàn)的標(biāo)題;

②subtitle:Flex Viewer自帶Banner實(shí)現(xiàn)的副標(biāo)題;

③logo:Flex Viewer自帶Banner實(shí)現(xiàn)的Logo圖標(biāo);

④style:用來設(shè)置全局的組件樣式,具體詳見UIManager代碼;

⑤⑥⑦⑧UI Elements:指Control Widget,比如HeaderControllerWidget、NavigationWidget等這些提供系統(tǒng)級別功能的Widget;

⑨map:Flex Viewer用來設(shè)置地圖屬性,包括底圖、業(yè)務(wù)圖層;

⑩widgetcontainer:Business Widget的容器,用來管理Business Widget。Business Widget指提供業(yè)務(wù)功能的Widget。

需要說明的是,基于Flex Viewer開發(fā)業(yè)務(wù)系統(tǒng),一般通過實(shí)現(xiàn)自定義的Business Widget來實(shí)現(xiàn)具體的業(yè)務(wù)功能,通過修改或者自定義Control Widget實(shí)現(xiàn)符合需求的系統(tǒng)級別功能組件。所以,配置文件中的前三項(xiàng)并不是必須的,通常我們的業(yè)務(wù)系統(tǒng)需要更具特色的Banner實(shí)現(xiàn)。Flex Viewer各部分與配置文件的對應(yīng)關(guān)系見下圖:

3.2 Widget配置文件

在Flex Viewer的設(shè)計(jì)中,每個(gè)Widget都可以有一個(gè)配置文件,來配置Widget所需要的各種資源,提倡的做法是配置文件名與Widget名稱保持一致,并且位于同一目錄下。當(dāng)然,Widget的配置文件不是必須的,當(dāng)不需要配置信息時(shí),配置文件可省略。

在具體系統(tǒng)的開發(fā)過程中,應(yīng)盡可能多的將Widget用到的資源放到配置文件中,這樣的話,即便在系統(tǒng)交付之后,用戶也可以通過修改配置文件達(dá)到特定需求,而不需要更改源代碼。

4結(jié)語

基于ESRI Flex Viewer 框架克服了原有WebGIS開發(fā)中存在的交互性差、響應(yīng)速度慢等缺陷,它能夠呈現(xiàn)更加豐富、體驗(yàn)性更強(qiáng)的用戶界面,為WebGIS的應(yīng)用提供了一種嶄新的表現(xiàn)機(jī)制?;贔lex的可重用、可擴(kuò)展的框架設(shè)計(jì),使得功能擴(kuò)展成為可能,大大地提高了開發(fā)和部署效率;GIS服務(wù)器動態(tài)地圖渲染和地圖切片技術(shù)相結(jié)合以及基于AMF協(xié)議的Flash Remoting通信技術(shù),使得空間信息發(fā)布和瀏覽的速度大大地提高,為WebGIS應(yīng)用的開發(fā)提供了新的思路。但是由于框架設(shè)計(jì)的局限性和Flex技術(shù)亟待進(jìn)一步發(fā)展,還有一些問題如公眾地圖數(shù)據(jù)的結(jié)合使用、設(shè)計(jì)一個(gè)更加完善的二次開發(fā)框架等,都需要進(jìn)一步的研究和探索。

猜你喜歡
公共服務(wù)平臺
高校體育健身公共服務(wù)平臺建設(shè)探討
東方教育(2016年18期)2017-01-16 11:02:58
淺析公安邊防院校數(shù)字化校園建設(shè)設(shè)計(jì)
珠三角西岸精密制造產(chǎn)業(yè)新城規(guī)劃及公共服務(wù)平臺構(gòu)建
湖南省戰(zhàn)略性新興產(chǎn)業(yè)公共服務(wù)平臺建設(shè)對策分析
汉川市| 玉门市| 溧水县| 梁山县| 龙川县| 上虞市| 宝坻区| 遵化市| 察雅县| 当涂县| 蕉岭县| 景宁| 盘锦市| 垦利县| 华蓥市| 昌黎县| 奈曼旗| 句容市| 高碑店市| 大安市| 鹿泉市| 紫云| 贞丰县| 云南省| 博罗县| 成武县| 望奎县| 台南县| 咸宁市| 佛学| 象州县| 淳化县| 辉南县| 墨脱县| 宜都市| 宁强县| 龙口市| 博白县| 潮安县| 水城县| 桂林市|