{exps}&location ={loc}&polygon ={coords}&text={text}, 用來查詢Scribble 圖層中的Scribble 要素,并返回相應(yīng)形式的表現(xiàn)。
其中,format 代表返回格式,包括XML、JSON、GML、KML 和GeoRSS;maxfeatures 指定返回結(jié)果的最大數(shù)目;bbox 指定矩形框范圍;where 指定屬性查詢表達式;location 指定一個坐標位置;polygon 指定一個多邊形范圍;text指定默認字段包含的文本;如果沒有查詢字符串,將返回圖層內(nèi)所有Scribble 要素。
2)HTTP GET <baseURI>/scribble/{id}.{format},用來請求對應(yīng)id 的Scribble 相應(yīng)格式的表現(xiàn),format 包括XML、GeoJSON、GML、KML、GeoRSS、HTML 和圖片格式。例如,圖2 和圖3 分別是id 為13 這個Scribble 的GeoJSON 和HTML 格式的表現(xiàn)。
3)HTTP POST <baseURI >/scribbles. {xml/json}; body ={newXML/newJSON},用來添加新的Scribble,并返回該feature 相應(yīng)格式的表現(xiàn)和它的URL,body 中是要新建的Scribble 的表現(xiàn)數(shù)據(jù),支持XML 和JSON 格式。
4)HTTP PUT <baseURI >/scribble/{id}. {xml/json}; body ={newXML/newJSON}, 用來更新對應(yīng)id 的Scribble 數(shù)據(jù),body 中就是期望的新狀態(tài)表現(xiàn)數(shù)據(jù),同樣支持XML 和JSON 格式。
5)HTTP DELETE <baseURI>/scribble/{id},用來刪除對應(yīng)的Scribble。
4.2 客戶端實現(xiàn)舉例
利用HTML、JavaScript 腳本和OpenLayers 開源組件實現(xiàn)了一個Ajax 創(chuàng)建和上傳要素客戶端,界面。首先,可以查詢不同格式的所有Scribble 數(shù)據(jù)集合; 其次, 在圖上畫出點、線或面并設(shè)置相應(yīng)屬性后會生成該要素的JSON 字符串,然后點擊上傳便可添加新的要素到服務(wù)器; 并且可以連續(xù)畫出多個要素后一起上傳。
5、結(jié)語
REST 架構(gòu)風格的地理信息Web 服務(wù)優(yōu)勢明顯, 是否將替代傳統(tǒng)的RPC 式的架構(gòu)現(xiàn)在還不得而知, 但是由于其簡單易用, 能夠達到Web 級的規(guī)??缮炜s性, 而且容易進行互操作、Mashup,服務(wù)的開發(fā)者們現(xiàn)在更傾向于開發(fā)這種服務(wù)。
目前,網(wǎng)絡(luò)中REST 風格的Web 服務(wù)越來越多,據(jù)著名的Web 2. 0 網(wǎng)站programmableweb. com 統(tǒng)計,目前可用的REST APIs 占67%,而SOAP APIs 占20%[7]。ESRI、Yahoo 等公司都已經(jīng)或開始采用了REST 風格的Web 服務(wù)。
本研究所實現(xiàn)的REST 風格的地理信息Web 服務(wù)非常有限,目的是為了探索REST 服務(wù)在GIS 領(lǐng)域的應(yīng)用,結(jié)合微軟最新的開發(fā)框架進行實現(xiàn), 希望在后續(xù)的研究工作中能進一步擴展。