文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/前端
我相信你們對百度地圖,谷歌地圖等相關應用已是很是熟悉了。經過這些應用,咱們能夠瀏覽地圖、定位咱們本身的位置、查找咱們想知道的興趣點、搜索交通路線等等。而其實,這些功能即是WebGIS的一些最基本的功能。數據庫
那麼什麼是WebGIS呢,說到這裏,我仍是首先給你們講講什麼是GIS。瀏覽器
GIS的全名是Geographic Information System,中文全名是地理信息系統。它是在計算機硬、軟件系統支持下,對整個或部分地球表層(包括大氣層)空間中的有關地理分佈數據進行採集、儲存、管理、運算、分析、顯示和描述的技術系統。tomcat
撇開這些晦澀的文字,我爭取用更形象的方法來給你們介紹下GIS這個學科。服務器
咱們人類在好久以前就已經開始使用羊皮或者紙質的地圖了,他的用途主要即是給人們的行軍、航海等作嚮導,而這一樣也是現代GIS學科裏GIS最基本的功能之一。到19世紀時,現代GIS學科開始慢慢萌芽。這裏有一個頗有名的例子。1854年倫敦發生霍亂,10天就死了500人。居民大多懷疑瘟疫是因爲地下的墓穴引發的,引發了極大的社會恐慌。當時有個有名的醫生叫Snow博士,他不信這個緣由,爲了查出真正的霍亂源頭,他首先繪出了倫敦地圖,而後將全部霍亂病人的所在地標出來,而後他發現了一個有趣的現象,在倫敦的一個居民飲水井附近出現的霍亂病人最多,而且最開始出現的霍亂病人也是在那裏發現的。最後Snow博士對那口井進行檢查,肯定了霍亂髮生的源頭。從這個例子中咱們能夠看出,地圖的應用已經再也不侷限於導航了,而開始慢慢利用其得天獨厚的時間空間優點與其餘學科開始進行結合。微信
到了20世紀電腦的出現,人造衛星的昇天等技術的突破,GIS這個學科也相應的開始走向成熟以及開始普及。20世紀60年代,加拿大科學家首先提出了GIS這個學科。到了20世紀末,一大批優秀的GIS軟件已經出現,好比Esri公司的ArcGIS系列,MapInfo公司的MapInfo。國內的GIS從上世紀80年代纔開始起步,不過到上世紀末時,也出現了本身的GIS公司,比較有名的有GeoStar、MapGIS等。網絡
而此時的GIS已再也不是侷限紙上的地圖了,它已經成爲了一個計算機技術和多種學科相交叉的新型學科了。它涉及到測量學——地理信息的採集和地圖的製做等,計算機科學——電子地圖的製做和展示以及各類GIS功能的實現,物理學——對傳感器的研究以及光譜和影像的研究,氣象學——大氣層等對衛星影像的影響等,生物學、醫學、犯罪學等——研究地理等各時間空間因素對這些學科的影響。架構
GIS是什麼呢,說的最通熟易懂的就是,GIS是利用測繪生成紙製地圖或者航拍以及衛星等生成影像後,將這些數據存儲在計算機中,以地圖或圖片的形式表現出來,而後根據實際生產生活以及科研中的各類需求,進而提供具體的通過處理後的數據。框架
顧名思義,WebGIS就是展示於網絡上的GIS。在上世紀八十年開始,出現的大量GIS軟件,基本上都是C/S架構的,也就是首先須要在本機上裝有專業的GIS軟件,而後用戶根據需求使用這些GIS軟件。固然這種桌面端的GIS軟件有其自然的優點,好比開發相對簡單,不須要Internet支持,以及能夠作更多的複雜功能、響應相對迅速等優點。可是同時,其缺點更是不容忽視。首當其衝的即是不便於推廣,而不便於推廣的緣由在於C/S系統其自己的自然的劣勢:不便於更新,不便於跨平臺,不便於用戶在不安裝指定客戶端的狀況下使用。分佈式
從本世紀開始,internet進入了爆發式增加階段,網絡的鋪設以及網速的提高都有了大幅度增長,這爲WebGIS的發展提供了堅實的大環境。因而,基於B/S的GIS系統愈來愈多的開始提供服務,而且在RIA(富客戶端)技術、AJAX(動態網頁)技術的涌現和成熟,WebGIS也基本能展示出與C/S同樣的效果和功能。而WebGIS的大發展,更是用戶的需求,google地圖和百度地圖等服務提供商的大規模擴張即是最好的證實。
什麼是WebGIS,就是將GIS這門學科所能提供的功能,以B/S技術展示給用戶,使用戶只須要在瀏覽器上便能使用這些GIS功能的一個應用方向。
目前使用WebGIS技術的公司能夠大體分爲兩個方向:一個是互聯網方向,一個是行業應用方向。
國內的互聯網方向裏基本能夠說已經被百度地圖,搜搜地圖,高德地圖,三個巨頭壟斷。因此對於想從事互聯網方向的WebGIS開發人員,其實能夠選擇的大公司並很少。可是,若是你是一個技術足夠好,且技術不侷限於通常的關係數據庫,對大數據和分佈式系統感興趣的WebGIS開發人員,強烈建議你去這些互聯網公司,在那裏你能接觸到最新的IT技術以及感覺到強大的頭腦風暴。也即是,對新技術,對前沿方向有更多追求的人,去互聯網公司是很好的選擇。
可是咱們不得不認可另一個現實,這些互聯網公司基本集中在北上廣深,而且對GIS研發人員在技術上的需求是,計算機技術的比重要遠大於對GIS學科自己的理論所佔的比重。因而,更多的GIS學科出身的人,最後選擇的是行業應用公司。而投身於這樣的公司,就沒有前途嗎?答案是否認的。
Esri公司做爲全球最成功的GIS軟件公司,很好的給出了這個答案。目前Esri的AO庫號稱世界上第二大的庫,除了微軟的Framework,就是它了。它同時也是一個年盈利在8億美圓的公司。Esri公司與美國和加拿大政府的合做堪稱行業公司的典範,它爲這兩個國家的數字化城市的建設立下了汗馬功勞,作出了不少優秀的做品。說這個例子,只是爲了代表,在咱們的數字化城市的需求愈來愈深刻,政府的需求愈來愈實際,整個國家的市場建設愈來癒合理以及公平公正透明,WebGIS在行業上的應用也將愈來愈普遍,而且愈來愈可以服務政府、企業和人民,而且更能作出有真實價值的產品。而且,從事行業應用的研發人員,隨着對所從事行業理解的深刻,這些理解給將來所帶來的收穫可能比技術單純的提升所帶來的收穫要大得多。要知道,項目需求分析靠的基本是行業理解,固然,對技術的瞭解也給項目可行性分析提供了保障。二者相輔相成。
每一個人追求不同,根據本身的需求,根據本身的現狀,作出選擇,堅持下去,不說夢想是否能實現,起碼你不會是一個本身都認爲本身活該如此平庸的人。
前面說了太多的非技術類的話,這裏咱們開始提一個技術類話題——WebGIS的框架。其實WebGIS的框架跟其餘Web項目的框架沒有不少本質上的區別。可能惟一的不一樣是WebGIS須要提供一些地圖方面的功能服務。這裏我先把這個框架給出,同時每一個層面須要的技術我也在其中大體畫出。
如全部的Web項目同樣,前端由HTML、CSS、JS、Flex等語言組成。根據需求和語言的特性,選擇合適的語言進行開發是相當重要的。沒有最好的語言,只有最合適的語言。
開發時,咱們要選擇適合本身的中間件。不一樣的中間件有其特性,若是是通常項目,tomcat等是很合適的,其使用方便,相關技術支持和資料也很好查找。可是若是是大型的集羣項目,Weblogic和WebShpere多是更好的選擇,可是這兩個中間件首先配置就是有難度的,同時不一樣的版本,可能對某些jar包的支持存在問題。若是項目必須使用國產的中間件,TongWeb和Apusics是不錯的選擇。
在WebGIS中,與其餘通常的Web工程有明顯區別的就體如今地圖服務器上面。通常的地圖服務器都由已有的軟件商提供瞭解決方案,比較流行的有AGS、Geoserver、MapServer、SuperServer等。利用這些地圖服務器咱們能很好的實現地圖的發佈以及對一些空間查詢和空間操做的支持。
業務服務器是Web項目裏不可獲取的一環。無論是利用哪些已有框架編寫,好比Spring、Struts、Hibernate等,咱們通常仍是會將業務服務器的實現分爲三個層次,即有名的MVC模式。而不一樣的框架裏這三個層次的實現各有差異。
WebGIS的數據大體能夠分爲三種,一種是地圖、影像數據,一種是空間屬性數據、一種是業務數據。地圖、影像數據通常是一些png或者其餘格式的數據組成。
在GIS中有個很重要的概念,即影像金字塔。這個概念主要是爲了加速地圖在前端的顯示。而咱們準備地圖、影像數據時,也通常會首先對這些數據進行切圖。
空間屬性數據,是經過一些工具將已經整理好的數據進行入庫。對於AGS,只有鏈接的是入庫數據的mxd,才能發佈成FeatureServer服務,以供數據的編輯。固然,空間數據入庫後還能夠支持業務邏輯的使用。
第三種數據,業務邏輯數據,是每一個Web項目必須有的,它根據不一樣的業務需求將業務所需的數據進行採集和入庫。
目前不少公司都提供了本身的二次開發包,在前端的有OpenLayers、AGS API for JS/Flex等。在後臺的也有geoTools、AO等。用這些開發包,咱們能夠很快的實現出圖以及不少GIS功能,基本上不用寫太多的編碼。
可是,一樣,因爲封裝的太好,不少WebGIS的原理咱們也便忽略而不作了解了。
這裏,我但願利用我薄弱的知識,能和你們一塊兒,探討一些WebGIS中經常使用的原理知識。但願你們支持。
因爲我薄弱的理論和技術基礎,也談不上對WebGIS的明天有很大的預言。我只但願咱們每一個人都爭取作一個完美主義者,同時也是一個有聖徒情懷的人,從而做踐本身實現目標。與你們一塊兒進步。但願我也能保持本身的寫做動力,積累經驗和知識。
-----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^