sql server存阿拉伯语变成问号_【server@geoserver】WFS只读(readonly)解决办法

af9c3a3dba54e1e11f5c222165e43d6a.png

首先吐槽一下GeoServer的WFS报错“XX图层只读”真是太恶心了。明明全部都设置了可写,但是还报只读的错。

    接下来我们说说怎么发现这个问题的。我们表中的id字段类型是guid,用GeoServer的WFS服务新增时,总说无法生成guid(在postgresql中叫uuid)。于是我就把id这一列给删了,然后就开始报只读的错误。 

37d9d02bbb297cd243c43c7139bb5e38.png

    然后我们就在GeoServer中设置了Data和Service的权限,都允许了全部的角色。

50b29953b1d83bdb3dee6513b5ad8990.png

fb77b0f46b2d328482ee224a8d00ebe4.png

     但是,还是不行,还报 只读 的错误。这就有点匪夷所思了。百度的内容都是设置这两个,太坑了吧。后来只能用Google,然后看到了这么一条回答:

4aa86b03ebcdedd83b82be51b028c581.png

   什么意思呢?原来有三种情况都会报只读这个错误:

  1、缺少主键(本来id是主键,但是他总报错,我就把id给删了,原来问题在这里)

   2、就是我们能够百度到的,也就是上面设置的那些

  3、GeoServer不能识别某些类型的字段,比如postgresql的UUID。

   看到这里,终于明白为什么我们总是WFS保存不成功了。最开始我们的问题是GeoServer不识别UUID,后来我把id这个字段给删了(id的类型是guid),然后问题就变成了缺少主键。好坑啊,三种情况,就被我占了两种。。。。。。。

【server@geoserver】geoserver服务部署和mysql 数据库图层服务发布

【server@supermap】SuperMap iserver 部署和服务发布

【server@geoserver】geoserver 栅格图发布成切片服务

【server@arcgis】ArcGIS server 重新创建Site

【server@geoserver】GeoServer 常用插件

【server@geoserver】GeoServer 矢量切片服务发布

更多webgis相关


「webgis@基础」坐标系基本概念

「webgis@基础」wms、wmts、wfs等地图服务区别

「webgis@基础」地图中比例尺换算

「webgis@基础」OGC标准介绍 (1)

「webgis@基础」OGC标准介绍 WKT (2)

「webgis@基础」OGC标准介绍 SQL 空间操作(3)

「webgis@基础」OGC标准介绍 WFS 要素Web服务(4)

「webgis@基础」OGC标准介绍 SLD-图层样式描述(5)

「webgis@基础」OGC标准介绍 KML & KMZ(6)「webgis@基础」OGC标准介绍 WMS-地图Web服务(7)

「webgis@基础」设置npm的registry

「webgis@基础」GIS 开源资源汇总

END

 

请:右下点在看c4e13b41c3a09c6b7673aa125186b437.gif,右上点【···】分享

ea6a5954d3b273b31a8707d950a14a0b.png

关注我

发现更多精彩

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我明白了。关于您的问题,我可以回答:Cesium是一个基于WebGL的虚拟地球和地理信息系统(GIS)库,可以用来展示地球上的各种数据,包括矢量图、卫星影像、地形模型等等。而Geoserver是一个开源的地理信息系统服务器,可以提供各种地图服务,包括WFS服务。 通过将Cesium和Geoserver结合起来,我们可以实现矢量图的编辑,具体步骤如下: 1. 首先,需要在Geoserver上创建一个WFS数据源,并发布一个WFS服务。这里不再赘述具体的步骤,可以参考Geoserver的官方文档。 2. 在Cesium中,可以使用Cesium的DataSource来加载WFS服务中的图层数据。具体步骤如下: ```js // 创建一个DataSource var dataSource = new Cesium.GeoJsonDataSource(); // 加载WFS服务中的数据 var promise = dataSource.load('http://localhost:8080/geoserver/wfs', { service: 'WFS', version: '2.0.0', request: 'GetFeature', typeName: 'myworkspace:mylayer', outputFormat: 'application/json' }); // 数据加载完成后,将数据源添加到场景中 promise.then(function() { viewer.dataSources.add(dataSource); }); ``` 3. 接下来,可以使用Cesium的Entity来表示每个要素,并添加一些编辑功能。例如,可以使用Cesium的PolylineGraphics来表示线要素,并添加编辑功能。 ```js // 创建一个线要素 var entity = dataSource.entities.add({ polyline: { positions: Cesium.Cartesian3.fromDegreesArray([ -110.0, 38.0, -105.0, 40.0 ]), width: 5, material: Cesium.Color.RED } }); // 添加编辑功能 entity.polyline.editable = true; entity.polyline.width = 10; entity.polyline.material = Cesium.Color.BLUE; ``` 4. 最后,可以监听Cesium的编辑事件,将编辑结果保Geoserver中。 ```js // 监听编辑事件 dataSource.entities.collectionChanged.addEventListener(function(collection, added, removed, changed) { // 将编辑结果保Geoserver中 // ... }); ``` 以上是实现矢量图编辑的大致步骤,具体的实现可能会因为数据源的不同而有所差异。希望对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值