ArcGIS Server 10中支持的WMS版本为最新的1.3.0。在ArcGIS Server中,只需简单地勾选的Capabilities选项卡中可以选择支持WMS,如图 21。
图 21 ArcGIS Server发布WMS服务
现在我们通过浏览器直接发送请求获取一张动态地图:
http://localhost:8399/arcgis/services/basemap/World/MapServer/WMSServer?
VERSION=1.3.0&REQUEST=GetMap&
CRS=CRS:84&BBOX=-180,-90,180,90&
WIDTH=720&HEIGHT=360&LAYERS=0,1,2&
STYLES=,,&FORMAT=image/png&
TRANSPARENT=TRUE
这个请求返回一张这样的图片,这和ArcMap中的配置是完全一致的:
然后,我们模拟某个用户在图片上进行了一个点击,想看看点击处的点对象都有什么属性值,这时会有一个这样的请求发送到WMS服务上:
http://localhost:8399/arcgis/services/basemap/World/MapServer/WMSServer?
VERSION=1.3.0&REQUEST=GetFeatureInfo&
CRS=CRS:84&BBOX=-180,-90,180,90&
WIDTH=720&HEIGHT=360&
INFO_FORMAT=text/xml&
QUERY_LAYERS=2&
I=593&J=100
这个请求返回如下的结果,很显然,刚才在地图上的北京附近进行了点击,服务返回回来“Beijing”这个要素的所有属性:
<?xml version=<i>"1.0"?>
<featureinforesponse xmlns:esri_wms="<i">"http://www.esri.com/wms"</featureinforesponse>
xmlns="http://www.esri.com/wms">
<fields objectid="<i">"2165" Shape=<i>"Null"</i> CITY_NAME=<i>"Beijing"</i></fields>
GMI_ADMIN="CHN-BJN" ADMIN_NAME="Beijing" FIPS_CNTRY="CH" CNTRY_NAME="China"
STATUS="National and provincial capital" POP_RANK="1"
POP_CLASS="5,000,000 and greater" PORT_ID="0" LABEL_FLAG="1">