1

是否有一种解决方案可以使用过滤器从 Geoserver 请求 GML 层,例如使用bbox

http://localhost:8080/geoserver/tiger/ows?service=WFS&version=1.0.0&
request=GetFeature&typeName=tiger:poi&maxFeatures=50&
bbox=-74.0104611,40.70758763,-74.00153046439813,40.719885123828675

结果将根据bbox用户输入的参数对边界框(纬度/经度)进行特定过滤。

结果:

<wfs:FeatureCollection xsi:schemaLocation="http://www.census.gov http://127.0.0.1:8080/geoserver/tiger/wfs?service=WFS&version=1.0.0&request=DescribeFeatureType&typeName=tiger%3Apoi http://www.opengis.net/wfs http://127.0.0.1:8080/geoserver/schemas/wfs/1.0.0/WFS-basic.xsd">
    <gml:boundedBy>
        <gml:null>unknown</gml:null>
    </gml:boundedBy>
    <gml:featureMember>
        <tiger:poi fid="poi.4">
            <tiger:the_geom>
                <gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"><gml:coordinates decimal="." cs="," ts=" ">-74.00857344,40.71194565</gml:coordinates></gml:Point>
            </tiger:the_geom>
            <tiger:NAME>lox</tiger:NAME>
            <tiger:THUMBNAIL>pics/22037884-Ti.jpg</tiger:THUMBNAIL>
            <tiger:MAINPAGE>pics/22037884-L.jpg</tiger:MAINPAGE>
         </tiger:poi></gml:featureMember>
</wfs:FeatureCollection>

现在的问题,我想根据 过滤数据<tiger:NAME>lox</tiger:NAME>,已经尝试tiger:NAME=lox在请求时输入作为参数,结果就像不输入参数时一样。有解决方案吗?

4

1 回答 1

2

基于WFS-RequestGeoserver Filter中的带有空间过滤器的过滤器编码。我发现有一个参数命名filter,值可以这样输入:

http://localhost:8080/geoserver/tiger/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=tiger:poi&maxFeatures=2&filter=<PropertyIsEqualTo><PropertyName>NAME</PropertyName><Literal>lox</Literal></PropertyIsEqualTo>

于 2012-05-28T08:03:34.997 回答