ArcGIS JS API 在当前(4.15版本)提供有WebTileLayer、WMSLayer、WMTSLayer等图层类,但并没有提供加载WFS服务的图层类。所以使用FeatureLayer来实现加载。
WFS,Web Feature Service,网络要素服务
思路
手动构造FeatureLayer的source 属性。
1 | st=>start: Start |
WFS请求
GetCapabilities
参数说明:
参数 | 是否必须 | 默认值 |
---|---|---|
SERVICE | Y | WFS |
REQUEST=GetCapabilities | Y |
请求示例:
1 | http://www.someserver.com/wfs? |
GetFeature
参数说明:
参数 | 是否必须 | 默认值 |
---|---|---|
VERSION | Y | 1.1.0 |
SERVICE | Y | WFS |
REQUEST=GetFeature | Y | |
TYPENAME | Y | |
OUTPUTFORMAT | text/xml; subtype=gml/3.1.1 | |
BBOX | ||
FILTER | ||
SORTBY | ||
MAXFEATURES | ||
PROPERTYNAME | ||
SRSNAME | ||
FEATUREID | ||
EXPIRY | ||
RESULTTYPE | results | |
FEATUREVERSION |
请求示例:
1 | http://www.someserver.com/wfs? |
解析XML
从返回的XML中解析数据,构造Features数组。
解析过程示例代码:
1 | const parser = new DOMParser(); |
Features数组:
1 | const features = [ |
实例化FeatureLayer
1 | const layer = new FeatureLayer({ |