使用FeatureLayer加载WFS服务
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({
|