一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

ArcIMS--基于WEB的GIS開發(fā)

 Frank_Chia 2010-01-01
    進(jìn)行ARCIMS的二次開發(fā),必須首先理解ArcIMS的原理:
    ArcIMS是一個基于B/S結(jié)構(gòu)的服務(wù),它與我們常常談?wù)摰腁rcMap等程序完全不同。在安裝完IMS后,我們必須先使用Author設(shè)計一個要發(fā)布 的地圖,在這個工具里面可以引入數(shù)據(jù),進(jìn)行著色,標(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)存中的一段進(jìn)程,我們可以將它理解為一個運行在后臺而沒有界面管理的程序——這種程序很多,MYSQL、 ORACLE都是服務(wù),我們不打開他們的管理界面程序照樣可以使用這些服務(wù)。對這些服務(wù),我們需要做的是監(jiān)聽它們的默認(rèn)端口,看看它接收和返回什么信息。

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

    建立了一個數(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ù)接收到請求 后,會進(jìn)行處理,它除了產(chǎn)生一張圖片,還會沿反向路徑傳遞出ArcXML響應(yīng),而我們的頁面程序,在接收到響應(yīng)后,需要對這個響應(yīng)進(jìn)行解析,如果是查看地 圖,就是解析出新圖片的地址,然后將它傳給一個圖片對象,這樣,圖片就改變了,我們看起來地圖就被放大了。

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


    ArcGIS Server的編程模型

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

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

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

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

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

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

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

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

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

    使用ArcGIS Server編程時將會涉及到Server Context、Pooling、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ǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美日韩亚洲国产精品| 国产欧美一区二区久久| 国产精品国产亚洲看不卡| 国产不卡在线免费观看视频| 欧美三级不卡在线观线看| 免费大片黄在线观看国语| 免费观看在线午夜视频| 日本久久中文字幕免费| 亚洲一级二级三级精品| 伊人久久五月天综合网| 中文字幕日韩精品人一妻| 亚洲一区二区三在线播放| 精品香蕉国产一区二区三区| 极品少妇一区二区三区精品视频 | 亚洲中文字幕亲近伦片| 九九热视频免费在线视频| 欧美精品亚洲精品日韩专区| 日韩精品你懂的在线观看| 国产成人亚洲欧美二区综| 在线观看国产成人av天堂野外| 麻豆一区二区三区在线免费| 久久大香蕉精品在线观看| 日韩视频在线观看成人| 国产肥女老熟女激情视频一区| 熟女一区二区三区国产| 欧美人与动牲交a精品| 欧美一级特黄大片做受大屁股| 精品国产亚洲一区二区三区| 麻豆蜜桃星空传媒在线观看| 在线观看日韩欧美综合黄片| 欧美字幕一区二区三区| 久久国产精品热爱视频| 日韩人妻有码一区二区| 日韩人妻毛片中文字幕| 国产精品伦一区二区三区四季| 亚洲天堂国产精品久久精品| 日韩性生活片免费观看| 亚洲妇女作爱一区二区三区| 精品人妻久久一品二品三品| 日韩国产精品激情一区| 免费在线播放不卡视频|