ArcGIS Server .Net Web ADF的類庫簡介在做過Server .net 9.2之前版本開發的人都知道,arcgis server adf本身并沒有什麼類庫,隻有一些便利類供我們使用,比如webmap,比如webpagelayout,除此之外,我們都是使用的是arcobjects元件來進行開發的。 但是在Server .net 9.2中,随着arcgis server的應用的多資料源模式的推出,導緻了arcgis server必須提供一些能夠支援各種資料源的類庫,這也就是現在的.net adf的類庫。因為這些類庫和adf中提供的控件聯系非常緊密,是以會在我們arcgis server的開發過程中頻繁的使用到。 附圖中的所列出來的類是ArcGIS Server為我們提供的所有的類, Common APIs ESRI.ArcGIS.ADF.Web ESRI.ArcGIS.ADF.Web.DataSouces ESRI.ArcGIS.ADF.Web.Datasouces.ArcGISServer ESRI.ArcGIS.ADF.Web.DataSouces.ArcWebService ESRI.ArcGIS.ADF.Web. DataSouces.Graphics ESRI.ArcGIS.ADF.Web.. DataSouces.IMS ESRI.ArcGIS.ADF.Web.. DataSouces.OGCWMSService ESRI.ArcGIS.ADF.Web..UI.WebControls Specific APIs ESRI.ArcGIS.ADF ESRI.ArcGIS.ADF.ArcGISServer ESRI.ArcGIS.ADF.ArcGISServer.Editor ESRI.ArcGIS.ADF.ArcWebService ESRI.ArcGIS.ADF.IMS ESRI.ArcGIS.ADF.Connection ESRI.ArcGIS.ADF.Tasks 除了上面列出的這些之外的其他類庫都是屬于Specific APIs。 Web ADF通過Common APIs來到達相應的Specific APIs。 先來看Common APIs: ESRI.ArcGIS.ADF.Web.DataSouces:包含了為各種資料源用來實作的Common APIs的各種基本接口,比如IGISDataSouce,IGISResouce,IGISFunctionality等。 ESRI.ArcGIS.ADF.Web.Datasouces.ArcGISServer:裡面包含的類基本上是ESRI.ArcGIS.ADF.Web.DataSouces中接口的一種實作,這些類就是web Adf中針對ArcGIS Server這種資料源的Common APIs. ESRI.ArcGIS.ADF.Web.DataSouces.ArcWebService:裡面包含的類基本上是ESRI.ArcGIS.ADF.Web.DataSouces中接口的一種實作,包含了web Adf中針對ArcWebService 這種資料源的Common APIs. 其他幾個依次類推。 各個庫中的類的名稱可能是相同的,比如MapFunctionality就在ESRI.ArcGIS.ADF.Web.Datasouces.ArcGISServer ESRI.ArcGIS.ADF.Web.DataSouces.ArcWebService ESRI.ArcGIS.ADF.Web. DataSouces.Graphics ESRI.ArcGIS.ADF.Web.. DataSouces.IMS ESRI.ArcGIS.ADF.Web.. DataSouces.OGCWMSService 各個庫中都有,但是是針對不同的資料源的,這也就是支援多種資料源并且可以擴充自己的資料源的表現之一。 ESRI.ArcGIS.ADF.Web..UI.WebControls:包含了web adf為我們提供的各種控件類。 再來看看Specifics APIs: 各種Specifics APIs的庫的内容比較明确,都是針對不同的資料源要使用到的特殊的類。從名稱上大家都可以看出來. 比如ESRI.ArcGIS.ADF.ArcGISServer就是針對ArcGIS Server的Specific APIs, 其他以此類推 在從各種控件入手,進行任何的操作,首先都先接觸到這些Common APIs,從Common APIs來判斷是哪種資料源,然後着手進入Specific APIs。來看看下面一段代碼: / / 從控件得到Functionality的集合 IEnumerable funcenum = Map1.GetFunctionalities(); foreach (IGISFunctionality gisfunc in funcenum) { //從functionality過得圖層名稱 IMapFunctionality mf = (IMapFunctionality)gisfunc; string[] layerids; string[] layernames; mf.GetLayers(out layerids, out layernames); //從functionality中獲得resource資源 MapResourceLocal localRes = mf.Resource as MapResourceLocal; IMapServer pMapServer = localRes.MapServer; IMapServerObjects pMapServerObjects = pMapServer as IMapServerObjects; IFeatureLayer pFeatureLayer = pMapServerObjects.get_Layer(pMapServer.DefaultMapName, 0) as IFeatureLayer; } 首先從控件得到functionality,再從functionality得到resouce,根據resouce的類型我們就知道怎麼去使用改resouce的specific APIs了,上面的例子得到Resouce的類型是MapResourceLocal,我們就可以進一步使用MapResourceLocal的Specific APIs――ArcObjects。 [ 本帖最後由 Jueery 于 2007-3-20 03:54 PM 編輯 ] 附件: 您所在的使用者組無法下載下傳或檢視附件 | |
| TOP 論壇小技巧:輸入使用者名麻煩?沒關系,論壇登陸方式有兩種。隻需要你記住你的UID号碼,一樣可以登陸。 |
yoyo 實習版主 達也
| 2# 大 中 小 發表于 2007-3-20 22:00 隻看該作者 我不太了解使用者大會上說的事件處理,至此也沒搞清楚server到底從何入手 承接arcims html/adf各種工程及子產品(DotNet) [email protected](兼職尋找中) 曾經擁有過 曾經失去過 曾經艱難地選擇 多少甜蜜和苦澀 變成多少悲歡離合 曾經失眠過 曾經心酸過 曾經為了你魂不守舍 曾經年青過 曾經沖動過 曾經為了你喝醉過 魂斷夢牽的歲月 留在回憶裡永不褪色 |
<script type=text/javascript>document.write(' ');</script>
| TOP 免費ArcGIS軟體申請,現在點選! |
linkang505 新手上路
| 3# 大 中 小 發表于 2007-11-11 21:01 隻看該作者 講的不錯,學習中! |
| TOP 小調查:看看大家都使用哪些工具做ArcGIS二次開發 |
jiyanliang 新手上路
| 4# 大 中 小 發表于 2007-11-13 10:12 隻看該作者 如果再詳細一點就好了 我的部落格:jnotnull.javaeye.com |
| TOP 小調查:看看大家都使用哪些工具做ArcGIS二次開發 |
sallychu71 新手上路
| 5# 大 中 小 發表于 2008-5-30 08:51 隻看該作者 如果那點隐藏符号 + 能點開就好了。 |
| TOP [社群精華]ArcGIS伺服器版面精選文章荟萃 |
challysue 新手上路
| 6# 大 中 小 發表于 2008-5-31 09:51 隻看該作者 要是有類庫的詳細介紹就好了 |
| TOP 小調查:看看大家都使用哪些工具做ArcGIS二次開發 |
sagittys_xf 新手上路
| 7# 大 中 小 發表于 2008-6-2 13:31 隻看該作者 真的不懂。。。 |
| TOP 小貼士:不了解積分規則?點選檢視《社群管理規則》! |
zryanan 初級會員
| 8# 大 中 小 發表于 2008-6-11 10:47 隻看該作者 我也沒看懂啊! 例如 現在都說arcgis server提供了adf模闆,能快速開發實作使用者功能 但是,如何使用這些模闆呢?這些模闆與web application有啥不同的嗎? 請高手出來指教啊 |
| TOP 免費ArcGIS軟體申請,現在點選! |
hblky 新手上路
| 9# 大 中 小 發表于 2008-6-21 18:22 隻看該作者 如果能拿一個例子做個視訊教程詳細講解會更好! |
| TOP 小調查:看看大家都使用哪些工具做ArcGIS二次開發 |
stronghrq 中級會員
| 10# 大 中 小 發表于 2008-7-6 14:53 隻看該作者 有沒有DEMO啊,做一個DEMO來看一下更好的, |