看到這個(gè)問題的前兩天,我正好看到一個(gè)大牛(GIS520社區(qū)站長)寫的經(jīng)驗(yàn)介紹。

10年的定安網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整定安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“定安網(wǎng)站設(shè)計(jì)”,“定安網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
貼下原文:
本文主要介紹小白如何成為初級(jí)WebGIS開發(fā)工程師,只適合對(duì)應(yīng)人員參考(WebGIS前端的技能要求和互聯(lián)網(wǎng)前端要求有些差距的)。后續(xù)會(huì)有中、高級(jí)WebGIS開發(fā)工程師相關(guān)文章。
程序員的職業(yè)崗位,一般的公司會(huì)根據(jù)技術(shù)能力情況區(qū)分等級(jí)。每個(gè)等級(jí)有對(duì)應(yīng)的薪資范圍。
如果不區(qū)分級(jí)別的,可能這個(gè)公司就不是以技術(shù)驅(qū)動(dòng)的公司,研發(fā)團(tuán)隊(duì)管理也不夠?qū)I(yè)。一些大公司可能會(huì)像阿里那種級(jí)別劃分,p1~p10,騰訊百度也類似。小公司可能就簡單的劃分為初級(jí)開發(fā)工程師、中級(jí)開發(fā)工程師、高級(jí)開發(fā)工程師、技術(shù)經(jīng)理、專家/技術(shù)總監(jiān)。
小白一開始的目標(biāo)就應(yīng)該定位為初級(jí)開發(fā)工程師,然后通過努力,成長為中級(jí)到高級(jí)。那么下面我介紹一下需要具備什么樣的技能才能成為一名合格的WebGIS開發(fā)工程師。
技術(shù)基本要求
1. JavaScript、CSS/HTML掌握;
2. 至少掌握ArcGIS API for javascript 或者 openlayers一種;
3. 懂mysql或oracle或postgresql一種;
4. 掌握Arcgis server或者geoserver發(fā)布地圖服務(wù)并展示;
5. 懂得Java后端語言加分(不強(qiáng)制)。
以上要求,是基于我個(gè)人經(jīng)驗(yàn)以及對(duì)一些GIS公司工作的理解。如果你都能滿足,可以隨意找webgis的開發(fā)崗位了。具體什么薪資,每個(gè)公司會(huì)有點(diǎn)區(qū)別,并且要看個(gè)人技術(shù)的總體情況。
注意我對(duì)技術(shù)的描述關(guān)鍵詞都是“掌握”,并沒有說是“熟練”,如果是熟練的話,那應(yīng)該至少是中級(jí)開發(fā)工程師了。下面我在仔細(xì)的說明這些技能如何學(xué)習(xí)和對(duì)應(yīng)初級(jí)WebGIS開發(fā)工程師的掌握程度。
1. JavaScript、CSS/HTML掌握
這里邊最重要的是html和JavaScript兩個(gè),其次是css。對(duì)webgis公司來說,系統(tǒng)頁面和美觀效果和互聯(lián)網(wǎng)的網(wǎng)站相比,有些差距,所以css這邊要求不高;解釋一下js為什么是最重要的,因?yàn)閖s是用的最多的,所有的web頁面邏輯都是用js來實(shí)現(xiàn),一般你的js能力的大小可能決定你工作的效率和所能承擔(dān)的任務(wù)難度大小。
js、css、html三者綜合起來占WebGIS崗位技術(shù)比為70%(就是滿分100分,這里占了70分,看你能拿多少了)。
對(duì)于小白,我建議就是先學(xué)習(xí)html,然后了解一下css,最后好好學(xué)習(xí)js。學(xué)習(xí)難度上,html最好學(xué),其次到j(luò)s入門容易,最后到css,css入門和學(xué)好都比較花時(shí)間的,需要慢慢來,多練習(xí)。而js入門沒啥難度,但是學(xué)好,熟練,精通就難了。
這里推薦三本書:
《JavaScript權(quán)威指南》第六版
《JavaScript高級(jí)程序設(shè)計(jì)》第三版
《CSS權(quán)威指南》第三版
初學(xué)者不宜看過多類似的書,只需要一種讀好,讀懂一本就夠了,推薦的都是最好的之一。如果在一開始看不到,可以借助一些網(wǎng)站,比如問w3cschool網(wǎng)站手冊(cè),或者慕課網(wǎng)的一些視頻教程。循序漸進(jìn),基礎(chǔ)語法掌握后,嘗試多做練習(xí)。如果不知道做什么,我?guī)湍愠鲱}。
2. 至少掌握ArcGIS API for javascript 或者 openlayers一種
作為一名合格的WebGIS開發(fā)工程師,這個(gè)技能是不可少的。但是不管是arcgis還是openlayers地圖框架,都是一個(gè)api 庫。
這里解釋一下什么是API,因?yàn)橥耆“椎娜丝赡懿涣私狻PI 可以簡單的理解為一個(gè)工具箱,里邊有錘子、釘子、螺釘、螺母等工具或零件,你做一樣?xùn)|西或者修一樣?xùn)|西需要什么工具,就找到這個(gè)工具箱,然后要用錘子就找到錘子使用就行了。這個(gè)是最簡單的比喻,實(shí)際上是有點(diǎn)區(qū)別,如果不懂得話,暫且可以這么理解。
要掌握ArcGIS API for javascript 或者 openlayers一種的前提是編程語言JavaScript過關(guān)。越熟悉越好。如果你熟悉使用JavaScript,對(duì)于ArcGIS API for javascript 或者 openlayers一種就可以做到,邊看文檔邊操作一樣的效果了。學(xué)習(xí)的話就到對(duì)應(yīng)的官網(wǎng)看文檔就夠了,官方demo也比較詳細(xì),沒有哪本書做得比官方文檔好。這里不推薦書籍。
3. 懂mysql或oracle或postgresql一種
工作上,我們可能會(huì)經(jīng)常做一些業(yè)務(wù)功能,業(yè)務(wù)簡單的可以理解為增刪改查,而這些數(shù)據(jù)的操作都是基于數(shù)據(jù)庫的。數(shù)據(jù)庫,程序員是必須要掌握熟悉的技能,基本的sql要會(huì)寫。不管什么數(shù)據(jù)庫,sql語言都很相似,一開始只需要選擇一種去學(xué)習(xí)就夠了。首選mysql或oracle。
4. 掌握Arcgis server或者geoserver 發(fā)布地圖服務(wù)并展示
這個(gè)是軟件層面的使用,真正工作上,可能發(fā)布地圖服務(wù)的工作是技術(shù)支持人員操作的,但是,說道學(xué)習(xí)上,開發(fā)人員也是必須要掌握的。
一方面,自己可以安裝軟件,然后通過學(xué)習(xí)發(fā)布地圖服務(wù),有了地圖服務(wù),自己可以在程序中調(diào)用地圖服務(wù),可以做自己的webgis系統(tǒng),編程練習(xí)等;
另一方面,只有了解了地圖服務(wù)這一層面的知識(shí)原理,你才能更好的理解到WebGIS是什么,WebGIS地圖是如何展示和工作的。
5. 懂得Java后端語言加分(不強(qiáng)制)
一些小公司可能會(huì)把WebGIS開發(fā)工程師叫做GIS開發(fā)工程師,如果你懂得Java,可能會(huì)接觸到一些后端開發(fā)的工作,接口的書寫等。
懂得一門后端編程語言,我個(gè)人覺得是比較重要的,對(duì)日后學(xué)習(xí)的理解,前后端工作流程的理解都相當(dāng)?shù)闹匾6遥憧梢宰约捍詈蠖耍约簩懬岸隧撁妫@樣就可以獨(dú)自一人完成一個(gè)網(wǎng)站。
當(dāng)你有能力一個(gè)人完成一個(gè)網(wǎng)站的時(shí)候,從數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)、后端框架搭建、接口設(shè)計(jì)編碼實(shí)現(xiàn),到前端框架搭建、前端編碼頁面實(shí)現(xiàn),整個(gè)過程你會(huì)學(xué)到很多東西。如果你懂后端了,不知道怎么開發(fā)網(wǎng)站,你可以來找我,我指導(dǎo)你去設(shè)計(jì),去實(shí)現(xiàn)。
當(dāng)然,小白建議忽略這個(gè)技能要求,因?yàn)閷W(xué)習(xí)前面的技能要花費(fèi)很多時(shí)間,日后你往更深的技術(shù)層次追求時(shí),再考慮進(jìn)去。
寫在最后
上邊的技能要求,針對(duì)的是小白或入門級(jí)的,如果你不是這個(gè)群體,可以忽略;如果你已經(jīng)是初級(jí)或者中級(jí)開發(fā)工程師了,但是發(fā)現(xiàn)自己有些不足,那你就好好對(duì)自己的技術(shù)成長路線規(guī)劃一下。對(duì)于未知的技術(shù)學(xué)習(xí)建議:
1. 首先,掌握熟悉你所在公司所使用和涉及的技能
好處:幫助自己更好更快完成工作任務(wù),這樣可以減少加班;領(lǐng)導(dǎo)發(fā)現(xiàn)你能力不錯(cuò),對(duì)自己也有好處。當(dāng)然,如果你覺得公司使用的技術(shù)比較low,你在混,那建議你盡快離職,不要浪費(fèi)自己的時(shí)間;如果你到哪都是混,那建議你還是轉(zhuǎn)行算了。
2. 不要滿足于現(xiàn)狀,不管是技術(shù)上,還是其他
技術(shù)無止境,一個(gè)公司的技術(shù)棧在長時(shí)間內(nèi)不會(huì)變化的,這個(gè)時(shí)間可能是3年、5年或者10年。
當(dāng)然,不變化的可能是傳統(tǒng)軟件公司,或者是小公司。不要覺得你工作幾年出去有經(jīng)驗(yàn)就吃得香了。要有危機(jī)感,跟進(jìn)最新技術(shù)發(fā)展情況,觀察大公司流行使用什么框架技術(shù),自己嘗試去學(xué)習(xí)了解。
也不要找借口說沒時(shí)間學(xué)習(xí),如果把自己玩游戲或看電視劇的時(shí)間用在學(xué)習(xí)上,會(huì)是什么樣子呢?
前端:
1、老一代兩大富應(yīng)用(RIA)框架(目前已經(jīng)停止更新):flex、silverlight
2、其他開源(早期項(xiàng)目較多):openlayer2、amap、bmap、ArcgisAPI4JS(3系列版本)
3、較新框架:openlayer3、cesiums、ArcgisAPI4JS(4.0之后版本)、
4、輕型框架(需要二次封裝):WebGL(例如d3.js、three.js)
后端:arcgisServer、geoserver、mapserver
部分效果如下
flex:
img src="" class="content_image"
openlayers:
img src="" class="content_image"
cesiums:
首先說明一下,如果題主想成為一名webgis開發(fā)者,可以參考這個(gè)鏈接小白如何成為webgis初級(jí)開發(fā)工程師
其次我們來說一下webgis的開發(fā)流程:
一般我們的開發(fā)采用兩條路線:esri方案和開源方案
esri方案舉個(gè)例子:
ArcgisServer+SqlServer+IIS+Arcgis js Api+前端基礎(chǔ)框架
開源方案舉個(gè)例子:
GeoServer+PostgresSql+Tomcat+OpenLayers+前端基礎(chǔ)框架
Webgis開發(fā)的大概流程是:
我們的矢量文件或者柵格文件,需要展示在網(wǎng)頁上的話,必須先通過GeoServver或者ArcgisServer發(fā)布成服務(wù),然后這些地理服務(wù)器就會(huì)提供出可供訪問的鏈接,然后用Openlayers或者Arcgis js api訪問就行。當(dāng)然了我們Webgis系統(tǒng)不可能只有g(shù)is數(shù)據(jù),還需要一些普通數(shù)據(jù),這些就要在SqlServer或者PostgreSql里建表,然后我們的后臺(tái)程序(C#或者Java)會(huì)連接這些數(shù)據(jù)庫,取到數(shù)據(jù),仍然返回給前端,只不過此時(shí)數(shù)據(jù)的接收者就變成了前端那幾大框架,比如JQuery、Vue、Angular、React等等。
總結(jié)一下:
那么開發(fā)一個(gè)Webgis到底需要些什么呢?
GIS服務(wù)器+基礎(chǔ)數(shù)據(jù)庫+網(wǎng)站部署環(huán)境+GIS Api框架+前端基礎(chǔ)框架
一個(gè)完整的Webgis系統(tǒng),上面的東西都會(huì)有,歡迎補(bǔ)充和提問。
一般由多主機(jī),多數(shù)據(jù)庫和多個(gè)客戶端以分布式連接在Internet上而組成,包括以下四個(gè)部分: WEB-GIS瀏覽器(browser),WEB-GIS服務(wù)器,WEB-GIS編輯器(Editor),WEB-GIS信息代理(imformation agent)。
Define2.WEBGIS是指基于Internet平臺(tái)進(jìn)行信息發(fā)布、數(shù)據(jù)共享、交流協(xié)作。客戶端應(yīng)用軟件采用WWW協(xié)議,實(shí)現(xiàn)GIS信息的在線查詢和業(yè)務(wù)處理等功能。運(yùn)行于因特網(wǎng)上的地理信息系統(tǒng),是利用Internet技術(shù)來擴(kuò)展和完善GIS的一項(xiàng)新技術(shù),其核心是在GIS中嵌入HTTP和TCP/IP標(biāo)準(zhǔn)的應(yīng)用體系,實(shí)現(xiàn)Internet環(huán)境下的空間信息管理。WEBGIS有多主機(jī)、多數(shù)據(jù)庫與多終端,通過Internet、Intranet連接組成,具有客戶、服務(wù)器(C/S)結(jié)構(gòu),服務(wù)器端向客戶端提供信息和服務(wù),客戶端具有獲得各種空間信息和應(yīng)用的功能。
WebGIS是Internet技術(shù)應(yīng)用于GIS開發(fā)的產(chǎn)物。GIS通過WWW功能得以擴(kuò)展,真正成為一種大眾使用的工具。從WWW的任意一個(gè)節(jié)點(diǎn),Internet用戶可以瀏覽WebGIS站點(diǎn)中的空間數(shù)據(jù)、制作專題圖,以及進(jìn)行各種空間檢索和空間分析,從而使GIS進(jìn)入千家萬戶。WebGIS具有以下特點(diǎn):
(1)全球化的客戶/服務(wù)器應(yīng)用 全球范圍內(nèi)任意一個(gè)WWW節(jié)點(diǎn)的Internet用戶都可以訪問WebGIS服務(wù)器提供的各種GIS服務(wù),甚至還可以進(jìn)行全球范圍內(nèi)的GIS數(shù)據(jù)更新。
(2)真正大眾化的GIS 由于Internet的爆炸性發(fā)展,Web服務(wù)正在進(jìn)入千家萬戶,WebGIS給更多用戶提供了使用GIS的機(jī)會(huì)。現(xiàn)在流行的WebGIS平臺(tái)有: ARCIMS;TopMap World;MapXtreme等國內(nèi)外成熟產(chǎn)品。WebGIS可以使用通用瀏覽器進(jìn)行瀏覽、查詢,額外的插件(plug-in)、ActiveX控件和Java Applet通常都是免費(fèi)的,降低了終端用戶的經(jīng)濟(jì)和技術(shù)負(fù)擔(dān),很大程度上擴(kuò)大了GIS的潛在用戶范圍。而以往的GIS由于成本高和技術(shù)難度大,往往成為少數(shù)專家擁有的專業(yè)工具,很難推廣。
(3)良好的可擴(kuò)展性 WebGIS很容易跟Web中的其他信息服務(wù)進(jìn)行無縫集成,可以建立靈活多變的GIS應(yīng)用。
(4)跨平臺(tái)特性 在WebGIS以前,盡管一些廠商為不同的操作系統(tǒng)(如:Windows、UNIX、Macintosh)分別提供了相應(yīng)的GIS軟件版本,但是沒有一個(gè)GIS軟件真正具有跨平臺(tái)的特性。而基于Java的WebGIS可以做到"一次編成,到處運(yùn)行 (write once, run anywhere)" ,把跨平臺(tái)的特點(diǎn)發(fā)揮得淋漓盡致。
據(jù)目前的WebGIS架構(gòu)來分析,主要分兩種:
1.圖片式的WebGIS也叫做柵格地圖,也可以實(shí)現(xiàn)矢量地圖,目前主要通過VML
2.基于控件的矢量地圖.(ActiveX,Java Applet)
這兩個(gè)開發(fā)而又利弊。!但是基于控件的會(huì)收到諸多限制。自Google Maps發(fā)布以來,圖片式的地圖。越來越盛行!。
WebGIS的基本特征
1)WebGIS是集成的全球化客戶/服務(wù)器網(wǎng)絡(luò)系統(tǒng)。
2)WebGIS應(yīng)用客戶/服務(wù)器概念來執(zhí)行GIS的分析任務(wù)。
當(dāng)前題目:webgis開發(fā)技術(shù) webgis開發(fā)入門
鏈接URL:http://chinadenli.net/article12/dojgidc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站策劃、關(guān)鍵詞優(yōu)化、電子商務(wù)、動(dòng)態(tài)網(wǎng)站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)