(以下針對于windows操作系統(tǒng).net開發(fā)環(huán)境)
ArcGIS Server是ESRI公司最新推出的服務(wù)器端品,,主要可以實(shí)現(xiàn)兩大功能:
1,、強(qiáng)大的Web GIS系統(tǒng)的開發(fā),;
2、分布式GIS系統(tǒng)的開發(fā),;
ArcGIS Server其內(nèi)核與ArcGIS Desktop和ArcGIS Engine一樣,,都是ArcObjects庫。其所謂的Web GIS,,其實(shí)無非就是用Web技術(shù)來封裝ArcObjects而已,;而分布式的開發(fā)則是通過DCOM來實(shí)現(xiàn)的。
小弟前幾個月搞了一下ArcIMS,,發(fā)覺開發(fā)起來確實(shí)痛苦啊,,整天就是折騰javascript+arcxml,郁悶死了,,聽聞有ArcGIS Server這種好東西,,稍稍了解一下,便向老板建議轉(zhuǎn)向ArcGIS Server,,老板居然同意了,。于是便開發(fā)學(xué)習(xí)了。網(wǎng)上四下里找了一下,,發(fā)現(xiàn)可用的資源非常少,,只好自己琢磨。從零開始真不容易啊,,這不,,剛上手就碰到了兩個問題,好在都已經(jīng)解決,,現(xiàn)在寫下來,,希望對和我一樣的新手有所幫助。
ArcGIS Server的安裝非常簡單,,先安裝ArcGIS Server,,然后安裝DotNet ADF,最后用ArcCatelog添加一個Server,,然后再添加一個ServerObject,,這樣就可以進(jìn)行開發(fā)了。這里的ServerObject與ArcIMS中的Service很像,,其實(shí)應(yīng)該是一個概念上的東西吧,。添加一個ServerObject需要一個mxd或pmf文件,用來保存和管理需要發(fā)布的數(shù)據(jù),。
好了,,現(xiàn)在可以開始開發(fā)了。
打開Visual Studio 2003,,打開新建項目對話框,,發(fā)現(xiàn)ESRI公司已經(jīng)為我們準(zhǔn)備好了一些ArcGIS Server Projects的模板,,包括Map Viewer Web Application,Page Layout Web Applicaiton等等,,我們就建一個Map Viewer Web Application吧,,選中它,輸入項目名稱,,然后點(diǎn)擊“確定”按鈕,,我們發(fā)現(xiàn)一個已經(jīng)包含了基本數(shù)據(jù)瀏覽和查詢功能的Web GIS程序已經(jīng)建好了。
好,,打開Default.aspx文件,,發(fā)現(xiàn)網(wǎng)頁包含一個Map組件,一個Toolbar組件,,一個TOC組件,,一個OverviewMap組件等等??磥砼cC/S開發(fā)模式下很像嘛,,爽啊。其中Map組件和OverviewMap組件有兩個必填屬性:Host和ServerObject,,就分別對應(yīng)著我們在ArcCatelog中添加的的Server和ServerObject,,輸入它。然后設(shè)置TOC組件和Toolbar組件的Buddy屬性,,OK,,大功告成!
運(yùn)行,!咦,,發(fā)生錯誤,定睛一看,,原來是訪問拒絕,,這是怎么回事呢?記得以前看到一篇文章,,說在Asp.net中使用COM組件,,經(jīng)常由于權(quán)限原因,產(chǎn)生訪問拒絕,,而ArcGIS Server本身就是對ArcObjects這些COM組件的再封裝,,看來就是這么回事了。找出這篇文章來,,原來要在Web.config中加入一行就可以了:
<identity impersonate="true" userName="Administrator" password="123456"/>
再運(yùn)行,,哇塞,,酷斃了,,一個漂亮的WebGIS展現(xiàn)在眼前,。可以瀏覽,,查詢,,圖層管理,鷹眼導(dǎo)航,,還有指北針...
(后來發(fā)現(xiàn)頁面上還一個組件叫impersonation沒用上,,看了一下它的屬性,只有一個identity,,點(diǎn)擊它,,你會發(fā)現(xiàn)...呵呵,原來這個組件就是用來干這個事的,,暈,,又浪費(fèi)了我兩個小時的寶貴時間...)
一行代碼都不用寫,爽,??墒怯趾苁洌睦餂]有底,,這個Web GIS究竟是怎樣實(shí)現(xiàn)的呢,?
【瀏覽下一條】ArcGis Server開發(fā)Web GIS新手體驗(二)