• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            歲月流轉(zhuǎn),往昔空明

            C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
              118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
            這篇差不多算是進(jìn)入正題了,呵呵。這篇文章主要是實(shí)驗(yàn)性質(zhì)的文章,大概在一個(gè)系列都發(fā)完以后我會(huì)重新將寫過(guò)的東西修改并統(tǒng)稿,按照我一開始希望的樣子把專題組織出來(lái)。

            該篇將詳細(xì)的分析討論ArcGIS Server的Map控件及其Datasource和map functionality的關(guān)系問(wèn)題。
            唉。到實(shí)際寫文檔的時(shí)候,都不知道從哪里下手好,這才覺得Getting Started真不好寫啊。。。

            由于個(gè)人能力時(shí)間有限,如果有錯(cuò)誤或者不足,歡迎大家批評(píng)指正,我將在確認(rèn)更正后及時(shí)的補(bǔ)充修正。

            本文將分為兩個(gè)部分,第一部分將展現(xiàn)ArcGIS Server的Web ADF架構(gòu);
            第二部分則使用一個(gè)具體的實(shí)例來(lái)說(shuō)明Web ADF各個(gè)組件之間如何協(xié)同工作的。實(shí)例來(lái)自于Flyinggis的博客漫游Graphics Data Source

            題外話,此人是高手哇,他的代碼做示例代碼比我自己寫的好多了。他覺得一般的讀者認(rèn)為理論分析很枯燥,而實(shí)踐比較有趣,于是他的系列里面就第一篇是架構(gòu)性的話題,還有兩個(gè)都是實(shí)例。但是實(shí)際工作中我發(fā)現(xiàn)如果要想架構(gòu)好一個(gè)Server,那怕是最簡(jiǎn)單的Map Server,光有實(shí)踐指導(dǎo)還是不夠的,再加上我一開始就覺得ArcGIS Server的幫助很不完整,這會(huì)給框架的理解帶來(lái)困難,進(jìn)而帶來(lái)實(shí)踐上的障礙,所以我的系列還是側(cè)重于框架分析吧。

            ps,最近工作比較忙,因此很難一氣呵成,但是我盡力每天寫一點(diǎn),給大家?guī)?lái)的不便之處望能海涵。謝謝。

            --------------------------------華麗的分割線-----------------------------------------

            Part 1 架構(gòu)分析

            引文
            在閱讀本文前,我想你已經(jīng)大致的瀏覽過(guò)ESRI ArcGIS Server的文檔:What Is Web ADF?
            在該文檔中,ESRI已經(jīng)將Web ADF的大致框架闡明了。但是在實(shí)際工作中,這些內(nèi)容還不夠。
            這一部分將致力于詳細(xì)解釋W(xué)eb ADF的設(shè)計(jì),并將Web ADF的概念與.net中的組件結(jié)合起來(lái)進(jìn)行分析。
            閱讀這一部分不一定需要你讀過(guò)What is web ADF,文中會(huì)在需要的地方簡(jiǎn)要的復(fù)述文檔中的內(nèi)容,并用綠色字體表示,因?yàn)楸疚囊部梢宰鳛閃hat is Web ADF的導(dǎo)讀。

            正文
            Web ADF是ESRI為了簡(jiǎn)化在Web上提供如地圖瀏覽這樣的GIS服務(wù)而實(shí)現(xiàn)的一個(gè)開發(fā)框架。它與其它的相關(guān)組件的關(guān)系如下圖所示。


            Web ADF與相關(guān)組件關(guān)系
            從圖中可以看出,Web ADF建立在ArcGIS其它的遠(yuǎn)程服務(wù)基礎(chǔ)之上,它相當(dāng)于為各種不同的數(shù)據(jù)源提供了一個(gè)Facade,也可以看作是提供了更高階的抽象層次,成功的將各種不同數(shù)據(jù)源的訪問(wèn)統(tǒng)一起來(lái)。

            下圖為Web ADF的架構(gòu)圖的簡(jiǎn)圖。我們將用這張圖來(lái)分析,Web ADF究竟能做什么,它的每個(gè)組件分別完成了什么工作,以及這些組件之間是如何協(xié)同工作的。


            Web ADF 架構(gòu)簡(jiǎn)圖

            由于這個(gè)圖是簡(jiǎn)圖,因此也別指望它能反映太多的內(nèi)涵,但是它所表明的架構(gòu)還是比較清晰的。圖中組件之間的連線一般來(lái)說(shuō)都是Association或者Aggregation/Composition。
            為什么會(huì)有這樣的架構(gòu)?我想這是很多人接觸了ADF以后的疑問(wèn)。只要分析清楚了架構(gòu)為什么會(huì)演化成這樣,那么實(shí)際的軟件如何利用這個(gè)架構(gòu)的問(wèn)題自然也就解決了。
            我們先來(lái)看看Web ADF的官方文檔是怎樣描述這個(gè)框架的。
            從整體上說(shuō),Web ADF提供了多數(shù)據(jù)源的地圖顯示、簡(jiǎn)單的空間分析功能,以及針對(duì)特定數(shù)據(jù)源的特定功能。注意我這里的描述,無(wú)論是地圖顯示,還是空間分析,抑或是地址編碼和地處理,他們都可以看作是一個(gè)“功能”
            注:如果是指ArcGIS Server中的術(shù)語(yǔ)“功能(Functionality)”,一律使用“Functionality(-ies)”,如果是指通常含義上的功能,則使用中文的“功能”,下同。
            也就是說(shuō),我可以將ADF所面臨的需求:Web地理服務(wù)用各種“功能”進(jìn)行劃分。
            可能是出自于這種考慮,ESRI將Web ADF的用戶交互部分框架以“功能”為核心進(jìn)行考慮并通盤規(guī)劃,即Functionalities。
            例如,地圖渲染,依賴于Map“功能”,也就是MapFunctionality;而地址編碼,依賴于GeocodeFunctionality,等等。
            而Control,則是負(fù)責(zé)具體數(shù)據(jù)的渲染與顯示,以及處理用戶交互。那么很明顯的,在圖中,Control和Functionality構(gòu)成了一個(gè)兩層關(guān)系:Control負(fù)責(zé)表現(xiàn)層的工作,而Functionality則負(fù)責(zé)處理邏輯。
            具體到MapControl和MapFunctionality上,MapControl只負(fù)責(zé)數(shù)據(jù)顯示以及用戶操作的接收,而MapFunctionality則具體負(fù)責(zé)地圖的渲染工作。
            綜上所述,每個(gè)Functionality都代表了實(shí)際中人們需要的一些相關(guān)功能的集合。

            僅有功能自然是不行的,還要有相關(guān)的數(shù)據(jù)。在這里我們注意到一點(diǎn),那就是數(shù)據(jù)源經(jīng)常決定了有那些功能可以實(shí)現(xiàn),有哪些功能不可以。例如,如果數(shù)據(jù)源是一個(gè)沒有幾何信息的數(shù)據(jù)集,那么地圖繪制也就無(wú)從談起。
            因此可以說(shuō),功能能否實(shí)現(xiàn),將取決于數(shù)據(jù)的情況,這也就是為什么會(huì)有Resource與Functionalities之間會(huì)有短線。
            由于是資源決定能夠?qū)崿F(xiàn)的功能,而反過(guò)來(lái)就不成立了,因此在Object Model Diagram中,可以看到Resource與它的Functionality是Instansation的關(guān)系,也就是說(shuō),一個(gè)Functionality是由一個(gè)唯一的Resource所構(gòu)造出的(也就是實(shí)例化出),而一個(gè)Resource,可以依據(jù)其情況,構(gòu)造多個(gè)Functionality,例如對(duì)于Geodatabase中的Feature Class而言,它既能夠用其渲染,也能夠用于查詢操作,那么很顯然,它便可以構(gòu)造MapFunctionality和QueryFunctionality,而對(duì)于GraphicsLayer這樣的數(shù)據(jù)源,則無(wú)法完成查詢工作,因此它也就無(wú)法創(chuàng)建QueryFunctionality。下圖表示了Functionality和Resource之間的關(guān)系。


            DataSource - Resource - Functionality 關(guān)系圖

            很自然的,Control - Functionality - Resource構(gòu)成了一個(gè)微型的Presentation - Logic - Data的三層架構(gòu)

            (待續(xù))
            posted on 2007-08-19 20:23 空明流轉(zhuǎn) 閱讀(1892) 評(píng)論(4)  編輯 收藏 引用

            評(píng)論

            # re: ArcGIS Server 9.2 專題 試驗(yàn)田(1) ArcGIS Server Map Control及相關(guān)組件解讀[未登錄] 2007-08-21 11:41 flyingis
            寫的不錯(cuò),看得出基本上把文檔前面都看了一篇了,做Server開發(fā)的確需要先了解這些,沒有對(duì)ADF框架的理解作為基礎(chǔ),寫代碼時(shí)就容易暈頭轉(zhuǎn)向,這種理解基于設(shè)計(jì)模式和MVC就更好了。你以前用c++?  回復(fù)  更多評(píng)論
              

            # re: ArcGIS Server 9.2 專題 試驗(yàn)田(1) ArcGIS Server Map Control及相關(guān)組件解讀 2007-09-14 10:37 hhghbx
            寫的很好!!給了我不少幫助  回復(fù)  更多評(píng)論
              

            # re: ArcGIS Server 9.2 專題 試驗(yàn)田(1) ArcGIS Server Map Control及相關(guān)組件解讀 2007-09-21 09:55 cherishing
            不錯(cuò),剛開始學(xué)習(xí),很有幫助!  回復(fù)  更多評(píng)論
              

            # re: ArcGIS Server 9.2 專題 試驗(yàn)田(1) ArcGIS Server Map Control及相關(guān)組件解讀 2007-11-20 16:30 11
            : ArcGIS Server 開發(fā)系列(二)--Web ADF 編程
            我在幫助上看,一個(gè)簡(jiǎn)單的WEB瀏覽器就可以打開WMS服務(wù)。
            WMS是不是就是個(gè)一般的地圖呢》》請(qǐng)問(wèn)
            問(wèn)什么我輸入U(xiǎn)RL的時(shí)候報(bào)錯(cuò)捏。。
            難道普通的IE瀏覽器不可以顯示打開嗎
            opernlayers是什么東東啊  回復(fù)  更多評(píng)論
              


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            男女久久久国产一区二区三区| 精品久久久久久99人妻| 国产精品免费看久久久香蕉| 亚州日韩精品专区久久久| 久久免费精品一区二区| 91精品国产91久久久久久蜜臀| 狠狠88综合久久久久综合网| 久久久久亚洲Av无码专| 久久精品无码一区二区无码| 亚洲中文字幕无码一久久区| 久久久久久久人妻无码中文字幕爆| 亚洲国产精品无码久久一区二区| 精品人妻伦九区久久AAA片69| 亚洲va久久久噜噜噜久久男同 | 国产成人久久精品激情| 久久精品国产亚洲AV电影| 久久精品www人人爽人人| 久久精品国产亚洲一区二区| 91亚洲国产成人久久精品| 免费精品久久久久久中文字幕| 国产亚洲精品久久久久秋霞 | 好久久免费视频高清| 曰曰摸天天摸人人看久久久| 色偷偷91久久综合噜噜噜噜| 无码伊人66久久大杳蕉网站谷歌 | 久久久青草久久久青草| 久久婷婷人人澡人人| 久久综合国产乱子伦精品免费| 久久99精品久久久久久久久久| 亚洲国产精品久久久久网站| 四虎国产精品成人免费久久| 热re99久久精品国99热| 国产一级持黄大片99久久 | 激情久久久久久久久久| 精品伊人久久大线蕉色首页| 久久国产成人精品麻豆| 综合久久精品色| 99国产欧美精品久久久蜜芽 | 国产99久久久国产精品小说| 久久国产精品一国产精品金尊| 久久国产免费观看精品|