|
開(kāi)源軟件 WebGIS OpenGIS PostgreSQL PostGIS GeoTools GeoServer uDig OpenLayers 一、相關(guān)概念解釋 1.1 開(kāi)源軟件、Web技術(shù)相關(guān) GPL:GNU全局公共許可證(General Public License)簡(jiǎn)稱為GPL,是GNU的開(kāi)源軟件許可證的一種,大多數(shù)的 GNU 程序和超過(guò)半數(shù)的自由軟件使用它。同時(shí),它也是開(kāi)源軟件領(lǐng)域?qū)υS可人權(quán)力限制最嚴(yán)的許可證。GPL首先是承認(rèn)軟件的版權(quán)——軟件有原始的版權(quán)所有者,然后納入自由軟件的版權(quán)許可約束。在承認(rèn)版權(quán)的前提下,通過(guò)軟件的版權(quán)許可來(lái)實(shí)現(xiàn)自由權(quán)利的要求。GPL許可證最重要的特點(diǎn)在于它要求根據(jù)GPL許可證發(fā)布的軟件(如:最有影響力的Linux)修改、翻譯的演繹作品,甚至只要其任何一部分代碼是以GPL發(fā)布的,那么全部程序也必須受GPL許可證的約束,即繼續(xù)遵守GPL許可證的規(guī)定,有些人將其稱之為GPL的“病毒效應(yīng)”。GeoTools、GeoServer都使用GPL授權(quán)協(xié)議。 AJAX:Asynchronous Javascript. and XML(異步Javascript和XML),AJAX是Web2.0時(shí)代的主要技術(shù)之一,它通過(guò)JS與服務(wù)器通信,中間傳輸數(shù)據(jù)使用XML(當(dāng)然采用XML不是必須的,如本系統(tǒng)為JSON),實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容無(wú)刷新更新。網(wǎng)上地圖的請(qǐng)求與顯示通常采用此技術(shù),最典型的如:Google Map。本文中的OpenLayers也使用了此技術(shù)。 JSON:JavaScript. Object Notation(JavaScript對(duì)象符號(hào)),JSON是一種用簡(jiǎn)單文本描述JavaScript對(duì)象的開(kāi)放格式標(biāo)準(zhǔn),它易于構(gòu)建和解析。換句話說(shuō),可以將發(fā)往瀏覽器的數(shù)據(jù)編碼格式從XML改為JSON對(duì)象,而JSON對(duì)象能夠很容易地轉(zhuǎn)成JavaScript對(duì)象。 MVC設(shè)計(jì)模式:模型-視圖-控制(Model、View、Controller)的縮寫(xiě)。模型(Model)是應(yīng)用程序的主體;視圖(View)負(fù)責(zé)生成用戶界面部分;控制器可以根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示及更新Model對(duì)象狀態(tài)。MVC設(shè)計(jì)模式要求在應(yīng)用程序開(kāi)發(fā)中將模型邏輯,界面顯示,數(shù)據(jù)層相分離。MVC設(shè)計(jì)模式由事件驅(qū)動(dòng)。OpenLayers就實(shí)現(xiàn)了這種設(shè)計(jì)模式。 1.2 OpenGIS相關(guān) OGC:OpenGIS聯(lián)盟。 WMS:Web Map Server 網(wǎng)上地圖服務(wù),最簡(jiǎn)單的功能就是:通過(guò)HTTP請(qǐng)求,獲得相應(yīng)的地圖,地圖為圖片格式,如:JPG/GIF/PNG。 WFS:Web Feature Server 網(wǎng)上要素服務(wù),最簡(jiǎn)單的功能就是:通過(guò)HTTP請(qǐng)求,獲得相關(guān)的地理要素信息。 WCS:Web Coverage Server,簡(jiǎn)單地說(shuō)就是對(duì)柵格數(shù)據(jù)的服務(wù),它允許用戶得到連續(xù)的柵格圖像,這些圖像可能包含多個(gè)波段,因此你可以將一幅完整的多波段遙感影像放到你的WCS服務(wù)器上用WCS進(jìn)行Internet共享,而用戶利用瀏覽器或者其它胖客戶端工具通過(guò)HTTP請(qǐng)求就可以得到這個(gè)影像數(shù)據(jù)。當(dāng)然可以對(duì)請(qǐng)求參數(shù)進(jìn)行限定,取得其中的一部分(空間的一部分或波段的一部分)數(shù)據(jù)。 SLD:風(fēng)格化圖層描述器(Styled Layer Descriptor)的簡(jiǎn)稱,用于定義地圖顯示樣式,GeoServer支持SLD,通過(guò)自定義SLD,可以在地圖中顯示文本和圖片符號(hào),還可以設(shè)置過(guò)濾器,自定義圖例。 GML:地理標(biāo)記語(yǔ)言,是WFS規(guī)范指定的地理要素的XML編碼聲明和數(shù)據(jù)格式。 WKB/WKT:OpenGIS規(guī)范定義了兩種表達(dá)空間數(shù)據(jù)的標(biāo)準(zhǔn)方法:Well-Known Text (WKT) 和Well-Known Binary (WKB) 二、相關(guān)軟件介紹: 2.1 GeoTools:一個(gè)基于JAVA的開(kāi)源的GIS工具包,提供了實(shí)現(xiàn)OGC規(guī)范的一系列函數(shù)。是一個(gè)松散的工具包,用戶可以調(diào)用其中的相應(yīng)的包進(jìn)行開(kāi)發(fā)。Geoserver、uDig就是基于Geotools的。 2.2 GeoServer:GeoServer基于JAVA的開(kāi)源軟件,通過(guò)調(diào)用GeoTools,提供遵循OGC標(biāo)準(zhǔn)的WFS-T和WMS服務(wù)。其WMS結(jié)果的顯示演示采用了OpenLayers。 2.3 OpenLayers:一個(gè)基于AJAX技術(shù)的網(wǎng)上地圖顯示客戶端,支持WMS地圖顯示、WMS時(shí)間序列地圖動(dòng)態(tài)顯示、GML/Feature數(shù)據(jù)顯示等。 2.4 PostgreSQL/PostGIS:最先進(jìn)的開(kāi)源數(shù)據(jù)庫(kù),PostGIS是其在空間數(shù)據(jù)上的擴(kuò)展。 三、WebGIS相關(guān)的OpenGIS規(guī)范 3.1、WFS/WMS: 3.1.1、版本與流通: 版本號(hào)為三段數(shù)字表示,現(xiàn)在(2006-5-17)WFS的最新版本是1.1.0,舊版本有0.9.1、1.0.0;WMS的版本有:1.0、1.1、1.1.1、1.3.0。Geoserver支持WFS1.0、WMS1.1.1,其返回的GML版本是2.1.2。 版本號(hào)必須出現(xiàn)在兩個(gè)地方,一是客戶端請(qǐng)求參數(shù)中、再是服務(wù)器GetCapabilities 操作返回的Capabilities XML文檔中。 需要注意的是,客戶端請(qǐng)求的版本號(hào)應(yīng)該與服務(wù)器支持的版本號(hào)匹配,否則按最近匹配原則: 1、 如果客戶端請(qǐng)求的版本號(hào)高于服務(wù)器支持的,服務(wù)器按其支持的最高的版本號(hào)執(zhí)行,相反,則按最低版本號(hào)執(zhí)行。 2、 如果服務(wù)器響應(yīng)的版本號(hào)高于客戶端支持的,客戶端會(huì)重新發(fā)送一個(gè)較低版本號(hào)的請(qǐng)求,相反,發(fā)送一個(gè)較高的版本。下面以WFS為例 版本匹配示意圖 3.1.2、請(qǐng)求規(guī)則:有兩種請(qǐng)求方式:Get、Post。 WFS的Post請(qǐng)求是提交一個(gè)符合WFS規(guī)范的XML文本,服務(wù)器來(lái)對(duì)這個(gè)XML文本進(jìn)行解析后執(zhí)行,下面是兩個(gè)Get請(qǐng)求: 請(qǐng)求一: http://127.0.0.1/geoserver/wfs?request=GetCapabilities&service=WFS&version=1.0.0 解釋說(shuō)明: 操作:GetCapabilities 服務(wù):WFS 版本:1.0.0 請(qǐng)求二: http://127.0.0.1/geoserver/wms?VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&SRS=EPSG:4326&BBOX=146.9632808102,-42.2041379916633,147.0813008202,-42.1368665859633&WIDTH=500&HEIGHT=285&LAYERS=topp:tasmania_roads&FORMAT=image/png&STYLES=&TRANSPARENT=TRUE&TIME= 解釋說(shuō)明: version=1.1.1 版本號(hào)為1.1.1 request=GetMap 執(zhí)行GetMap操作 服務(wù):WMS 坐標(biāo)參考系統(tǒng)為EPSG:4326 地圖范圍: 地圖大?。?00*285 圖層:topp:Tasmania_roads 地圖格式:png 地圖樣式:默認(rèn)樣式 透明顯示:是 3.1.3、響應(yīng)規(guī)則:如果請(qǐng)求正常,服務(wù)器將返回一個(gè)對(duì)象,并伴隨這個(gè)對(duì)象的MIME(多用途因特網(wǎng)郵件擴(kuò)展,常用的文件格式都伴隨著一個(gè)MIME類型,如郵件附件,GIF圖片image/gif)類型和描述(如對(duì)象大小、編碼類型等等)。否則,應(yīng)該返回一個(gè)服務(wù)器異常。 3.1.4、WFS請(qǐng)求編碼:規(guī)范定義了兩種WFS請(qǐng)求編碼方法,一是使用XML,二是使用KVP(鍵值對(duì)) WFS操作與請(qǐng)求編碼:
3.1.5、WFS名稱空間:有三個(gè)標(biāo)準(zhǔn)化的名稱空間: (http://www./wfs) - for the WFS interface vocabulary (http://www./gml) - for the GML vocabulary (http://www./ogc) - for the OGC Filter vocabulary 3.1.6、坐標(biāo)參考系統(tǒng): 使用EPSG 標(biāo)準(zhǔn),其值通常是4326。 3.1.7、WFS操作: DescribeFeatureType(要素類型特征描述)操作:此操作產(chǎn)生一個(gè)WFS服務(wù)器所提供的地理要素的大綱描述,這個(gè)描述定義了WFS地理要素實(shí)例怎樣被輸入、編譯和輸出。對(duì)于一個(gè)DescribeFeatureType請(qǐng)求,應(yīng)返回一個(gè)由XML Schema定義的GML3應(yīng)用程序大綱。 GetFeature(獲取對(duì)象) 操作:因?yàn)榈乩硪氐囊?guī)范表示是使用GML,所以GetFeature操作涉及到GML規(guī)范中的地理要素模型。在GML中,一個(gè)地理要素表現(xiàn)為XML文檔中的一個(gè)元素,一個(gè)GML文檔可包含多個(gè)地理要素。當(dāng)GetFeature請(qǐng)求的輸出格式設(shè)為text/gml; subtype=gml/3.1.1時(shí),一個(gè)GML實(shí)例將被返回給客戶端。 GetGMLObject(獲取GML對(duì)象) 操作:允許通過(guò)ID號(hào)從服務(wù)器上獲取地理要素和元素,該操作將返回一個(gè)XML片段。注意GetGMLObject操作不是可選的,不是服務(wù)器必需支持的。 LockFeature (鎖定要素)操作:網(wǎng)絡(luò)連接本身是不穩(wěn)定的,要實(shí)現(xiàn)事務(wù)操作的正確執(zhí)行,解決并發(fā)沖突問(wèn)題,需要鎖定地理要素,這類似數(shù)據(jù)庫(kù)中的相關(guān)操作(實(shí)際上也確實(shí)是一種空間數(shù)據(jù)庫(kù)操作)。 Transaction(事務(wù)操作):事務(wù)操作描述了從網(wǎng)上獲得的地理要素實(shí)例的數(shù)據(jù)事務(wù)操作。當(dāng)事務(wù)操作完成時(shí),WFS服務(wù)器將返回一個(gè)XML文檔指示事務(wù)的完成狀況。 GetCapabilities(獲取服務(wù)能力)操作:任何OGC的web服務(wù)器,包括WFS、WMS,必須提供GetCapabilities操作,用于描繪服務(wù)器性能容量。GetCapabilities請(qǐng)求將返回服務(wù)器元數(shù)據(jù)。 3.1.8、WMS操作: GetCapabilities(強(qiáng)制)操作:反映服務(wù)器性能信息,與WFS的GetCapabilities操作相似。 GetMap(強(qiáng)制)操作:返回地圖,這是最常用的操作,可參考前面請(qǐng)求規(guī)則的請(qǐng)求二例子。 GetFeatureinfo(可選):該操作是可選操作,能提供給客戶端更多地理要素的信息,如在客戶端選擇地圖上某一點(diǎn),GetFeatureinfo操作可以返回該點(diǎn)的相關(guān)信息。 3.2、空間數(shù)據(jù)格式WKB/WKT OpenGIS規(guī)范定義了兩種表達(dá)空間數(shù)據(jù)的標(biāo)準(zhǔn)方法:Well-Known Text (WKT) 和Well-Known Binary (WKB) 形式。WKT和WKB都包括對(duì)象的類型和坐標(biāo)系。OpenGIS規(guī)范還需要空間對(duì)象的internal存儲(chǔ)格式包括空間參考系統(tǒng)標(biāo)示符(SRID),在空間對(duì)象裝入數(shù)據(jù)庫(kù)時(shí)需要提供SRID。 OGC的更多信息,請(qǐng)?jiān)L問(wèn):http://www. |
|
|
來(lái)自: 平平鳳鳳 > 《我的圖書(shū)館》