使用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({
|

浙公网安备 33010602011771号