目前市面上有多種基于互聯(lián)網(wǎng)的在線地圖服務(wù),但是這些服務(wù)在互操作接口上缺少相應(yīng)的行業(yè)規(guī)范,從而導(dǎo)致了Web地圖服務(wù)的互操作的困難性。在GIS行業(yè)日漸蓬勃的今天,為了解決這個問題,GIS行業(yè)最主要的規(guī)范的制定者:Open Geospatial Consortium,開發(fā)了基于WEB地圖服務(wù)的互操作規(guī)范——Web Map Service。
Web Map Service主要用于提供共享地圖數(shù)據(jù)服務(wù),能動態(tài)地響應(yīng)客戶程序的請求,將用戶請求處理,轉(zhuǎn)換成便于用戶直觀理解的地圖圖像、指定坐標(biāo)點的要素信息、以及地圖的功能說明信息。
Web Map Service規(guī)范主要定義了三個結(jié)構(gòu)的操作,GetCapbilities、GetMap、GetFeatureInfo。其中,前兩個接口是必須實現(xiàn)的。
---------------------------------------------------------------------------------------------------------------------------------
GetCapbilities接口用于查詢WMS服務(wù)范圍的信息,包括支持的服務(wù)、支持的格式、空間坐標(biāo)、地圖列表、地圖樣式等。它主要的目的是使客戶端在使用GetMap請求前可以對WMS服務(wù)有一個大概的了解,從而設(shè)置正確的參數(shù)。
GetCapbilities請求樣例如下所示:http://xxx.com/geoserver/awms?version=x.x.x&request= getcapbilities。返回是一個XML文件,包括Service、Capability等部分,詳細(xì)信息可以查看返回XML文件。
GetCapabilities的具體請求參數(shù)如下表:

---------------------------------------------------------------------------------------------------------------------------------
GetMap接口用于向服務(wù)器請求一張地圖圖像數(shù)據(jù)。在它的請求中,可以控制地圖的圖層、圖層繪制的樣式、指定地圖的坐標(biāo)投影代碼、控制請求地圖的范圍、像素寬度和高度、以及返回 地圖圖像的格式。
GetMap的請求樣例如下所示:http://xxx.com/geoservice/wms?version=x.x.x&request=getmap&layers=topp:states&styles=population&SRS=EPSG:4326&bbox=-125,24,-67,50&width=400height=200&format=image/png
如果參數(shù)設(shè)置錯誤,將返回一個XML文件來描述錯誤信息。如下所示:<ServiceExceptionReport vertion=”x.x.x”>
<ServiceException code=””>
WIDTH and HEIGHT incorrectly specified
</ServiceException>
</ServiceExceptionReport>
GetMap的請求參數(shù)描述如表所示:

---------------------------------------------------------------------------------------------------------------------------------
GetFeatureInfo它是一個可選操作,接口用于查詢用戶指定對象的屬性信息。它的實現(xiàn)依賴于客戶程序在WMS服務(wù)器在先前返回的地圖。只有用戶指定了該地圖的某一空間實體,并且該實體所在圖層具有queryable=”1”屬性才能支持該請求。如果一個WMS不支持該請求,則會返回一個XML文件描述錯誤信息。
GetFeatureInfo的請求樣例如下所示:
http://xxx.com/geoserver.wms?version=x.x.x&request=getfeatureinfo&layers=topp:states&styles=population&SRS=EPSG:4326&bbox=-125,24,-67,50&width=400height=200&format=text/html&query_layers=topp:states。
此請求返回一個HTML文檔來描述對象,如下所示:
Results for FeatureType ‘states’:
——————————
The_geom = [GEOMETRY(Multipolyon) with 153 points]
STATE_NAME = Beijing
STATE_FIPS = 04
SUB_REGION = Mtn
STATE_ABBR = AZ
LAND_KM = 294333.462
WATER_KM = 942.772
PERSONS = 3665228.0
FAMILIES = 940106.0
HOUSHOLD = 1368843.0
MALE = 1810691.0
FEMALE = 1854537.0
WORKERS = 1358263.0
DRVALONE = 1178320.0
CARPOOL = 239083.0
PUBTRANS = 32856.0
EMPLOYED = 1603896.0
UNEMPLOY = 123902.0
SERVICE = 455896.0
MANUAL = 185109.0
P_MALE = 0.494
P_FEMALE = 0.506
SAMP_POP = 468178.0