ArcGIS Server .Net Web ADF体系结构
生活随笔
收集整理的這篇文章主要介紹了
ArcGIS Server .Net Web ADF体系结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ArcGIS Server .Net Web ADF體系結構
ArcGIS Server .net來創建應用有三個層次,
1 使用manager來創建一個web應用
2 使用 .net模板來創建應用
3 使用adf來創建應用
對于一個項目開發來說,需要采用第三中方式來進行開發的,第一,第二中方式一般用于剛剛基礎arcgis server的同志學習使用或者是非常簡單的應用來使用的,使用adf來進行開發,弄清楚adf的體系結構就顯的非常重要,否則就會象掉進arcobjects的巨多的組件堆里的感覺是一樣的。在這個講座中會講到.Net ADF為我們提供了什么,我們該在ArcGIS Server.Net開發過程中怎么樣有序的去使用它們。
以前我們的adf稱為 Server adf,那是因為只有單一的數據源,即ArcGIS Server。而現在的是Web Adf,是針對多數據源的,可以是ArcGIS Server, ArcGIS IMs等。
Adf為我們提供的是控件和api。控件是提供用戶界面,而common api和specific api的類來具體完成GIS的功能。
首先我們來看看控件,9.2 ADF的控件明顯比以前版本復雜一些,除了我們常見的map,pagelayout,toc等控件之外,還出現了一系列的resoucemanager控件。這些控件的出現都是為支持多數據源的這個目標服務的,在解釋控件的同時還會涉及到adf中的其他一些概念,這些概念都是貫穿adf的始終的。
1 Resouces,ResouceManager,webcontrols, functionality的關系。
首先我們來解釋一下Resouces,ResouceManager,webcontrols, functionality的關系。
控件和數據源之間的關系是通過一系列的ResouceManager控件來維護的。ResouceManager決定哪些數據源是可以使用的Resouces,以及這些Resouces怎么樣被控件所使用。一旦一個數據源被ResouceManager管理之后,就被展現為Resouces。控件通過Resouces到達數據源。Resouces可以把數據源以多種形式展現出來,比如可以提供一幅地圖展現在map控件種,它也可以把數據源以圖層列表的方式展現在toc控件中,也就是說Resource擁有不能的能力,這些不同的能力我們成為不同的functionaligy。
從控件角度來講,不同的控件可以通過不同的方式來使用相同的數據源,比如一個Resouce可以為map控件提供一幅地圖,也可以為toc控件提供一套圖層的列表,這就Resouces的不同的functionality。
從數據源角度來講,不同的Resouces會通用的展現一些能力,也就是提供不同的functionality,比如展現地圖,查詢地圖等。
上面這些文字可能剛開始看起來比較費勁,但是對于使用.net開發的人來說一定要弄清楚這些關系。
2 Common APIs和specific APIs的關系
上面講了Resouces可以展現為不同的能力,但是具體能夠展現為哪些能力還是要看數據源本身能夠提供什么樣的功能。但是有一些能力是所有數據源都能辦到的,也就是說Resouces可以展現出一些所有的數據源都可以提供的能力,比如提供地圖,比如查詢地圖,無論是arcgis server作為數據源,還是arcims作為數據源,這些都是基本的能力。因此adf就把實現這些基本的普通的功能所需要的類歸為Common APIs。而有些功能是有些數據源特有的,比如提供編輯功能,那是arcgis server特有的,arcims是無法提供的。這些就被稱為specific APIs。
Specific APIs包括arcims api, arcweb api, ogc\wms api, arcgis server soap api, arcgis server arcobjects api,注意其中的arcobjects api也被列為了specific api了,它是arcgis server數據源的specific APIs。
3 Common APIs的基本結構,adf中如何來使用這些common APIs?
我們在開發過程中首先接觸到的就是ADF中提供的這些Common APIs,而且它的結構比較明朗,不像Specific APIs那樣多樣。首先我們來看幾個基本接口,
IGISDataSouce――定義了數據源的連接
IGISResouce――定義了datasouce提供的信息類型等
IGISFunctionality――定義了resouce怎么被使用
這三個接口是不同的數據源可以展現一些基本功能的基本接口,也就是說不同的數據源要實現基本的功能必須實現這三個基本的類,才能在控件上展現出那些基本的能力。各種數據源都用相應的類實現了這三個接口。
那首先來看一下這三個接口之間的關系,
一個GISDataSouce會包含一系列的GISResouces。GISDatasouce是一個比較大的概念,主要就包含了ArcGIS Server Local, ArcGIS Server internet ,ArcIms, WMS, ArcWeb這幾種。那就拿ArcGIS Server Local來說吧,它包含了MapResouce, GeocodeResouce, GeoprocessingResouce幾種。
一個GISResouce會包含一系列的GISFunctionality。Functionality定義了resouces怎么被使用。Functionality主要有兩種mapfunctionality,queryfunctionality。Mapfunctionality主要展現resouce的地圖能力,比如輸出地圖圖片,改變地圖范圍,設置地圖中圖層的可見性等。而queryfunctionality主要展現resouce的數據的空間和屬性查詢能力。
剛才說了不同的數據源都有相應的類來實現上面的基本接口,那我們來看看arcgis server local這種數據源的相應的實現類:
IGISDataSouce ――GISDataSouceLocal
IGISResouce ――MapResouceLocal, GeocodeResouceLocal
IGISFunctionality ――MapFunctionality QueryFunctionality
這就是web adf的優勢所在,它可以使得各種不同的數據源都展現為resouce, 使得它們可以以相同的方式得到使用。對于控件而言,每個resouce就象一個圖層,而不管數據源是什么。
就舉一個地圖放大的功能,一個mapcontrol中有兩個datasouce,一個是arcgis server local,一個是arcims, 地圖的范圍重新設定了之后,控件都通過每個resouces提供的mapfunctionality給每個resouces重新設定范圍,每個resouces輸出這個新的地圖。而mapcontrol呢就負責把這些輸出圖片顯示在同一個界面上。對于控件而言,每個resouce就象一個圖層。從resouce可以到達datasouce本身。
ArcGIS Server .net來創建應用有三個層次,
1 使用manager來創建一個web應用
2 使用 .net模板來創建應用
3 使用adf來創建應用
對于一個項目開發來說,需要采用第三中方式來進行開發的,第一,第二中方式一般用于剛剛基礎arcgis server的同志學習使用或者是非常簡單的應用來使用的,使用adf來進行開發,弄清楚adf的體系結構就顯的非常重要,否則就會象掉進arcobjects的巨多的組件堆里的感覺是一樣的。在這個講座中會講到.Net ADF為我們提供了什么,我們該在ArcGIS Server.Net開發過程中怎么樣有序的去使用它們。
以前我們的adf稱為 Server adf,那是因為只有單一的數據源,即ArcGIS Server。而現在的是Web Adf,是針對多數據源的,可以是ArcGIS Server, ArcGIS IMs等。
Adf為我們提供的是控件和api。控件是提供用戶界面,而common api和specific api的類來具體完成GIS的功能。
首先我們來看看控件,9.2 ADF的控件明顯比以前版本復雜一些,除了我們常見的map,pagelayout,toc等控件之外,還出現了一系列的resoucemanager控件。這些控件的出現都是為支持多數據源的這個目標服務的,在解釋控件的同時還會涉及到adf中的其他一些概念,這些概念都是貫穿adf的始終的。
1 Resouces,ResouceManager,webcontrols, functionality的關系。
首先我們來解釋一下Resouces,ResouceManager,webcontrols, functionality的關系。
控件和數據源之間的關系是通過一系列的ResouceManager控件來維護的。ResouceManager決定哪些數據源是可以使用的Resouces,以及這些Resouces怎么樣被控件所使用。一旦一個數據源被ResouceManager管理之后,就被展現為Resouces。控件通過Resouces到達數據源。Resouces可以把數據源以多種形式展現出來,比如可以提供一幅地圖展現在map控件種,它也可以把數據源以圖層列表的方式展現在toc控件中,也就是說Resource擁有不能的能力,這些不同的能力我們成為不同的functionaligy。
從控件角度來講,不同的控件可以通過不同的方式來使用相同的數據源,比如一個Resouce可以為map控件提供一幅地圖,也可以為toc控件提供一套圖層的列表,這就Resouces的不同的functionality。
從數據源角度來講,不同的Resouces會通用的展現一些能力,也就是提供不同的functionality,比如展現地圖,查詢地圖等。
上面這些文字可能剛開始看起來比較費勁,但是對于使用.net開發的人來說一定要弄清楚這些關系。
2 Common APIs和specific APIs的關系
上面講了Resouces可以展現為不同的能力,但是具體能夠展現為哪些能力還是要看數據源本身能夠提供什么樣的功能。但是有一些能力是所有數據源都能辦到的,也就是說Resouces可以展現出一些所有的數據源都可以提供的能力,比如提供地圖,比如查詢地圖,無論是arcgis server作為數據源,還是arcims作為數據源,這些都是基本的能力。因此adf就把實現這些基本的普通的功能所需要的類歸為Common APIs。而有些功能是有些數據源特有的,比如提供編輯功能,那是arcgis server特有的,arcims是無法提供的。這些就被稱為specific APIs。
Specific APIs包括arcims api, arcweb api, ogc\wms api, arcgis server soap api, arcgis server arcobjects api,注意其中的arcobjects api也被列為了specific api了,它是arcgis server數據源的specific APIs。
3 Common APIs的基本結構,adf中如何來使用這些common APIs?
我們在開發過程中首先接觸到的就是ADF中提供的這些Common APIs,而且它的結構比較明朗,不像Specific APIs那樣多樣。首先我們來看幾個基本接口,
IGISDataSouce――定義了數據源的連接
IGISResouce――定義了datasouce提供的信息類型等
IGISFunctionality――定義了resouce怎么被使用
這三個接口是不同的數據源可以展現一些基本功能的基本接口,也就是說不同的數據源要實現基本的功能必須實現這三個基本的類,才能在控件上展現出那些基本的能力。各種數據源都用相應的類實現了這三個接口。
那首先來看一下這三個接口之間的關系,
一個GISDataSouce會包含一系列的GISResouces。GISDatasouce是一個比較大的概念,主要就包含了ArcGIS Server Local, ArcGIS Server internet ,ArcIms, WMS, ArcWeb這幾種。那就拿ArcGIS Server Local來說吧,它包含了MapResouce, GeocodeResouce, GeoprocessingResouce幾種。
一個GISResouce會包含一系列的GISFunctionality。Functionality定義了resouces怎么被使用。Functionality主要有兩種mapfunctionality,queryfunctionality。Mapfunctionality主要展現resouce的地圖能力,比如輸出地圖圖片,改變地圖范圍,設置地圖中圖層的可見性等。而queryfunctionality主要展現resouce的數據的空間和屬性查詢能力。
剛才說了不同的數據源都有相應的類來實現上面的基本接口,那我們來看看arcgis server local這種數據源的相應的實現類:
IGISDataSouce ――GISDataSouceLocal
IGISResouce ――MapResouceLocal, GeocodeResouceLocal
IGISFunctionality ――MapFunctionality QueryFunctionality
這就是web adf的優勢所在,它可以使得各種不同的數據源都展現為resouce, 使得它們可以以相同的方式得到使用。對于控件而言,每個resouce就象一個圖層,而不管數據源是什么。
就舉一個地圖放大的功能,一個mapcontrol中有兩個datasouce,一個是arcgis server local,一個是arcims, 地圖的范圍重新設定了之后,控件都通過每個resouces提供的mapfunctionality給每個resouces重新設定范圍,每個resouces輸出這個新的地圖。而mapcontrol呢就負責把這些輸出圖片顯示在同一個界面上。對于控件而言,每個resouce就象一個圖層。從resouce可以到達datasouce本身。
轉載于:https://www.cnblogs.com/zhmore/articles/1084439.html
總結
以上是生活随笔為你收集整理的ArcGIS Server .Net Web ADF体系结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 把Zend Studio 5.5改为简体
- 下一篇: 开始学习WPF