搬家自http://blog.csdn.net/zkjbeyond/?比較老的內(nèi)容了
幸在arcims mapxtreme兩大平臺(tái)上做過(guò)開(kāi)發(fā),談?wù)剛€(gè)人感受
?? 拋開(kāi)arcgis9 的 arcgis Server.先說(shuō)arcIms開(kāi)發(fā)。(以Image Services為例,ArcMap Image Services我估計(jì)在arcgis9中,著重在arcGIS Server體現(xiàn))
???
arcIms的核心是AcrXML,也可以說(shuō)是圍繞著ArcXML進(jìn)行的開(kāi)發(fā),如果熟悉了ArcXML,估計(jì)關(guān)于arcIms的開(kāi)發(fā)就掌握了60%.
象htmlview,javaconnect,Activex等各種連接,只是對(duì)ArcXML的一個(gè)封裝。
?
ArcIMS服務(wù)器,其實(shí)相當(dāng)于一個(gè)webservice.我們輸入一定格式的參數(shù),他處理后就返回相應(yīng)的結(jié)果。而這個(gè)格式就是ArcXML。(其實(shí)
ArcXML還是ims的配置文件,由author生成。)ARCXML包括內(nèi)容豐富,還在不斷增強(qiáng)。 我們常用的請(qǐng)求為Using
GET_IMAGE and IMAGE with Image Services,Using GET_FEATURES and FEATURES
分別得到圖象和屬性值。
?
????
對(duì)于我們二次開(kāi)發(fā)來(lái)說(shuō),我們只是不斷的組合請(qǐng)求的ArcXML,得到我們想要的結(jié)果。然后顯示這些結(jié)果。 我把這個(gè)開(kāi)發(fā)過(guò)程分為 GIS業(yè)務(wù)應(yīng)用 和
WEB編程。 比如:北京工交網(wǎng): 其實(shí)就是組合了幾個(gè)ARCXML
,然后顯示出來(lái)。IT公司W(wǎng)EB編程肯定沒(méi)問(wèn)題,所以現(xiàn)在GIS行業(yè)焦點(diǎn)在如何最大的挖掘需求,挖掘行業(yè)應(yīng)用。如何把行業(yè)需求用GIS軟件提供的功能表達(dá)
出來(lái)。(難啊!)作了兩年GIS,做的基本都是放大,縮小。業(yè)務(wù)上,在中國(guó)政府機(jī)構(gòu),公司很難提出什么應(yīng)用來(lái)。(急需一些標(biāo)準(zhǔn))。估計(jì)以后是個(gè)方向。(我
要有錢,專門做GIS應(yīng)用行業(yè)標(biāo)準(zhǔn))
?
??
我較喜歡htmlview,
用他可以作出很漂亮的界面(有段時(shí)間我認(rèn)為做GIS和做美工性質(zhì)一樣)。很多工作在客戶端。但安全性低,都用javascript實(shí)現(xiàn)。至于
javaConnect等,更符合OOP,但是1、因?yàn)閣ebGIS系統(tǒng)有很多狀態(tài),比如地圖的比例,活動(dòng)層的選擇等要保持,要保持這些狀態(tài),必須把這些
放到緩沖中,那對(duì)于大用戶量來(lái)說(shuō),性能是個(gè)大問(wèn)題。2、javaconnect和mapxtreme很類似,
改變地圖要刷新MAP對(duì)象,把MAP對(duì)象放到SESSION中。(急劇影響性能,訪問(wèn)量大了)
所以狀態(tài)要保持,對(duì)web服務(wù)器也是個(gè)挑戰(zhàn)。對(duì)很酷的地圖操作也是個(gè)挑戰(zhàn)。3、個(gè)人覺(jué)得javaconnector類庫(kù)的設(shè)計(jì)好象不是面向開(kāi)發(fā)人員的,完
全以地理分類的概念分組,打包。(package??Map對(duì)象應(yīng)該分成幾個(gè)對(duì)象,弄的太復(fù)雜了,對(duì)不同的請(qǐng)求,有些屬性是空的。)
(現(xiàn)在我正在研究用javaconnector開(kāi)發(fā)高性能ims webGIS)
在ArcGIS9
中,ESRI公司有了新的webGIS編程模型,地理分析可以在web上實(shí)現(xiàn)(當(dāng)然IMS還有),主要針對(duì)J2ee 和 .Net平臺(tái)。 新內(nèi)容有
1、由arcgis?? Server管理AO對(duì)象 2、可以遠(yuǎn)程調(diào)用這些AO對(duì)象3、有個(gè)ArcObject Develop
FrameWork(ADF) 和 運(yùn)行時(shí),支持J2ee,.net平臺(tái),可以開(kāi)發(fā)webgis.4、webservice,EJB支持
看了一下
文檔,焦點(diǎn)在對(duì)象的遠(yuǎn)程調(diào)用 和 對(duì)象狀態(tài)的保持 兩方面。 第一點(diǎn),性能問(wèn)題,沒(méi)用過(guò),但估計(jì)懸,
但AO對(duì)象強(qiáng)大的功能通過(guò)遠(yuǎn)程對(duì)象訪問(wèn)搬到web上來(lái)了,值得期待。 第二點(diǎn):對(duì)象狀態(tài)保持,
和mapxtreme一樣,有對(duì)象池了概念。和EJB的有狀態(tài)bean
無(wú)狀態(tài)Bean類似。和有狀態(tài)Bean一樣,對(duì)象狀態(tài)保持問(wèn)題好象解決的不好。但gis大多為有狀態(tài)對(duì)象。麻煩啊。狀態(tài)保持方案 好象有?
shallowly stateful application 和 deeply stateful Web
application。需要很大的編程技巧。 個(gè)人感覺(jué),.net在這開(kāi)發(fā)還好。J2ee的JSF不知道什么時(shí)候能成熟啊。
現(xiàn)在在自學(xué)JAVA請(qǐng)問(wèn)JAVA開(kāi)發(fā)GIS諸如放大縮小類的功能用些什么插件呢??
用VB+MAPX可以實(shí)現(xiàn)這些功能.
對(duì)于webgis的表示層,用一個(gè)框架是多余的.因?yàn)榇蠖喽际莏avascript的操作.地圖顯示最重要的就是后臺(tái)刷新.
對(duì)于JSF,我第一次接觸就是arcgis server9中的例子,那時(shí)候sun jsf規(guī)范還沒(méi)有最后完成.我想修改它提供的例子,太費(fèi)事了,前后臺(tái)都的熟悉,還得修改他提供的map控件.
非gis應(yīng)用,我還是webwork2.沒(méi)什么替代的.等等看那個(gè)strutsT的東西吧
我想的不實(shí)現(xiàn)底層gis的內(nèi)容。
主要想把幾個(gè)新技術(shù)和幾個(gè)開(kāi)源的項(xiàng)目集成到webgis開(kāi)發(fā)中。
用web2實(shí)現(xiàn)標(biāo)準(zhǔn)的前臺(tái)界面。
用ajax技術(shù)實(shí)現(xiàn)前后臺(tái)交互。(初步定了用dwr1.1)。可能用些webwork2中的內(nèi)容。
gis軟件用arcims.
業(yè)務(wù)邏輯用spring管理。實(shí)現(xiàn)一個(gè)ImsTemlate(ims javaconnector)封裝與ims的通信。以后可能擴(kuò)展(mapinfoTemlate,arcgisserverTemlate).
我準(zhǔn)備以開(kāi)源項(xiàng)目形式發(fā)布。主要是自己練手,項(xiàng)目應(yīng)用門檻會(huì)比較高,沒(méi)些java能力可能用不了。
開(kāi)發(fā)平臺(tái)是arcims,所以現(xiàn)在先了解一下了。
以后還請(qǐng)多指點(diǎn) 。
有興趣表加我
MSN:redan_9@hotmail.com
對(duì)你說(shuō)的這幾個(gè)方面很感興趣,我現(xiàn)在也正準(zhǔn)備做這樣一個(gè)東西
本來(lái)打算前端用applet來(lái)做,但是看了你的blog之后,
也想用ajax來(lái)做前端展現(xiàn),而且速度也可以保證
我對(duì)struts,spring,hibernate都比較熟悉,都作過(guò)幾個(gè)項(xiàng)目
但是在arcims這里只是稍有了解,
希望能夠多多交流!
怎么才能聯(lián)系到你呢?
我的mail是freazingman@gmail.com
加我嘛
我在administrator建完Image server,最后通過(guò)designer發(fā)布地圖后,現(xiàn)在能看到地圖了,但我就不知道怎樣進(jìn)行開(kāi)發(fā)
我現(xiàn)在做的是一個(gè)交通項(xiàng)目,要把地圖上的一個(gè)點(diǎn)用經(jīng)緯度標(biāo)出來(lái),看了一些文檔還是不知道怎么開(kāi)發(fā)。。。我是做jsp開(kāi)發(fā)的
怎么能少了我呢!
我是學(xué)gis的,想學(xué)arcims開(kāi)發(fā),可以加我嗎?
twinsvicki@126.com