Geoserver设置
WFS服务发布
WFS服务发布过于简单,此处不再赘述,可自行搜索。
开启写入权限
Geoserver版本2.13.3
,点击安全
下的数据
点击*.*.w
勾选上Grant access to any role
Geoserver版本2.19.1
,可以设置单个图层的权限
WFS Transaction的XML示例
Demo Request提供了WFS Transaction的XML示例,可自行参考,它的版本是1.0.0版本。
WebGIS API 调用
Openlayers
Openlayers封装了WFS Transaction增删改的操作,
具体实现,可参考以下链接:
基于OpenLayers使用WFS实现GeoServer地图要素的增删改查
Openlayers 6.15.1封装时,默认使用的是1.1.0版本,但是它的更新操作,在WFS的1.1.0版本中存在问题,改为1.0.0版本则为正常,需要注意
WFS Transaction的1.1.0版本和1.0.0版本有所不同,使用时不可混用
Mapbox
Mapbox只能通过post请求将XML数据发送到Geoserver的WFS服务中。
PostMan使用示例:
与Openlayers不同,XML数据需要自己拼接,不同方式的XML示例,第二部分已经给出。
具体实现,可参考以下链接:
GeoServer进阶:要素的增删改查
看到这里,让大家比较头疼的就是几何数据的匹配。其实,这很简单,坐标数据,大家都懂,麻烦的是不同类型几何数据形式的拼接。
其实,它们都是GML数据,WFS 1.0.0版本使用的是GML2版本,WFS 1.1.0版本使用的是GML3.1版本。
大家可以在Layer Preview
中,找到任意点线面类型的图层,查看他们的GML示例
照着上面的示例,写数据,应该就没什么问题了。