首页 / 浏览问题 / 云GIS / 问题详情
iServer发布的wms111服务,GetFeatureInfo报错
22EXP 2023年08月10日
如题,iServer发布了wms111服务,openlayers里可以正常调用,使用getFeatureInfoUrl获取到url为(/iServerUrl是前端代理地址)
/iServerUrl/map-ZSDT/wms111/ZSDT(总)?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&FORMAT=image%2Fpng&TRANSPARENT=true&QUERY_LAYERS=ZSDT%EF%BC%88%E6%80%BB%EF%BC%89&LAYERS=ZSDT%EF%BC%88%E6%80%BB%EF%BC%89&SRS=EPSG%3A4326&tiled=true&INFO_FORMAT=text%2Fhtml&X=105&Y=118&WIDTH=256&HEIGHT=256&STYLES=&BBOX=118.4765625%2C31.46484375%2C118.65234375%2C31.640625
这个地址结果为
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ServiceExceptionReport SYSTEM "http://localhost:8090/iserver/services/map-ZSDT/wms111/ZSDT%EF%BC%88%E6%80%BB%EF%BC%89?request=getdtd&file=wms,1.1.1,exception_1_1_1.dtd"><ServiceExceptionReport version="1.1.1"><ServiceException code="LayerNotQueryable">参数 QUERY_LAYERS 参数中包含不可查询的图层:ZSDT(总)</ServiceException></ServiceExceptionReport>

请问是哪里有问题呢?

1个回答

您好,根据报错信息来看是ZSDT(总)图层不支持查询。GetFeatureInfo操作对于 queryable 属性为“1”的图层有效,对于其他图层客户端不能发送 GetFeatureInfo 操作请求。请检查ZSDT(总)图层的 queryable 属性是否为“1”。
3,143EXP 2023年08月10日
请问这个属性是从哪里设置呢?
您好,这个参数不支持设置,您这个layer名称ZSDT(总)像是整个地图的名称,这种是不支持查询的,应该对地图内具体图层进行查询。我这边测试桌面配置的地图发布wms服务,地图内图层queryable 属性均为“1”。

您好,发布的图层是同事用idesktop做的地图,如下图

ZSDT(总)是汇总了下面的图层,但下面的单独图层queryable属性也是0,如下图

您说的地图内具体图层进行查询是什么意思呢?

标牌不是图层哈,是分组。标牌下面两个图层是具体图层。
可是发布wms的时候没有具体到图层的选项呀,调用的时候只能调这个分组的名字?

不是啊,分组名字对应的是0,没法查询哇。得对应具体图层才能查询,不然没法对应到具体数据

这两个才是具体图层,才能查询。

哦哦哦,我理解你的意思了。那么查询有例子可以参考一下吗?
好的,我看一下,谢谢!
...