一 寫在前面的話
? 首先我就是gis程序員,也在迷惘,希望大家指點。
?
??作為某大學地理系本科專業畢業學生,我慶幸沒繼續"生造"考研.在gis,it行業編程混幾年,唯一感受是程序員不是人干的活,gis程序員不是正常人干的活.
.難啊!

? 可能以下言語中太多個人色彩,很多內容也是猜想,查證對我沒什么意義.但目的是讓搞gis的技術人員能走好.
? 想拍就拍吧

?
二 國內gis行業狀況
??幾近被高校,研究部門,政府壟斷的行業.先提個醒,如果你已經在這個行業混了,跳潮前千萬慎重,很容易踩雷的,炸你個幾年緩不過氣來.

?
中國gis行業的發展還是要感謝這些老前輩的,尤其是幾個國產gis軟件,爭光不少(可惜偶一個也沒有用過).不過,感覺它們的優勢也在逐漸減少,可能是
產品發展跟不上用戶需求,可能是技術創新完全來自"抄襲"過外軟件,最大問題可能是它們核心技術的close,核心技術人員的太過穩定限制的發展.當然在
如此透明,高速發展的it行業里,憑些老教授和在它們體系下培養的理論博士生,發展也是很艱難的.
? 舉幾個例子,國產linix,還有什么wps....,可能中國整個it也都有這種問題.
??可能你就是從這些機構"生造"出來的一員,想想你碩士,博士干了些什么.
? 我在一級***上發表了n篇論文;
? 我對***軟件了如指掌;
? 我開發了某國產gis軟件的**模塊;

慘點的GGMM也就每天搞些數字化,整理整理數據混個文憑.我不知道你們畢業了都去干嗎?
?
三 你能去哪就業
? 沒有調查,我也發發言.
? 政府事業單位:不到博士你休想,沒有關系休想,沒有嘴皮子休想,不懂特有的仕途國情休想,休想......,
? 留校,繼續深造:如果你你是這種人,你不會看到這了.兩字: 難啊!
? 出國:看你和導師關系,以及你導師的高度了.幾率很小啊.
? 轉行:我把這里被的行業特指與IT相關的.恭喜你,有先見之明啊!
? 去搞gis的公司:
,歡迎加入.希望我們未來美好.

?
四 你懂編程嗎
?
如果你和我一樣來到搞GIS的公司.那你只能從coder做起.在這我不是貶低coder,是怕你貶低.可能你會說,我可以做售前,可以做銷售,可以做數
據.從gis公司結構上來看,這些職位你可能不符合,你受的教育,你的知識結構限制你去做銷售,而售前你貧乏的行業知識決定你需要重新認識一門行業,而這
些行業如水利,森林,土地,房產....都是政府部門,及其復雜.做數據的給不了你幾個錢.
?
如果你是博士畢業,你也愿意來公司發展.那可能會給你項目經理之類的職位,但你很快就會發現,現實會讓你失望的.你的位置會很尷尬,你對IT的了解,決定
你底下的人會很不服你,領導會覺得你技術不行.試問你懂j2ee,.net嗎?你能寫出象樣的設計文檔嗎?不會寫代碼的上司你好受嗎?你在公司發展空間大
嗎?.....可能這類人不多!
? (請允許我沒做全面調查而做以下發言,我只是讓大家更好發展)
? (請允許我沒做全面調查而做以下發言,我只是讓大家更好發展)
? 看到這的估計就是那些以coder身份來到公司的.回到標題,你懂編程嗎?以上是我常見的幾類gis程序員。
? 擅長使用各種數據處理軟件,略懂vb或vc.
? 用vb/vc用mo,mapx等控件開發個小軟件。
? 熟悉tab,mif,shape...數據結構,能做數據轉換。
? 能用asp用arcims,mapxtreme模板開發個小webGis.
? 能用asp.net基于arcims,mapxtreme,super IS開發webgis.
?
? 可能是常見的幾種gis程序員,他們的代碼我也看過一些。都有一個特點。如:他們學習vb是從mo或mapx提供的例子開始的,真正vb,vc他們根本不 是很熟悉。如果好點,能用asp開發webgis,但也是在vb基礎上開始接觸web的??赡茏约号c,會接觸.net,J2ee,但無論那樣。都是為了gis而學習一門語言的。
? 引出我的主題:
? 我們gis程序員的編程能力,與計算機科班出生的人,各方面都有差距。
? 因為你的編程能力差,可能在某個職位競爭時,你會輸給不懂gis的程序員。
? 擅長使用各種數據處理軟件,略懂vb或vc.
? 用vb/vc用mo,mapx等控件開發個小軟件。
? 熟悉tab,mif,shape...數據結構,能做數據轉換。
? 能用asp用arcims,mapxtreme模板開發個小webGis.
? 能用asp.net基于arcims,mapxtreme,super IS開發webgis.
?
? 可能是常見的幾種gis程序員,他們的代碼我也看過一些。都有一個特點。如:他們學習vb是從mo或mapx提供的例子開始的,真正vb,vc他們根本不 是很熟悉。如果好點,能用asp開發webgis,但也是在vb基礎上開始接觸web的??赡茏约号c,會接觸.net,J2ee,但無論那樣。都是為了gis而學習一門語言的。
? 引出我的主題:
? 我們gis程序員的編程能力,與計算機科班出生的人,各方面都有差距。
? 因為你的編程能力差,可能在某個職位競爭時,你會輸給不懂gis的程序員。
? 如果公司給我分配兩個程序員,我會要編程能力好的,而懂不懂gis無所謂。
? 我們公司技術總監也是這個態度。
? 一個gis公司的部門經理也親口對我說了這個事實,他們部門很少懂gis的人。
? 讓個懂編程的人熟悉gis軟件很容易。但讓懂gis的人提高編程水平很難。
? 我們公司技術總監也是這個態度。
? 一個gis公司的部門經理也親口對我說了這個事實,他們部門很少懂gis的人。
? 讓個懂編程的人熟悉gis軟件很容易。但讓懂gis的人提高編程水平很難。
五 我們該怎么辦
? 現在我也感覺到GIS程序員很尷尬。國內gis行業的不景氣,新的地圖形式(google maps mapbar,mapabc...)與傳統gis的競爭,國內教育機構培養的GIS專業人員與IT行業的脫節......
? 還好,現在行業對既懂GIS,編程能力水平不錯的專業人員需求很大,而且都是一定的職位。
?
? 所以我們最既緊要的事是提高自己計算機能力,主動學習新的技術,而不是被動的跟的GIS軟件的支持學習新技術。
? 現在我也感覺到GIS程序員很尷尬。國內gis行業的不景氣,新的地圖形式(google maps mapbar,mapabc...)與傳統gis的競爭,國內教育機構培養的GIS專業人員與IT行業的脫節......
? 還好,現在行業對既懂GIS,編程能力水平不錯的專業人員需求很大,而且都是一定的職位。
?
? 所以我們最既緊要的事是提高自己計算機能力,主動學習新的技術,而不是被動的跟的GIS軟件的支持學習新技術。
?
六 技術方向
? 1 gis數據,gis分析是大數據量,大運算的操作。web,webservice的發展弱化了桌面GIS的應用。對于跨平臺的java語言,對GIS來說,無疑是現階段最佳的編程語言。
? 2 ajax技術。現在真火的技術。google在這無疑走在前面,google maps更對gis行業影響巨大。傳統webgis的開發更需要ajax對用戶交互來次創新。 arcims模板(javascript),arcgis server(JSF)都做了些嘗試。無疑ajax是最合適的。
? 3 python.如果你有vb,vc基礎。python腳本語言你該關注了。arcgis好多模塊改用python實現的。
以上都是我個人的一些感想,由于水平有限,希望批評,共同提高。
? 1 gis數據,gis分析是大數據量,大運算的操作。web,webservice的發展弱化了桌面GIS的應用。對于跨平臺的java語言,對GIS來說,無疑是現階段最佳的編程語言。
? 2 ajax技術。現在真火的技術。google在這無疑走在前面,google maps更對gis行業影響巨大。傳統webgis的開發更需要ajax對用戶交互來次創新。 arcims模板(javascript),arcgis server(JSF)都做了些嘗試。無疑ajax是最合適的。
? 3 python.如果你有vb,vc基礎。python腳本語言你該關注了。arcgis好多模塊改用python實現的。
以上都是我個人的一些感想,由于水平有限,希望批評,共同提高。
?
現在是知識爆炸的年代!!
如果有扎實的基礎~不斷的學習~你才不會被淘汰
跟著時代進步的人~還擔心沒有地方去~
哈哈~本人也給你鼓鼓氣!
要是不想學,那就不做技術人員
要學就學最簡單~基礎的(這個很重要!)
一個人的編程能力的確需要時間積累才能夠提高,在GIS領域,做一般二次開發及應用不需要多少行業知識,只要編程能力強就行,但更深層次的研究與創新,還是需要豐厚的理論知識來支撐,畢竟一個行業的發展還是需要理論來推動的。
現在答辯完了,還有畢業之前一堆的雜事,我也的確需要像zkjbeyond說的那樣,惡補一下程序設計的知識了。
我始終相信,在gis屆混個幾年的,多少會有些共鳴滴。
我搞GIS那會高校GIS還剛開,沒有畢業生呢
不過今年我專搞ERP了,呵呵
1 gis數據,gis分析是大數據量,大運算的操作。web,webservice的發展弱化了桌面GIS的應用。對于跨平臺的java語言,對GIS來說,無疑是現階段最佳的編程語言。
----------------------------------------------------------------
在GIS行業,C/S架構仍然是主流的應用。你也說了,gis分析是大數據量,大運算的操作,而大部分的WEBGIS產品無法滿足這樣的要求,速度慢,功能弱,何況現在已經有一股懷疑WEB的潮流,特別是在GIS行業,很可能會找到一種介于C/S和WEB之間的模式。java從來沒有成為GIS行業最佳的語言,以后也不會,也許做二次開發可以考慮,低層開發用JAVA的很少。
-----------------------------------------------------------------
2 ajax技術?,F在真火的技術。google在這無疑走在前面,google maps更對gis行業影響巨大。傳統webgis的開發更需要ajax對用戶交互來次創新。 arcims模板(javascript),arcgis server(JSF)都做了些嘗試。無疑ajax是最合適的。
-----------------------------------------------------------------
現在火的東西,不一定以后也火。五、六年前,Dephi、C++ Builder也很火,8、9年前,PB也很火,現在呢?ArcIMS采用的是CGI的技術,ArcGIS Server采用的COM/DCOM的技術,二次開發可以用ajax,但是二次開發的工具天天在換,昨天用VB,今天用C#,不要以為那就是GIS的全部。
-----------------------------------------------------------------
3 python.如果你有vb,vc基礎。python腳本語言你該關注了。arcgis好多模塊改用python實現的。
-----------------------------------------------------------------
arcgis的AO、ArcEngine.MO等組件都是用MFC實現的,我有兩條證據可以證明。而Engine的那套.NET組件無非是在Engine COM組件基礎上通過托管C++包裝成的,只是加了一個.NET的殼。如果是刪除掉Bin下MapControl.ocx,你在DOTNET下的ESRI.ArcGIS.MapControl.dll還能管用嗎?
1 gis數據,gis分析是大數據量,大運算的操作。web,webservice的發展弱化了桌面GIS的應用。
--------------------------------------------------------------
可能你們誤解我的意思了.我沒說桌面gis將不存在,或怎么樣.但有個趨勢大家注意.大數據量的分析,我不一定要放在我本地機器上做,我只需要的是一個結果,gis servervice arcgis server就是未來,甚至arcims也是這種模式,我們客戶端需要的只是個圖片而已,但mapxtreme,supermap is不是,因為他們沒有arcims規范.arcgis server我是看好的,可能太前衛了. 這種dcom的遠程調用只是一種方式,arcgis server 也提供了webservice,EJB的方式遠程調用.C/S這種模式肯定會被淘汰的.象mapinfo,arcmap這中桌面應用只能用與高級專業人員,而c/s定制或二次開發也只是小數據量的分析,查詢功能.這些用mapx,mo,arcengine無疑是最簡單的.但這些簡單的功能"b/s"也是可以實現,并且通過遠程調用,復雜的功能也可以實現.
為什么b/s我打引號,因為vb,vc,java,....也可以調用這些遠程服務的.
現在什么都流行企業級服務..net,java無疑是這方面的佼佼者,j2ee可能做的更好.
2\
現在火的東西,不一定以后也火。五、六年前,Dephi、C++ Builder也很火,8、9年前,PB也很火,現在呢?ArcIMS采用的是CGI的技術,ArcGIS Server采用的COM/DCOM的技術,二次開發可以用ajax,但是二次開發的工具天天在換,昨天用VB,今天用C#,不要以為那就是GIS的全部。
我們難道可以不跟著潮流走嗎?那現在你還學PB嗎?Dephi呢,C++ Builder,vb呢.Borland公司都快沒了?難道Borland不想dephi還處于領導地位嗎?技術人員不跟風你就要淘汰!這是事實!誰也不想接受,但誰也必須接受的事實.ajax技術.并不是新技術.javascript,dom,css難道誰沒聽過.建議大家關注關注,ibm,sun,ms,oracle....關注的多了,也不缺咋一小個.ArcGIS Server采用的COM/DCOM的技術,的確,我們可以把arcgis server當成黑盒,如果換成別的技術,我相信對開發人員的接口不會變動太大. 難道你不知道ao用python重寫了很多模塊嗎?
3 arcgis的AO、ArcEngine.MO等組件都是用MFC實現的,我有兩條證據可以證明。而Engine的那套.NET組件無非是在Engine COM組件基礎上通過托管C++包裝成的,只是加了一個.NET的殼。如果是刪除掉Bin下MapControl.ocx,你在DOTNET下的ESRI.ArcGIS.MapControl.dll還能管用嗎?
估計你根本不了解python,以及現在它在gis界的地位. 另外COM模型與vb,vc,borland c沒關系.MFC就更沒關系了.COM組件模型也不只是在window下才有.
你也提到.net的托管c++.那你也應該知道 .net對vc6的影響吧.現在vb.net已經把vb6搞趴了,vc6日子也不好過啊.
http://events.esri.com/uc/QandA/index.cfm?fuseaction=printall&ConferenceID=DA494555-C04F-A070-2407CB34C9CB9287
引用:
Q: What are your plans for use of Python in the geoprocessing framework?
Python is a popular open source scripting language. At ArcGIS 9.2, we have strengthened the relationship between Python and the geoprocessing framework and are urging our users to think of Python as a key scripting language for ArcGIS. It is a very good upgrade for AML.
http://search.esri.com/results.cfm?q=python&ho=10
有興趣可以看看上面這個搜索結果.
我同學做畢業設計算一個結果用一臺高檔pc算了3天.
可能你同學要得到的是不到幾K的結果.
你想想如果把這些計算放到高性能的服務器上運算,而你同學只要這個結果還需要三天嗎?
比較同意 tangyzh 最重要的是行業經驗和對行業的理解,這是往往是年輕人無法逾越的。
我這篇文章本來不想擴展到行業去.
但這個行業可能是水利,通信,森林,土地,房地產......
如果你沒有變成門檻,這些行業知識你很難接觸.
csdn開戰了。有興趣看看。
我非常支持這種說法,現在的webgis功能之強大完全可以和C/S版相媲美,ArcGIS Server的空間分析功能、AO的實現以及大量的模版使用,再加上Ajax技術,從功能到表現上簡直就是一個桌面程序。再看一看google map、mapbar這些已經相對成熟的webgis,試想一下你是愿意下一個桌面地圖安裝程序還是直接在瀏覽器打開它們的網址直接瀏覽呢?
哈,
GIS程序員真的很難做,主要現在國內的GIS氣氛還很亂。根本跟不上國外的風。
至于技術,很難說。技術的發展趨勢是最難說的。不過,我們國內缺少的就是Google Map那樣犀利的挖掘眼光。AJAX是老技術,結果被GoogleMap一挖就變成最火的技術了。呵呵。這就是差距?。〗涍^幾年的跟風,我們的思想已經被com,.net,j2ee等等禁錮了??蓱z啊~
另外看不起Python的,有一天會看不懂整個行業的。從某種意義上講,Python和.net,Java是同一等級的,而且具備兩個流行平臺不具備的優勢,一旦跌入Python的漩渦,你就會看得更清楚。為什么ESRI要用Python重寫很多東西?為什么微軟計劃在Visual Studio中加Python?為什么SUN開始重視Ruby?
IT已經開始混亂了。
2.學GIS的要么就當老師(高校博士畢業去個2流本科還行,過幾年就只能去中專了)
3.要么去規劃局國土局政府事業單位。呵呵,政治和女人是最骯臟的東西,可是男人最喜歡玩。有人說看性格是不是適合,可這年頭,本科GIS能找事業單位的,除了老爸有關系或干脆考公務員,找不出其它理由。其實能找個這樣單位確實比什么鳥IT公司好,真的!慢慢混吧兄弟!
4.依托本行搞測繪,搞工程監理,轉土木 恭喜您,看透了一切了。呵呵。前途無量(不是亮哦)啊。就是苦了點,但是這些傳統行業和IT不能比的,越干越老越吃香,和IT越老越慘不可同日而語。
總結:將來我兒子高考,我他媽絕對不讓他讀IT,讀GIS,除了傳統行業,什么都不讓他讀!中國高校毀了一代人啊!
其實我本人并不看好搞計算機的會點編程開發就擠到這里面來,給我們本身科班出身的造成了極大的就業壓力,說白了就是搶了我們的飯碗。
如果說GIS只是一門技術,計算機那就更不必說了。
如果一個GIS公司更寧愿招用計算機的人來編程,在短期內也許的確可以創造更快更多的價值利潤,當然了這個人也必須很優秀才行。
專業與業余與非專業還是很有區別的!
我大學四年學了總共七八十多門專業的課程,即便全部忘光了,但是我在需要的時候我能知道我需要查找的資料在哪里,而且很快速而且還能知道它和哪些知識點之間的關聯,這些學計算機的能理解的了嗎?大學專業不一樣,思維方式都會有差異的。
現在不光是學計算機,數學的,農業的,機械的等等還有很多也來做GIS開發。
但是真正最底層的只有專業出身的才能做。而且最好是專業出身的!
如果一個公司專注于做些二次開發,搞搞項目賺點小錢的話就別開口閉口GIS了
這些本身沒什么太多的技術含量。
樓主如此悲觀不太厚道哦,雖然也做了這么多東西也寫了這么多論文。
既然本身這么優秀,我還是覺得強勢點好
怎么說,長遠點看我們專業還是數字地球的專業支柱呢
別談什么測繪土木,無非都是重復繁瑣的勞動罷了。
不過還是要謝謝大家的. 我再回去想想要不要找答案吧
估計你根本不了解python,以及現在它在gis界的地位. 另外COM模型與vb,vc,borland c沒關系.MFC就更沒關系了.COM組件模型也不只是在window下才有.
你也提到.net的托管c++.那你也應該知道 .net對vc6的影響吧.現在vb.net已經把vb6搞趴了,vc6日子也不好過啊.
http://www.hxlysw.com/about
引用:
Q: What are your plans for use of Python in the geoprocessing framework?
Python is a popular open source scripting language. At ArcGIS 9.2, we have strengthened the relationship between Python and the geoprocessing framework and are urging our users to think of Python as a key scripting language for ArcGIS. It is a very good upgrade for AML.
http://www.t1xy.com/limi/index.htm
有興趣可以看看上面這個搜索結果.
其實我本人并不看好搞計算機的會點編程開發就擠到這里面來,給我們本身科班出身的造成了極大的就業壓力,說白了就是搶了我們的飯碗。
如果說GIS只是一門技術,計算機那就更不必說了。
如果一個GIS公司更寧愿招用計算機的人來編程,在短期內也許的確可以創造更快更多的價值利潤,當然了這個人也必須很優秀才行。
專業與業余與非專業還是很有區別的!
我大學四年學了總共七八十多門專業的課程,即便全部忘光了,但是我在需要的時候我能知道我需要查找的資料在哪里,而且很快速而且還能知道它和哪些知識點之間的關聯,這些學計算機的能理解的了嗎?大學專業不一樣,思維方式都會有差異的。
現在不光是學計算機,數學的,農業的,機械的等等還有很多也來做GIS開發。
但是真正最底層的只有專業出身的才能做。而且最好是專業出身的!
如果一個公司專注于做些二次開發,搞搞項目賺點小錢的話就別開口閉口GIS了
這些本身沒什么太多的技術含量。@http://www.scshlx.com/About.asp?id=6
專業與業余與非專業還是很有區別的!
我大學四年學了總共七八十多門專業的課程,即便全部忘光了,但是我在需要的時候我能知道我需要查找的資料在哪里,而且很快速而且還能知道它和哪些知識點之間的關聯,這些學計算機的能理解的了嗎?大學專業不一樣,思維方式都會有差異的。@http://www.hxlysw.com/solution/cat-1.html