首页 / 浏览问题 / 云GIS / 问题详情
iServer查询筛选
57EXP 2017年06月14日
用WFS100服务查询的时候,通过<Filter>标签进行筛选。当字段是整形的时候,能正常筛选。当字段是文本型或者是宽字符的时候就不行。

我是这样写的

(<Filter>

<ogc:PropertyIsLike wildCard="*" singleChar="$" escapeChar="!" xmlns:ogc="http://www.opengis.net/ogc" >

<ogc:PropertyName >QUERYCONDITION</ogc:PropertyName>

<ogc:Literal>"1"*</ogc:Literal>

</ogc:PropertyIsLike>

</Filter>)

是不是条件标签<ogc:Literal>的问题

1个回答

你好,参考iServer帮助文档的说明:

 请求
点击FilterType找到Literal,可以发现它的说明是:
 用来表示数学或几何值 
然后,经验证,支持字符,验证URL是:http://support.supermap.com.cn:8090/iserver/services/data-world/wfs100
验证POST请求体如下:

<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd">
    <wfs:Query typeName="World:Capitals" xmlns:World="http://www.supermap.com/World">
        <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
            <ogc:PropertyIsEqualTo>
                <ogc:PropertyName>CAPITAL</ogc:PropertyName>
                <ogc:Literal>北京</ogc:Literal>
            </ogc:PropertyIsEqualTo>
        </ogc:Filter>
    </wfs:Query>
</wfs:GetFeature>

那么可能就是PropertyIsLike的问题,建议把 "1"* 改为 1* 试试, 1 可以换成其他字符,不要加引号。

1,780EXP 2017年06月14日

就是引号问题,

<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd">
    <wfs:Query typeName="World:Capitals" xmlns:World="http://www.supermap.com/World">
        <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
            <ogc:PropertyIsLike wildCard="*" singleChar="." escape="!">
                <ogc:PropertyName>CAPITAL</ogc:PropertyName>
                <ogc:Literal>北*</ogc:Literal>
            </ogc:PropertyIsLike>
        </ogc:Filter>
    </wfs:Query>
</wfs:GetFeature>

http://support.supermap.com.cn:8090/iserver/services/data-world/wfs100
还是这个地址
抱歉有点啰嗦,看到问题后边试边答的。。。

我的字段里有数字,有文本。然后我这样查

(<Filter>

<ogc:PropertyIsLike wildCard="*" singleChar="$" escapeChar="!" xmlns:ogc="http://www.opengis.net/ogc" >

<ogc:PropertyName >QUERYCONDITION</ogc:PropertyName>

<ogc:Literal>1*</ogc:Literal>

</ogc:PropertyIsLike>

</Filter>)

是查出来的是空的。你试试在文本字段里面输入数字 案首按数字查,能不能,
...