Geoserver的WFS服务实现要素的增删改

文章目录

  • Geoserver设置
    • WFS服务发布
    • 开启写入权限
  • WFS Transaction的XML示例
  • WebGIS API 调用
    • Openlayers
    • Mapbox

Geoserver设置

WFS服务发布

WFS服务发布过于简单,此处不再赘述,可自行搜索。

开启写入权限

Geoserver版本2.13.3,点击安全下的数据
Geoserver的WFS服务实现要素的增删改_第1张图片
点击*.*.w
Geoserver的WFS服务实现要素的增删改_第2张图片
勾选上Grant access to any role
Geoserver的WFS服务实现要素的增删改_第3张图片

Geoserver版本2.19.1,可以设置单个图层的权限
Geoserver的WFS服务实现要素的增删改_第4张图片

WFS Transaction的XML示例

Demo Request提供了WFS Transaction的XML示例,可自行参考,它的版本是1.0.0版本。
Geoserver的WFS服务实现要素的增删改_第5张图片

WebGIS API 调用

Openlayers

Openlayers封装了WFS Transaction增删改的操作,
Geoserver的WFS服务实现要素的增删改_第6张图片
具体实现,可参考以下链接:
基于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使用示例:
Geoserver的WFS服务实现要素的增删改_第7张图片
与Openlayers不同,XML数据需要自己拼接,不同方式的XML示例,第二部分已经给出。
具体实现,可参考以下链接:
GeoServer进阶:要素的增删改查

看到这里,让大家比较头疼的就是几何数据的匹配。其实,这很简单,坐标数据,大家都懂,麻烦的是不同类型几何数据形式的拼接。
其实,它们都是GML数据,WFS 1.0.0版本使用的是GML2版本,WFS 1.1.0版本使用的是GML3.1版本。
大家可以在Layer Preview中,找到任意点线面类型的图层,查看他们的GML示例
Geoserver的WFS服务实现要素的增删改_第8张图片
Geoserver的WFS服务实现要素的增删改_第9张图片
Geoserver的WFS服务实现要素的增删改_第10张图片
照着上面的示例,写数据,应该就没什么问题了。

你可能感兴趣的:(WebGIS,WebGIS,Geoserver,Openlayers,Mapbox)