首页 / 浏览问题 / WebGIS / 问题详情
ajax调用wfs100服务查询结果报错
26EXP 2022年01月17日

使用产品:supermap-iserver-10.2.1-windows-x64-deploy
操作系统:win10 x64
数据类型: 发布的wfs100服务
问题详细描述:ajax调用发布的wfs100服务,filter参数里面配置了ogc:Intersects节点,查询参数如下:

<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
  <ogc:Intersects>
    <ogc:PropertyName>GEOMETRY</ogc:PropertyName>
    <gml:Envelope xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326">
      <gml:lowerCorner>' + (lng - 0.00002) + ' ' + (lat - 0.00002) + '</gml:lowerCorner>
      <gml:upperCorner>' + (lng + 0.00002) + ' ' + (lat + 0.00002) + '</gml:upperCorner>
    </gml:Envelope>
  </ogc:Intersects>
</ogc:Filter>

结果报错了,提示:

<?xml version="1.0" encoding="UTF-8"?>
<ServiceExceptionReport xmlns="http://www.opengis.net/ogc" version="1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc http://localhost:8090/iserver/services/data-test/wfs100?request=getschema&amp;file=wfs,1.0.0,OGC-exception.xsd&amp;outputFormat=application/json&amp;SRSNAME=EPSG:4490">
	<ServiceException>
		com.supermap.services.OGCException: 读取Filter的Intersects信息失败,PropertyName或Geometry参数不合法
	</ServiceException>
</ServiceExceptionReport>

请问,在用ajax请求wfs100服务进行相交查询时,该怎么配置参数呢?我想通过传经纬度,和wfs服务进行相交查询,获取相交的面属性和空间数据。谢谢

1个回答

您好,看您这个报错是由于参数不对导致的,PropertyName或Geometry参数不合法,您是采用的组件进行查询吗
1,010EXP 2022年01月17日
不好意思,没理解什么是“组件进行查询”?

是<ogc:PropertyName>GEOMETRY</ogc:PropertyName>这个参数配置不对吗?

我说下我的步骤:

1.我发布了一个wfs服务

2.用ajax采用get请求,配置了filter查询参数

3.报错了“com.supermap.services.OGCException: 读取Filter的Intersects信息失败,PropertyName或Geometry参数不合法”

对于报错信息看不懂,不知道怎么修改,请问有对应的示例供参考吗?

您可以参考一下iserver的帮助文档,有相离的例子,相交是类似的

测试了几次,应该是对OGC的Intersects查询的兼容性问题,同一套数据,用GeoServer发布的服务就能查询,用超图的iServer发布的就报错,实在不知道怎么搞了

您还可以参考一下这个博客https://www.cnblogs.com/yangzhengier/p/12023940.html以及这个链接http://ask.supermap.com/92603

...