国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
ArcIMS--基于WEB的GIS開發(fā)
    進行ARCIMS的二次開發(fā),必須首先理解ArcIMS的原理:
   ArcIMS是一個基于B/S結(jié)構(gòu)的服務(wù),它與我們常常談?wù)摰腁rcMap等程序完全不同。在安裝完IMS后,我們必須先使用Author設(shè)計一個要發(fā)布的地圖,在這個工具里面可以引入數(shù)據(jù),進行著色,標(biāo)注,顯示提示文本等信息,它建構(gòu)的地圖將會在將來的地圖發(fā)布中出現(xiàn)。當(dāng)我們完成一幅地圖的設(shè)計后,將把它保存為一個AXL文件,這是一個ArcXML文件,它里面保存在許多地圖的原始信息,比如數(shù)據(jù)的來源,范圍,如何著色等等。

    生成了AXL文件以后,我們就需要建立數(shù)據(jù)服務(wù),即想辦法讓這個數(shù)據(jù)可以在網(wǎng)絡(luò)上發(fā)布。建立服務(wù)的工作是在管理器中完成的,服務(wù)有多種形式,如矢量、柵格和ArcMap服務(wù)等。服務(wù)是運行在內(nèi)存中的一段進程,我們可以將它理解為一個運行在后臺而沒有界面管理的程序——這種程序很多,MYSQL、ORACLE都是服務(wù),我們不打開他們的管理界面程序照樣可以使用這些服務(wù)。對這些服務(wù),我們需要做的是監(jiān)聽它們的默認端口,看看它接收和返回什么信息。

    ArcMap服務(wù)是一個使用MXD文件的地圖服務(wù),這是因為Author的設(shè)計能力有限,如果需要進行復(fù)雜的著色,可以使用ArcMap來設(shè)計,然后我們直接使用MXD文件來完成這項工作。這個服務(wù)不是默認安裝的。

   建立了一個數(shù)據(jù)服務(wù)后,在服務(wù)器上要干的事情都完成了一大半。接下來的工作就是產(chǎn)生一個WEB站點,用于監(jiān)聽端口以實現(xiàn)電子地圖的效果。這個工作我們即可以自己從頭編寫代碼(這就是二次開發(fā)),也可以使用IMS自己帶的設(shè)計器來設(shè)計一個站點。設(shè)計器可以使用HTML/javaSCRIPT和java兩種方法來建構(gòu)一個站點,但無論如何,這個站點都是用于監(jiān)聽相應(yīng)的服務(wù)的。

以HTML/javaSCRIPT站點為例,它是如何工作的呢。我們知道,HTML中無論如何也出現(xiàn)不了什么“動態(tài)”的效果,只有使用javaSCRIPT配合,才能有點DHTML的效果出現(xiàn),勉強出現(xiàn)一點“動”。當(dāng)我們在一個WEB站點上看地圖的時候,比如放大地圖,絕對不是說有一個特殊的控件使得地圖在縮放,而是前后出現(xiàn)了兩張不同的圖片,由于間隔時間短,使得我們有了這個“動態(tài)”的感覺。

    當(dāng)我們使用放大工具在圖片上拖曳的時候,頁面會調(diào)用一個javaSCRIPT函數(shù),產(chǎn)生一個ArcXML請求,這個請求包含了相關(guān)的信息,如希望出現(xiàn)的新圖片的范圍,數(shù)據(jù)等等。這個請求被一個表單發(fā)送到相應(yīng)的服務(wù),服務(wù)接收到請求后,會進行處理,它除了產(chǎn)生一張圖片,還會沿反向路徑傳遞出ArcXML響應(yīng),而我們的頁面程序,在接收到響應(yīng)后,需要對這個響應(yīng)進行解析,如果是查看地圖,就是解析出新圖片的地址,然后將它傳給一個圖片對象,這樣,圖片就改變了,我們看起來地圖就被放大了。

     上面簡要介紹的這些,就是XML的基本原理。實際上,XML的請求有多種,而解析方法也有很多形式,特別是所謂的“連接器”也有不同的類型,使得進行二次開發(fā)擁有多種方式,但總體而言,使用HTML/javaSCRIPT是最簡單的,也是最麻煩的。


    ArcGIS Server的編程模型

    使用ArcGIS Server編程,實際上就是利用運行在服務(wù)器上的ArcObjects編程。原來在桌面系統(tǒng)上開發(fā)ArcObjects應(yīng)用的開發(fā)人員能夠在學(xué)習(xí)遠程ArcObjects編程的規(guī)則和編程模式之后進行ArcGIS Server的應(yīng)用開發(fā)。熟悉ArcObjects編程模型的開發(fā)人員只需要使用框架(ASP.NET 和JAVA)進行Internet 編程的知識。

         ArcGIS Server有三種APIServer API,.NET Web Controls以及Java Web Controls。

Server API就是ArcObjects的對象庫。遠程ArcObjects編程與在桌面應(yīng)用中ArcObjects編程基本是一致的,需要的更多編程細節(jié)和規(guī)則是:

(1) 如何連接到服務(wù)器;

(2) 得到運行在服務(wù)器上的服務(wù)器對象;

(3) 在服務(wù)器上創(chuàng)建新的對象;

(4) 使用遠程ArcObjects編程的最佳方式。

剩下的工作就是如何使用ArcObjects的對象完成自己的工作了。ArcGIS Server對象庫包括細粒的ArcObjects對象和粗粒的ArcObjects對象,它們按功能邏輯劃分成不同的組件。具體的劃分和功能請參考軟件的聯(lián)機幫助。

    其中服務(wù)器對象是粗粒的ArcObjects對象,其運行在SOM上,在9.0版本中,提供MapServerGeocodeServer對象。服務(wù)器對象使用細粒的ArcObjects對象,應(yīng)用開發(fā)可以使用這些粗粒的服務(wù)器對象,也可以通過粗粒的服務(wù)器對象來訪問ArcObjects中細粒的對象。服務(wù)器對象可以用GIS服務(wù)器管理員提前配置生成。

    使用ArcGIS Server編程時將會涉及到Server ContextPooling、Stateful以及Stateless等概念。Server Context是服務(wù)器上下文,是運行一組服務(wù)器對象的服務(wù)器上的保留空間,由運行服務(wù)器對象的服務(wù)器管理。我們可以通過持有上下文來保持一個服務(wù)器對象活動,服務(wù)器對象就生存在服務(wù)器上下文中,通常,我們可以通過以下方式獲取一個服務(wù)器對象:

som = serverConnection.ServerObjectManager

sc = som.CreateServerContext(“usa”, “mapserver”)

so = sc.ServerObject

    釋放一個服務(wù)器對象可以通過sc.ReleaseContext來實現(xiàn)。

    池式(Pooling)的服務(wù)器對象提前被構(gòu)造和初始化,它能限制實例的個數(shù),實例能被多個會話共享,用來支持更多用戶的請求。非池式的對象每次需要重新構(gòu)造和初始化,并在返回服務(wù)器時析構(gòu),它能限制最大實例數(shù),每一個會話使用一個實例

    服務(wù)器對象可以有狀態(tài)和無狀態(tài)使用。無狀態(tài)(即只讀)使用時,可以和其他用戶、并發(fā)會話共享服務(wù)器對象。有狀態(tài)(即讀寫)使用時,不可以和其他用戶、會話共享服務(wù)器對象。因此,池式的服務(wù)器對象只能在無狀態(tài)行為中使用,非池式的服務(wù)器對象能在有狀態(tài)的行為中使用。大多數(shù)GIS Web應(yīng)用都是有狀態(tài)的,通常可以通過寫一個有狀態(tài)的Web應(yīng)用來調(diào)用無狀態(tài)的Web服務(wù)器對象。

    使用ArcGIS Server開發(fā)Web應(yīng)用之外,開發(fā)人員也可以用它來創(chuàng)建GIS Web Services。和Web應(yīng)用不一樣的地方是,Web Services是提供給其它應(yīng)用程序使用,而不是最終用戶使用。ArcGIS Server支持兩種類型的Web ServicesApplication Web ServicesArcGIS Server Web Services。Application Web Services能夠用本地的Web Server上的Web Services框架來實現(xiàn),例如ASP.NET Web Service[WebMethod]或者Java Web Service[Axis]等,此時,我們需要使用本地或應(yīng)用程序自身的數(shù)據(jù)類型作為參數(shù)或返回值來傳遞。ArcGIS Server Web Services是處理和執(zhí)行運行在GIS Server上的MapServerGeocodeServer對象,這兩個對象具有SOAP接口,能夠處理SOAP請求。ArcGIS Server Web Services能夠使用所有的ArcObjects對象類型,例如ArcObjects Geometry類型。

型。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
arcgis 概述
ArcGis Server開發(fā)Web GIS新手體驗(一)
ArcGIS Server 連接方式(ZZ)
ArcGIS10.0和ArcGIS?10.01棄用計劃
ESRI軟件家族產(chǎn)品主要功能
C#進行MapX二次開發(fā)之開篇介紹及資源匯總
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服