[OpenLayers-Dev] [OpenLayers-Users] Help to create FeatureId filter & OpenLayers.Filter.Logical.NOT

Eric Lemoine eric.lemoine at camptocamp.com
Sun Dec 13 15:42:17 EST 2009


On Sunday, December 13, 2009, Ivan Grcic <ivan.grcic at geofoto.hr> wrote:
> From the Filter Impl. Specs:
>
> The XML encoding for the logical operators AND, OR and NOT is defined
> by the following XML Schema fragment:
>
>     <element name="And" type="ogc:BinaryLogicOpType"
> substitutionGroup="ogc:logicOps"/>
>     <element name="Or" type="ogc:BinaryLogicOpType"
> substitutionGroup="ogc:logicOps"/>
>     <element name="Not" type="ogc:UnaryLogicOpType"
> substitutionGroup="ogc:logicOps"/>
>     <element name="logicOps" type="ogc:LogicOpsType" abstract="true"/>
>     <complexType name="LogicOpsType" abstract="true"/>
>     <complexType name="BinaryLogicOpType">
>         <complexContent>
>             <extension base="ogc:LogicOpsType">
>                 <choice minOccurs="2" maxOccurs="unbounded">
>                     <element ref="ogc:comparisonOps"/>
>                     <element ref="ogc:spatialOps"/>
>                     <element ref="ogc:logicOps"/>
>                 </choice>
>             </extension>
>         </complexContent>
>     </complexType>
>     <complexType name="UnaryLogicOpType">
>         <complexContent>
>             <extension base="ogc:LogicOpsType">
>                 <sequence>
>                     <choice>
>                         <element ref="ogc:comparisonOps"/>
>                         <element ref="ogc:spatialOps"/>
>                         <element ref="ogc:logicOps"/>
>                     </choice>
>                 </sequence>
>             </extension>
>         </complexContent>
>     </complexType>
>
>
> It doesnt have FeatureIdType choice. And putting filter manually into
> geoserver expectedly throws:
>
> Your .SLD file does not conform to the SLD Schema
> cvc-complex-type.2.4.a: Invalid content starting with element
> 'ogc:FeatureId'. One of '{"http://www.opengis.net/ogc":comparisonOps,
> "http://www.opengis.net/ogc":spatialOps,
> "http://www.opengis.net/ogc":logicOps}' is expected
>
> But creating filter in OL and making request DOES return all the
> features but listed ones. So geoserver does support it.
>
> Does anyone know what would be the correct (compliant) way then to
> make filter that will fetch all the features except the ones in
> FeatureIds ?

just an attempt: as opposed to using a featureid filter can you use a
comparison filter operating on the feature id?

cheers,

-- 
Eric Lemoine

Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac, Cedex

Tel : 00 33 4 79 44 44 96
Mail : eric.lemoine at camptocamp.com
http://www.camptocamp.com



More information about the Dev mailing list