WFS¶
WFS是一种开放地理空间联盟(OGC)规范。有关格式本身的更多信息,请参阅:https://www.ogc.org/standards/wfs
WFS允许客户机从多个Web功能服务中检索以地理标记语言(GML)编码的地理空间数据。GML建立在标准的Web语言XML之上。
WFS不同于流行的Web地图服务(WMS)规范,因为WFS返回有效GML格式的数据子集,而不仅仅是数据的图形图像。
能力¶
使用getcapabilities请求向WFS服务器请求功能将返回一个XML文档,其中显示哪些层和投影可用等。WFS getcapabilities URL的示例:
从GetCapitities生成的XML示例:
...
<FeatureTypeList>
<Operations>
<Query/>
</Operations>
<FeatureType>
<Name>continents</Name>
<Title>World continents</Title>
<SRS>EPSG:4326</SRS>
<LatLongBoundingBox minx="-180" miny="-90" maxx="180" maxy="83.6274"/>
</FeatureType>
<FeatureType>
<Name>cities</Name>
<Title>World cities</Title>
<SRS>EPSG:4326</SRS>
<LatLongBoundingBox minx="-178.167" miny="-54.8" maxx="179.383" maxy="78.9333"/>
</FeatureType>
</FeatureTypeList>
...
数据访问/连接方法¶
WFS访问是核心MapServer功能。MapServer当前支持WFS 1.0.0版。
参见
还通过OGR支持WFS访问 WFS driver 。
必须使用ConnectionType WFS或ConnectionType OGR(请参见 通过MapServer的OGR矢量层 有关如何通过OGR使用WFS的详细信息的文档)。
可以通过映射文件中的层请求WFS层,也可以通过带有getfeature请求的浏览器直接请求GML。您可以使用类型名请求指定特定的层。在映射文件中,应将名称/值对放入元数据对象中。
您可以使用maxfeatures选项(例如&maxfeatures=100)限制在GML中返回的功能的数量。
直接通过浏览器的WFS请求示例¶
以下URL请求层大陆的GML。(有关此测试服务器上可用的可能层,请参阅上面的getCapabilities)。URL都是一行,为了可读性,这里进行了拆分(单击 here 对于工作链接)。::
https://demo.mapserver.org/cgi-bin/wfs?
SERVICE=WFS&
VERSION=1.0.0&
REQUEST=getfeature&
TYPENAME=continents&
MAXFEATURES=100
Mapfile 示例¶
LAYER
NAME "continents"
TYPE POLYGON
STATUS ON
CONNECTION "https://demo.mapserver.org/cgi-bin/wfs?"
CONNECTIONTYPE WFS
METADATA
"wfs_typename" "continents"
"wfs_version" "1.0.0"
"wfs_connectiontimeout" "60"
"wfs_maxfeatures" "10"
END
PROJECTION
"init=epsg:4326"
END
CLASS
NAME "Continents"
STYLE
COLOR 255 128 128
OUTLINECOLOR 96 96 96
END
END
END # Layer