上一篇关于 MapServer 的文章,我们主要配置了 MapServer 支持 WMS,这篇文章中我主要讲怎么配置 MapServer 支持 WFS(网络要素服务),WFS 是 Web Feature Service 的简写,也就是网络要素服务,提供地图数据要素一级数据 的服务,例如接受客户端请求要素、编辑要素和删除要素等于要素有关的操作的请求。
目前,MapServer 支持 WFS 的所有版本: 1.0.0、1.1.0、2.0.0
mapfile 配置
mapserver 发布服务都是通过 mapfile来配置的,wfs 服务也不例外,和配置wms类似,发布wfs要在mapfile配置文件中的METADATA
部分添加关于wfs的键值对。只有在图层满足如下条件的时候,mapserver 才会包含 wfs 的功能:
- 数据源是矢量数据:shapefile、OGR、Postgis、sde(ArcSDE);
- 图层名称必须设置;
- 图层数据空间类型必须是 point、line、polygon 三者之一;
- ‘wfs_onlineresource` 和 ‘wfs_enable_request’ 必须设置。
配置实例
我们在发布 wms 的 mapfile 配置基础上,添加 wfs 配置,下面是一个配置好 wms 和 wfs 的 mapfile 实例。
MAP
NAME "postgis"
DEBUG 5
CONFIG "MS_ERRORFILE" "/log/ms_error.txt"
EXTENT 12836528.782099359 4852834.05176927 12914800.299063379 4931105.56873329
PROJECTION
"init=epsg:3857"
END #PROJECTION END
WEB
METADATA
"wms_title" "postgis-wms"
"wms_version" "1.3.0"
"wms_onlineresource" "http://127.0.0.1/wms"
"wms_enable_request" "*"
"wms_srs" "EPSG:3857"