平台服務類型
協作平台上供應的服務可分為三大類型,包括具備空間圖形的GIS類服務,如WMS(Web Map Service)及WFS(Web Feature Service)、以及API(Application Programming Interface)服務:
認識網路服務
服務(Service)是一個能夠將需求者(needs)和提供者(capabilities )綁在一起的機制,而這個機制提供一些預先定義好的介面供使用者來操作這個服務。舉例來說,汽車就是一個服務,這個服務的目的是提供人類在兩地間移動,所以汽車服務的能力(capabilities)就是滿足人類移動的需求(needs),那汽車提供哪些介面供人類操作?就是方向盤、油門踏板、煞車踏板、排檔桿。人類並不用了解引擎運作的原理,也不用了解變速箱如何運作,只需控制這幾個介面就可以讓汽車運作。
API或OGC的各種Services都是一樣的原理,每個服務都定義了數種介面,讓人類或應用程式來操作這個服務,但卻不用理解該服務的細節。例如OGC的各種標準都會有一個介面叫GetCapabilities,一旦使用這使用了這個介面,服務會告訴使用者該服務的metadata為何。對使用者來說,介面一致性高,操作起來就更便利,如同不論甚麼牌的汽車,不論左駕或右駕,煞車踏板一定在油門踏板左邊,一旦換車了,這個介面都不會改變。
瞭解WMS服務 (Web Map Service)
WMS(Web Map Service)是一種最簡單快速的網路產圖服務。例如A使用者想要在GeoServer所開發的web GIS系統顯示某些資料,但這些資料卻存放在B單位以MapServer所開發的web GIS上面。我們當然可以將B單位的資料拷貝一份到A的資料庫中,但是最能達到即時與動態的做法就是,讓這兩個不同品牌的軟體用一致性的語言交談,WMS就是這其中一種語言。
WMS提供的功能包括:
- GetCapabilities
- GetMap
- GetFeatureInfo
WMS適用的原理如同照相一般,A使用者只要跟B單位說:「給我某個範圍的道路圖」也就是使用GetMap這個介面,B單位的伺服器就會自動產製這個範圍的道路圖,並用常用的影像格式丟給A使用者,經過透明度的處理,這張影像圖就可以跟A使用者的資料套疊在一起,完全看不出來有一張圖是來自其他單位其他軟體的。但這樣的方式比較難加值運用,因為B單位的原始資料可能是向量資料,但是給到A使用者時,已經轉換變成一張影像了,這就是為甚麼說WMS的原理如同照相一般。
瞭解WFS服務 (Web Feature Service)
WFS(Web Feature Service)則是一個具備高理想性的服務,它的目的與WMS一樣,就是希望能夠讓有需要的人能夠不用理會原始資料的格式與軟體,便能透過網路取得資料。但它與WMS最大的不同在於,WFS不是用照相的原理將原始資料變成影像傳到遠端,而是將原始資料轉譯成GML供遠端使用,簡而言之,就是原始資料的流動。
這樣的好處是遠端的使用者拿到可供後續加值、查詢、分析的資料,對於應用的效益遠大於WMS,但是它也衍生一些問題:GML是XML編碼,空間資料重新經過XML編碼後檔案量可能會變得龐大無比,不論在產製的過程、網路傳輸的過程,以及最後解譯與展繪的過程都比較耗時,而且有些單位會擔心原始資料就這樣流出去。
WFS提供之功能括:
- GetCapabilities
- DescribeFeatureType
- GetFeature
- GetGmlObject
- Transaction
- LockFeature
瞭解API服務 (Application Programming Interface)
API類型服務提供更簡易使用的程式介面,降低操作門檻,並以Restful風格設計API介面,每一個API都擁有唯一的網址,其傳輸之資料結構採用JSON,並使用HTTP協定驗證並遵循共享平台認證及授權機制。