第七章 ArcGIS Server開發(fā)基礎(chǔ)_第1頁
第七章 ArcGIS Server開發(fā)基礎(chǔ)_第2頁
第七章 ArcGIS Server開發(fā)基礎(chǔ)_第3頁
第七章 ArcGIS Server開發(fā)基礎(chǔ)_第4頁
第七章 ArcGIS Server開發(fā)基礎(chǔ)_第5頁
已閱讀5頁,還剩186頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第七章ArcGISServer開發(fā)基礎(chǔ)一、ASP.NET簡介Web開發(fā)技術(shù)

第一代Web應(yīng)用程序比較難于開發(fā)和管理,在性能和可擴(kuò)展性方面表現(xiàn)得差強。總體來講,早起的Web開發(fā)技術(shù)分為以下兩種:

CommandGatewayInterface,俗稱CGI,由服務(wù)器調(diào)用獨立的應(yīng)用程序。其缺點是占用大量的服務(wù)器資源。腳本程序:由瀏覽器解析,最終以HTML呈現(xiàn)在用戶面前。缺點是:瀏覽器不但要解析腳本,還要執(zhí)行嵌入式代碼。與已經(jīng)編譯的程序相比,運行效率不高。

ASP.NET提供一個更加現(xiàn)代的Web開發(fā)環(huán)境,但以前構(gòu)建Web應(yīng)用程序的傳統(tǒng)觀念在ASP.NET還能適用。每個Web應(yīng)用程序都由網(wǎng)頁組成,仍然可以使用JavaScript和HTML。但ASP.NET與傳統(tǒng)的ASP、JSP和PHP等腳本語言是有很多不同的。主要區(qū)別是:

ASP.NET是面向?qū)ο蟮拈_發(fā)方法,是基于事件和控件的架構(gòu),可以進(jìn)行代碼封裝和復(fù)用。

ASP.NET支持多種開發(fā)語言,如C#、Basic、J#等;

ASP.NET的性能高,不必每次都編譯其頁面和組件,而是根據(jù)需要才進(jìn)行編譯。

ASP.NET特點(1)ASP.NET需要與.NETFramework集成應(yīng)用。

.NETFramework是由各個功能模塊集合在一起的,它將各種各樣的類按照順序劃分到對應(yīng)的命名空間。這些類的使用與.NET的其他開發(fā)方式(獨立的Windows應(yīng)用程序)是相同的。(2)ASP.NET是編譯執(zhí)行不是解釋執(zhí)行。傳統(tǒng)ASP程序性能不高的一個原因是瀏覽器都是通過解釋腳本代碼來執(zhí)行的,當(dāng)用戶瀏覽網(wǎng)頁時,位于Web服務(wù)器上的腳本語言需要逐行解釋腳本代碼并翻譯為機(jī)器代碼,這個過程比較耗時間,影響了應(yīng)用程序的執(zhí)行效率。(3)ASP.NET支持多種開發(fā)語言不論采用C#還是VB.NET,或者其他的開發(fā)語言,最終應(yīng)用程序都會被編譯成中間語言,最終會編譯轉(zhuǎn)化為相同的本機(jī)的機(jī)器代碼。(4)ASP.NET應(yīng)用程序運行在公共運行語言運行庫(CLR)內(nèi)。自動管理內(nèi)存和垃圾回收;類型安全;結(jié)構(gòu)化的錯誤處理;多線程。(5)ASP.NET是面向?qū)ο蟮?。其最好的例子就是服?wù)器控件,這些控件都是封裝好的對象,開發(fā)人員可以通過編程來操作這些控件。

控件在頁面生成后,自動生成HTML腳本代碼,開發(fā)人員可以不去理會這些底層的HTML代碼,只需要控制這些控件對象就可以了。(6)ASP.NET與設(shè)備和瀏覽器無關(guān)。開發(fā)人員不必去關(guān)心客戶瀏覽器,因為ASP.NET控件會自動根據(jù)客戶瀏覽器的情況來生成相應(yīng)的HTML代碼來適應(yīng)客戶瀏覽器。(7)ASP.NET發(fā)布和配置容易。.NETFramework提供了相同的核心類庫,ASP.NET應(yīng)用程序發(fā)布的時候,只需要將相應(yīng)的文件復(fù)制到虛擬目錄下,當(dāng)配置用戶安全時,只需要編輯web.config文件即可,非常方便。Default.aspx頁面是主頁面,包含了地圖及其相關(guān)聯(lián)的控件與內(nèi)容。ErrorPage.aspx是錯誤頁面,當(dāng)應(yīng)用程序遇到未處理的錯誤程序時顯示該頁面。ApplicationClosed.aspx頁面是當(dāng)用戶單擊關(guān)閉鏈接(只有使用非池化ArcGIS服務(wù)器數(shù)據(jù)源時才會顯示)時顯示的頁面。這樣可允許程序釋放在GIS服務(wù)器上使用的資源;Measure.aspx是一自定義用戶控件,該控件在Default.aspx中使用,用于在地圖上測量距離與面積;Web.config是一標(biāo)準(zhǔn)的ASP.NET配置文件,里面存儲了.NET配置信息,以及當(dāng)使用ArcGISServerLocal數(shù)據(jù)源時的身份信息;Web.sitemap是ASP.NET2.0站點地圖配置文件。Default.aspx中的SiteMapDataSource控件使用該文件在Menu控件中顯示其中的鏈接;ReadMe.txt中包含了在VisualStudio中配置Web應(yīng)用程序的簡單描述;App_Code是一標(biāo)準(zhǔn)的ASP.NET文件夾,用于存放代碼,其中包含了MapIdentify.cs文件,該文件用于點查詢工具。App_Data和App-Themes也是標(biāo)準(zhǔn)的ASP.NET文件夾。App-Data用于存放應(yīng)用程序的數(shù)據(jù),通常是SQLServerExpress數(shù)據(jù)庫。App_Themes用于存放不同主題的文件,包括樣式表單、皮膚文件以及圖片。Help文件夾中包含了幫助文件。Images文件夾包含了程序使用的圖片。JavaScript文件夾包含了程序使用的Javascript庫文件二、ArcGISServer開發(fā)模式ArcGISServer有兩種開發(fā)模式:定制基于模板開發(fā)和自定義開發(fā)。(1)基于模板開發(fā)在新建網(wǎng)站對話框中選擇WebMappingApplication,則進(jìn)行基于模板開發(fā)。

當(dāng)使用模板創(chuàng)建Web應(yīng)用后,第一個要設(shè)置的就是MapResourceManager控件的ResourceItems屬性。

從MapResourceManager控件的名稱就可以看出該控件是用于管理地圖資源的,頁面中地圖控件的顯示內(nèi)容由該控件管理。

首先切換到Default.aspx頁面的設(shè)計視圖,選擇MapResourceManager控件,然后再屬性頁面中點擊ResourceItems右面的省略號,打開地圖資源項集合編輯器。在地圖資源項集合編輯器中,默認(rèn)時其內(nèi)容為空。選擇Add按鈕增加一MapResourceItem對象。該對象中包含了幾個屬性,這些屬性用于控制該地圖資源的數(shù)據(jù)源如何被應(yīng)用程序中的地圖、圖層控制等其他控件應(yīng)用。其中Name屬性用于在應(yīng)用程序中唯一標(biāo)識該資源。該名稱作為地圖服務(wù)顯示在圖層控制控件中。默認(rèn)名稱一般是MapResourceItem加序號,一般建議修改為地圖服務(wù)名稱。單擊Appearance屬性組下的DisplaySettings右側(cè)的省略號,可打開“地圖資源顯示設(shè)置編輯器”,該編輯器用于定義地圖資源生成圖片的內(nèi)容。

透明顏色與背景共同決定了地圖圖片的透明繪制。融合屬性定義該地圖圖片相對于其他資源地圖圖片的可見性。

當(dāng)?shù)貓D中同時顯示幾個地圖資源中的地圖時,每個地圖資源所生成的圖片需要融合為一張圖片。在資源列表中最下面的地圖資源最先繪制,然后是上面的地圖資源繪制。透明值(Transparecy)用于定義該地圖資源所生成的圖片的透明程度。0%表示圖片不透明,100%表示完全透明,也就是不可見;介于這兩者之間的值表示可顯示位于該地圖下面的其他地圖資源的內(nèi)容。當(dāng)圖片部分透明時,融合所有地圖資源的圖片就會花費更長時間。圖片格式(ImageFormat)確定了數(shù)據(jù)源生成的圖片的格式??梢娺x項(Visible)確定是否生成地圖圖片。在圖層控制中顯示選項(Display)允許隱藏資源。該資源在地圖或鷹眼控件中仍可顯示,也還被SearchAttributesTask等其他控件利用。在地圖資源項集合編輯器中,Definition屬性提供了一系列對話框來鏈接數(shù)據(jù)源提供者(例如GIS服務(wù)器)與創(chuàng)建地圖資源。單擊Definition右側(cè)的省略號按鈕,打開資源定義編輯器,在該編輯器中,首先要確定數(shù)據(jù)源的類型,不同類型需要不同的設(shè)置。

最常用的是ArcGISServerLocal類型。點擊DataSource右側(cè)的…按鈕,則出現(xiàn)數(shù)據(jù)源編輯器對話框,在這個對話框中,Connection

Host是連接當(dāng)前的服務(wù)器的名字,如連其他的,則點擊AdditionalGISServer。點擊Resource右側(cè)的…按鈕,則出現(xiàn)數(shù)據(jù)源編輯器對話框,在這個對話框中,列出了所有的地圖服務(wù)。(2)自定義開發(fā)在新建網(wǎng)站對話框中選擇ASP.NETWebSite,則進(jìn)行自定義開發(fā)。使用Web控件創(chuàng)建三、關(guān)于WebGIS應(yīng)用程序框架Web應(yīng)用程序框架(WebADF)是ESRI為了簡化在Web上提供如地圖瀏覽這樣的GIS服務(wù)而實現(xiàn)的一個開發(fā)框架。(一)Web應(yīng)用程序框架體系結(jié)構(gòu)WebADF與其他的相關(guān)組件的關(guān)系如圖所示。WebApplicationDeveloperFramework(ADF)FortheMicrosoft.NETFrameworkMicrosoft.NETFrameworkArcGISServerArcGISServerWebServiceArcObjectsArcIMS從圖中可看到,WebADF是建立在Microsoft.NET框架之上的一些新的類,這些新的類擴(kuò)展了.NET框架類庫,提供了一系列自定義Web控件以及支持本地與遠(yuǎn)程訪問的數(shù)據(jù)源。

以前版本的ADF稱為ArcGISServerADF,那是因為它只支持單一的數(shù)據(jù)源,即基于ArcObjects的ArcGISServer。

而現(xiàn)在的WebADF在兩個方面進(jìn)行了擴(kuò)展。一個是當(dāng)前的ADF支持多個數(shù)據(jù)源,包括ArcGISServer與ArcIMS等。另一個是該數(shù)據(jù)源架構(gòu)允許在同一應(yīng)用程序中同時集成于訪問來自不同來源的數(shù)據(jù)。1、Web控件、資源管理器、資源與功能之間的關(guān)系

Web控件是如何與數(shù)據(jù)源連接的呢?WebControlsWebControlsWebControlsResourceManagersResourcesDataSourcesFunctionalitiesDataSourceSpecificAPIS

控件和數(shù)據(jù)源之間的關(guān)系是通過一系列的資源管理器(ResourceManager)控件來維護(hù)的。資源管理器決定哪些數(shù)據(jù)源是可以使用的資源(Resource),以及這些資源怎么被控制所使用。一旦一個數(shù)據(jù)源被資源管理器管理之后,就被展現(xiàn)為資源??丶ㄟ^資源到達(dá)數(shù)據(jù)源。資源可以吧數(shù)據(jù)源以多種形式展現(xiàn)出來,比如可以提供一幅地圖展現(xiàn)在地圖控件中,它也可以把數(shù)據(jù)源以圖層列表的方式展現(xiàn)在內(nèi)容目錄控件中,也就是說資源擁有不同的能力,這些不同的能力我們稱為不同的“功能”(Functionality)。功能定義了資源怎么被使用。

從控件角度來講,不同的控件可以通過不同的方式來使用相同的數(shù)據(jù)源,比如一個資源可以為地圖控件提供一幅地圖,也可以為內(nèi)容目錄控件提供一套圖層的列表,這就是資源的不同功能;

從數(shù)據(jù)源角度來講,不同的資源會通用的展現(xiàn)一些能力,也就是提供不同的功能,比如展現(xiàn)地圖,查詢地圖等。2、公有API與特有API的關(guān)系資源可以展現(xiàn)為不同的能力,但是具體能夠展現(xiàn)為哪些能力還是要看數(shù)據(jù)源本身能夠提供什么樣的功能。有一些功能是所有數(shù)據(jù)源都能辦到的,也就是說資源可以展現(xiàn)出一些所有的數(shù)據(jù)源都可以提供的能力,比如提供地圖,比如查詢地圖,無論是ArcGISServer作為數(shù)據(jù)源,還是ArcIMS作為數(shù)據(jù)源,這些都是基本的能力。因此WebADF就把實現(xiàn)這些基本的普通的功能都需要的類歸為公有API(CommonAPI)。而有些功能是有些數(shù)據(jù)源特有的,比如提供編輯功能,那是ArcGISServer特有的,ArcIMS無法提供。這些就被稱為特有API(SpecificAPI)。CommonFunctionalityArcIMSAPIArcWebAPIOGC\WMSAPICustomAPIArcGISServerArcObjectAPIArcGISServerSOAPAPI使用不同的API訪問不同數(shù)據(jù)源3、共有API的基本結(jié)構(gòu)WebADF的多源架構(gòu)的基礎(chǔ)是共有API,它是一包含類與接口的抽象框架。不同的數(shù)據(jù)源可通過實現(xiàn)公有API來作為插入到WebADF中。主要包括三個接口:IGISDataSource:定義了數(shù)據(jù)源的連接。IGISResource:定義了數(shù)據(jù)源提供的信息類型等;IGISFunctionality:定義了資源怎么被使用。這三個接口是不同的數(shù)據(jù)源可以展現(xiàn)一些基本功能的接口,也就是說不同的數(shù)據(jù)源要實現(xiàn)基本的功能必須實現(xiàn)這三個基本的類,才能在控件上展現(xiàn)出那些基本的能力。各種數(shù)據(jù)源都用相應(yīng)的類實現(xiàn)了這三個接口。一個數(shù)據(jù)源(GISDatasource)會包含一系列的資源(GISResource)。以ArcGISServerLocal而言,它包含了MapResource、GeocodeResource、GeoprocessingResource等幾種資源。一個資源又會包含一系列的功能(GISFunctionality)。功能主要有兩類:MapFunctionality與QueryFunctionality。

前者主要展現(xiàn)資源的地圖能力,比如輸出地圖圖片,改變地圖范圍,設(shè)置地圖中圖層的可見性等;

后者主要展現(xiàn)資源的數(shù)據(jù)的空間和屬性查詢能力。4、WebADF中如何使用公有API?

不同的數(shù)據(jù)源都有相應(yīng)的類來實現(xiàn)上面的基本接口,ArcGISServerLocal數(shù)據(jù)源的相應(yīng)實現(xiàn)的類:IGISDataSource:GISDataSourceLocalIGISResource:MapResourceLocal、GeocodeResourceLocalIGISFunctionality:MapFunctionality、QueryFunctionality

這就是WebADF的優(yōu)勢所在,它可以使得各種不同的數(shù)據(jù)源都展現(xiàn)為資源,使得它們可以以相同的方式得到使用。對于控件而言,每個資源就像一個圖層,不管數(shù)據(jù)源是什么。

就舉一個地圖放大的功能,一個地圖控件中有兩個數(shù)據(jù)源,一個是ArcGISServerLocal,一個是ArcIMS,地圖的范圍重新設(shè)定了之后,控件都通過每個資源提供的MapFunctionality給每個資源重新設(shè)定范圍,每個資源輸出這個新的地圖。而地圖控件負(fù)責(zé)把這些輸出圖片顯示在同一個界面上。DataSourcesMapFunctionalityMapMapResourceManagerMapFunctionalityMapResourceMapResourceDrawExtentDrawExtent四、ArcGISServer控件介紹為了方便用戶進(jìn)行自己特定的GIS應(yīng)用開發(fā),ArcGISServer把通用的GIS功能進(jìn)行了封裝,提供了大量的控件。(一)資源管理控件

資源管理控件主要管理本應(yīng)用的一些服務(wù):地圖服務(wù)、地理處理服務(wù)和地理編碼服務(wù)。主要包括MapResourceManager、GeoprocessingResourceManager和GeocodeResourceManager等控件。1、MapResourceManager控件MapResourceManager地圖資源管理控件通常是在ArcGISServerWebADF應(yīng)用時第一個使用的控件,也是最重要的控件之一。

在軟件設(shè)計的時候開發(fā)人員可以在網(wǎng)頁上添加、刪除MapResourceManager控件,也可以設(shè)置MapResourceManager的屬性。MapResourceManager控件可以同時管理多資源,并且可以設(shè)置圖層的順序以及圖像輸出的透明度。

很多控件可以使用同一個地圖資源管理控件去訪問不同的資源。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.MapResourceManagerJavaScriptlibrariesdisplay_common.js,display_dotnetadf.jsName:惟一標(biāo)識地圖資源的名字,該名字會出現(xiàn)在控件Toc中。開發(fā)人員可以根據(jù)自己的喜好來命名其名稱。但在同一個MapResourceManager中其必須是惟一的。地圖顯示設(shè)置對話框

TransparencySettings:設(shè)置透明度。Transparency值0為不透明;100則為完全透明。RequestMIMEData:數(shù)據(jù)源中的地圖圖片訪問方式。如果數(shù)據(jù)源支持通過MIME格式發(fā)送地圖圖片,那么就可以存儲在WebADF應(yīng)用程序的內(nèi)存中;反之,數(shù)據(jù)源只能在共享的輸出目錄下生成圖片供WebADF應(yīng)用程序訪問。ImageFormat:生成圖片的格式,需要在圖片質(zhì)量與網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量間進(jìn)行平衡。Visible:決定圖片是否生成。如果Visible是True的話,應(yīng)用程序運行時生成該地圖圖片,在Toc控件中該地圖資源是checked,反之則不生成。DisplayintheTable

ofContents:地圖資源是否在Toc控件中出現(xiàn)。DynamicTiling:動態(tài)生成瓦片。LayerDefinition:層的定義,可以對層的屬性進(jìn)行設(shè)置,如高亮顯示的符號,字段的別名等。Definition:定義連接的方式??臻g數(shù)據(jù)源的連接方式有ArcGISServerInternet、ArcGISServerLocal、ArcIMS、ArcWebServices、GraphicsLayer、OGC(WMS)Services等。

ArcGISServerInternet:表示W(wǎng)eb應(yīng)用服務(wù)器與空間數(shù)據(jù)服務(wù)可以使局域網(wǎng)也可以位于廣域網(wǎng),該連接方式空間數(shù)據(jù)服務(wù)以WebService的方式提供。定義數(shù)據(jù)源輸入一個URL地址即可。ArcGISServerLocal:表示空間數(shù)據(jù)服務(wù)與Web應(yīng)用服務(wù)器處于同一局域網(wǎng)內(nèi),這種連接方式使用簡單。在“DataSource”文本框內(nèi)輸入GISServer的名字,并在“Resource”列表框選擇好空間數(shù)據(jù)的數(shù)據(jù)源。使用這種連接方式時,一般需要添加“ArcGISIdentify”。GraphicsLayer也是常用的一種連接方式,通常用于對特殊的圖層或元素進(jìn)行渲染,如選中的高亮顯示。它一般存儲在WebADF應(yīng)用程序的內(nèi)存中,在應(yīng)用程序設(shè)計的時候是不可見的,需要開發(fā)人員編寫代碼來控制其表現(xiàn)形式。2、GeoprocessingResourceManager控件GeoprocessingResourceManager是管理控件數(shù)據(jù)處理服務(wù)的資源管理器。空間數(shù)據(jù)處理服務(wù)一般是由ArcToolbox中的ModelBuilder工具建立好空間數(shù)據(jù)的處理模型,并把空間數(shù)據(jù)處理模型發(fā)布成空間數(shù)據(jù)處理服務(wù),GeoprocessingResourceManager控件就可以設(shè)置WebADF應(yīng)用程序訪問的空間數(shù)據(jù)處理服務(wù)了。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.GeoprocessingResourceManagerJavaScriptlibrariesdisplay_common.js,display_dotnetadf.jsName:空間資源處理的名字,開發(fā)人員根據(jù)實際情況來命名;Definition:定義空間數(shù)據(jù)資源的連接。與MapResourceManager不同的是,空間處理服務(wù)的連接方式只有ArcGISServerInternet和ArcGISServerLocal兩種方式,其配置與MapResourceManager的配置方式相似。3、GeocodeResourceManager控件GeocodeResourceManager是地理編碼資源管理控件,開發(fā)人員在開發(fā)WebADF應(yīng)用程序的時候可以在網(wǎng)頁上添加、刪除、修改地理編碼控件的屬性。FindAddressTask就是利用GeocodeResourceManager提供的地理編碼資源服務(wù)的控件。另外,開發(fā)人員在開發(fā)應(yīng)用程序的時候可以利用通用API:IGeocodeResource和IGeocodeFunctionality接口來訪問地理編碼服務(wù)。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.MapJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_map.js,isplay_vector.jsMinCandidateScore:是介于0-100的整數(shù),地理編碼服務(wù)查找返回結(jié)果的個數(shù)。默認(rèn)值為10;MinMatchScore:是介于0-100的整數(shù),根據(jù)地址匹配最小的相似程度。一般認(rèn)為相似程度在80-99的匹配時一個好的地址匹配。ShowAllCandiates:當(dāng)其值為True時,顯示所有的返回結(jié)果;反之顯示匹配程度大于MinMatchScore的結(jié)果,默認(rèn)是False。Name:地理編碼服務(wù)的名字,開發(fā)人員根據(jù)實際情況來命名。Definition:定義連接地理編碼服務(wù)的方式。其連接方式有:ArcGISServerInternet、ArcGISServerLocal、ArcIMS、ArcWebServices等方式,其配置與MapResourceManager中的相似。(二)地圖顯示及其相關(guān)控件1、Map控件Map是用來顯示一個或多個不同類型數(shù)據(jù)資源的地圖圖形控件。Map控件必須與MapResourceManager控件關(guān)聯(lián)并用來顯示MapResourceManager中定義的地圖資源。Map控件可以把多個不同類型的地圖服務(wù)融合為一個地圖,并且有異步刷新功能,如在放大、漫游地圖時不用刷新整個頁面就可以實現(xiàn)地圖圖片的更新。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.MapJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_map.js,isplay_vector.js2、MapTips控件MapTips可以顯示與之相關(guān)聯(lián)的Map控件圖層中鼠標(biāo)光標(biāo)停留位置元素的屬性。MapTips控件通過Map屬性與單個的Map控件關(guān)聯(lián),通過Layer屬性設(shè)定顯示哪個圖層的元素的屬性,并且可以設(shè)定屬性的顯示樣式。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.MapTipsJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_mapTips.js,Layer和Map兩個屬性。Layer配置MapTips要顯示的圖層。3、Magnifier控件Magnifier控件就是放大鏡,它允許用戶放大某一小塊的位置。用戶拖動Magnifier窗口,Magnifier就放大該窗口所對應(yīng)的Map控件上的地圖,同時還可以設(shè)置放大的倍數(shù)。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.Magnifier

設(shè)置Map、MapResourceManager、MagnifierResouce(待放大圖層)的屬性4、OverviewMap控件OverviewMap縮略圖也稱鷹眼,把當(dāng)前的地圖范圍畫在一個小的矩形范圍內(nèi),當(dāng)主地圖的范圍發(fā)生改變時,縮略圖不需要整個頁面的刷新而能夠自動更新。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.OverviewMapJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_overview.js,設(shè)置Map、MapResourceManager、OverviewMapResource5、Toolbar控件Toolbar控件可以是工具和命令行的集合,這些工具和命令被分成不同種類,執(zhí)行相似的操作。在添加工具的時候,可以添加WebADF已經(jīng)封裝好的一些操作,如放大、縮小、漫游等,這個工具不需要添加任何代碼;開發(fā)人員也可以添加自定義的工具或命令。一般來說,需要進(jìn)行圖形交互的采用工具,反之則采用命令。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.ToolbarJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_toolbar.js,Toolbar有很多屬性可以控制Toolbar的顯示風(fēng)格。在Toolbar的過程可以根據(jù)需要來進(jìn)行相應(yīng)的設(shè)置。例如,ToolbarStyle有3種風(fēng)格可供選擇:ImageandText,TextOnly,ImageOnly,用戶可以根據(jù)應(yīng)用程序的需要來設(shè)置。6、Toc控件Toc控件全稱TableofContents,Toc控件列出Map控件中所有的地圖。Toc控件與Map控件相關(guān)聯(lián),打開或關(guān)閉Toc控件的圖層可以控制Map控件圖層可見或不可見。Toc控件從TreeViewPlus控件繼承而來,可以用代碼來控制TreeViewPlus中的節(jié)點。Toc控制是異步刷新的,更新Toc控件不需要刷新整個頁面。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.TocJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_toc.js,display_treeviewplus.js7、ScaleBar控件ScaleBar控件為Map提供一個簡單的比例尺。ScaleBar控件的一些屬性如顏色、字體、高度和比例尺的單位都可以通過屬性來設(shè)置。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.ScaleBarJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js8、Navigation控件Navigation控件與單個的Map控件相關(guān)聯(lián),它提供通用的地圖移動、縮放功能。Navigation控件可以被渲染成圖片,也可以是TrueType字符。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.ScaleBarJavaScriptlibrariesdisplay_common.js,display_dotnetadf.jsMap、DisplayCharacter屬性9、ZoomLevel控件ZoomLevel控件能夠讓用戶快速定位到某一比例尺,它與Map控件相關(guān)聯(lián)。開發(fā)人員可以將其放在頁面的任意地方。ZoomLevel控件只針對建立了Cache的地圖服務(wù),如果是實時產(chǎn)生圖片的服務(wù),則ZoomLevel控件沒有任何作用。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.ZoomLevelJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js、display_navigation.js10、MapCopyrightText控件MapCopyrightText控件用來顯示Map控件的版權(quán)。在運行的時候,MapCopyrightText控件以文本的方式出現(xiàn),單擊后顯示版權(quán)信息的對話框。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dllClassESRI.ArcGIS.ADF.Web.UI.WebControls.MapCopyrightText設(shè)置CopyrightText、Map、Text等屬性(三)TaskManager與Task控件

在ArcGISServer中,所有的Task均由TaskManager來管理。本節(jié)將介紹ArcGISServer提供的各種Task和TaskManager控件及Task結(jié)果的顯示。1、TaskManager控件

TaskManager控件在WebADF應(yīng)用程序中管理各種Tasks。TaskManager控件產(chǎn)生樹形XML格式的數(shù)據(jù),這種數(shù)據(jù)能夠被ASP.NET的Menu、TreeView等控件導(dǎo)航。在運行的時候,Menu、TreeView控件可以用來控制Task的顯示。(1)將控件加入到頁面打開VS,并創(chuàng)建一個Web站點,在設(shè)計模式下打開一個頁面,選擇工具箱并展開ArcGIS控件標(biāo)簽,選中TaskManager控件,然后將它拖動到Web頁面中;(2)添加導(dǎo)航下的Menu控件到頁面;(3)設(shè)置TaskManager控件的BuddyControl屬性為Menu1;(4)添加一個Task例如添加SearchAttributesTask到TaskManager中。在一般情況下要把Task控件設(shè)置為False,2、EditorTask控件EditorTask控件為ArcGISServer地圖服務(wù)提供一套基于Web的編輯工具,可以修改、添加、刪除幾何元素或修改其屬性。

使用EditorTask控件需要滿足以下條件:

地圖服務(wù)必須是ArcGISServerLocal類型;

地圖服務(wù)可以是pooled或者non-pooled;

地圖服務(wù)須是基于MXD文檔,不支持MSD服務(wù);

在non-pooled的服務(wù)中,有沒有注冊版本均可編輯;pooled的服務(wù)只能編輯沒有注冊版本的數(shù)據(jù);EditorTask中不支持Shapefile和personalgeodatabase的數(shù)據(jù)編輯;

待編輯的數(shù)據(jù)圖層最好有唯一的名字;AssemblyESRI.ArcGIS.ADF.ArcGISServer.Editor.dll;ClassESRI.ArcGIS.ADF.ArcGISServer.EditorTask3、SearchAttributesTask控件SearchAttributesTask控件提供用戶輸入字段的屬性值來查找?guī)缀卧?,待查找的圖層只能是MapSourceManager中的圖層,查找結(jié)果由ADO.NETDataSet返回到TaskResults中。AssemblyESRI.ArcGIS.ADF.Tasks.dll;ClassESRI.ArcGIS.ADF.Tasks.SearchAttributesTaskJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_task.js.display_floatingpanel.js4、QueryAttributesTask控件QueryAttributesTask控件能夠讓用戶確切定義一個字段的值,該控件提升了SearchAttributesTask控件的功能,SearchAttributesTask找到的時候使用關(guān)系操作符是like,而QueryAttributesTask字段可以是“=”、“>”、“l(fā)ike”等操作符,查詢的結(jié)果與SearchAttributesTask相似。AssemblyESRI.ArcGIS.ADF.Tasks.dll;ClassESRI.ArcGIS.ADF.Tasks.QueryAttributesTaskJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_task.js.display_floatingpanel.js

在設(shè)置查詢字段的時候,可以自定義查詢字段。單擊“Add”菜單,系統(tǒng)彈出查詢字段條件編輯對話框,開發(fā)人員可以根據(jù)實際情況來設(shè)置查詢條件。5、GeoprocessingTask控件

該控件利用GeoprocessingResourceManager控件數(shù)據(jù)處理服務(wù)來執(zhí)行空間處理服務(wù)。GeoprocessingTask控件根據(jù)用戶的輸入?yún)?shù)來執(zhí)行空間處理,并把處理結(jié)果顯示在TaskResults中。AssemblyESRI.ArcGIS.ADF.Tasks.dll;ClassESRI.ArcGIS.ADF.Tasks.GeoprocessingTaskJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_task.js.display_floatingpanel.js6、FindAddressTask控件

該控件利用GeocodeResourceManager中地理編碼來執(zhí)行地理編碼操作,地理編碼是一個地理描述轉(zhuǎn)變?yōu)榈貓D的x、y坐標(biāo)。FindAddressTask控件把用戶輸入的地理描述匹配到地址庫中,結(jié)果以ADO.NET的DataSet顯示在TaskResults中。AssemblyESRI.ArcGIS.ADF.Tasks.dll;ClassESRI.ArcGIS.ADF.Tasks.FindAddressTaskJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_task.js.display_floatingpanel.js7、FindPlaceTask控件

該控件利用提供地名搜索ArcWebServices。FindPlaceTask控件包括一個文本框用來輸入地名,結(jié)果以ADO.NET的DataSet顯示在TaskResults中。使用FindPlaceTask時必須使用ArcWebServices的賬號。AssemblyESRI.ArcGIS.ADF.Tasks.dll;ClassESRI.ArcGIS.ADF.Tasks.FindPlaceTaskJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_task.js.display_floatingpanel.js8、PrintTask控件

該控件顧名思義是打印地圖的控件。PrintTask控件把當(dāng)前Map控件顯示的圖片嵌入到一個打印網(wǎng)頁中去,可以設(shè)置打印文檔的字頭、圖片大小、圖例等。AssemblyESRI.ArcGIS.ADF.Tasks.dll;ClassESRI.ArcGIS.ADF.Tasks.PrintTaskJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_task.js.display_floatingpanel.js9、TaskResults控件

該控件用來顯示其他Task操作結(jié)果,它以ADO.NET的DataSet形成存儲,以TreeView形式顯示。TaskResults控件提供異步刷新的放大、平移以及高亮度顯示選中的對象,也可以在結(jié)果集刪除選擇的對象。AssemblyESRI.ArcGIS.ADF.Web.UI.WebControls.dll;ClassESRI.ArcGIS.ADF.Web.UI.WebControls.TaskResultJavaScriptlibrariesdisplay_common.js,display_dotnetadf.js,display_TaskResults.js.display_treeviewplus.js,display_contextmenu.js(四)其他控件下面的控件與地圖顯示沒有直接的關(guān)系,但在ArcGISServer應(yīng)用程序中經(jīng)常會用到。1、FloatingPanel控件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論