GeoServer编辑要素到postGIS配置问题(WFS-T)

admin0条评论 6,713 次浏览

一、空间数据库PostGIS注意问题

1. PostGIS中进行编辑的数据表应具有编辑的权限,如Insert、Update、Delete,设置方法见下图。通过添加/修改用户/组,将权限赋予相应的用户。

2. 数据表中几何字段(geom/geometry)的类型(Point/MultiPoint、LineString/MultiLineString、Polygon/MultiPolygon)应与Openlayer/leaflet中编辑要素的几何类型一致,如不能一个为Point,一个为MultiPoint。这应在创建表格或Shapefile文件入库时确定(详细信息可参见Shapefile导入PostGIS的两种方法介绍及比较),或在Openlayer/leaflet中对要素的几何类型进行设置。

3. 进行WFS-T操作的数据表,必须有主键(primary key),否则会出现read-only的错误提示。

二、GIS服务器GeoServer注意问题

1. 因WFS-T操作涉及事物,故WFS服务的级别应为Transaction/Complete,如下图所示:

2. 若在ajax请求中没有设置连接GeoServer的用户名和密码(username/password),则应在Security→Data中进行设置,将ROLE_ANONYMOUS添加到选择的角色中,如下图所示。但是这种设置有弊端,一旦其他用户知道了GeoServer中WFS的地址,就能对数据进行随意修改。

3. 可在设置→全球中,设置以开发者模式(Developer)记录WFS执行的详细信息,通过日志可查看WFS执行的详细过程,遇到问题也能快速定位问题所在并解决,如下图所示。日志文件在 data_dir路径的logs文件夹下,记录个人资料可选择GEOTOOLS_DEVELOPER_LOGGING.propertiesVERBOSE_LOGGING.properties,后者记录的信息更详细,其他区别还不清楚。


分类目录