Search in sources :

Example 21 with PropertyNameType

use of org.geotoolkit.ogc.xml.v100.PropertyNameType in project geotoolkit by Geomatys.

the class FilterFactoryImpl method greaterOrEqual.

@Override
public BinaryComparisonOperator<Object> greaterOrEqual(final Expression<Object, ?> expr1, final Expression<Object, ?> expr2) {
    LiteralType lit = null;
    PropertyNameType propName = null;
    if (expr1 instanceof PropertyNameType) {
        propName = (PropertyNameType) expr1;
    } else if (expr2 instanceof PropertyNameType) {
        propName = (PropertyNameType) expr2;
    }
    if (expr1 instanceof LiteralType) {
        lit = (LiteralType) expr1;
    } else if (expr2 instanceof LiteralType) {
        lit = (LiteralType) expr2;
    }
    return new PropertyIsGreaterThanOrEqualToType(lit, propName, null);
}
Also used : LiteralType(org.geotoolkit.ogc.xml.v110.LiteralType) PropertyIsGreaterThanOrEqualToType(org.geotoolkit.ogc.xml.v110.PropertyIsGreaterThanOrEqualToType) PropertyNameType(org.geotoolkit.ogc.xml.v110.PropertyNameType)

Example 22 with PropertyNameType

use of org.geotoolkit.ogc.xml.v100.PropertyNameType in project geotoolkit by Geomatys.

the class FilterFactoryImpl method touches.

@Override
public BinarySpatialOperator<Object> touches(final Expression<Object, ?> propertyName1, final Expression<Object, ?> geometry2) {
    PropertyNameType propertyName = null;
    if (propertyName1 instanceof PropertyNameType) {
        propertyName = (PropertyNameType) propertyName1;
    } else {
        throw new IllegalArgumentException("unexpected type instead of propertyNameType: " + propertyName1.getClass().getSimpleName());
    }
    // we transform the JTS geometry into a GML geometry
    Object geom = null;
    if (geometry2 instanceof LiteralType) {
        geom = ((LiteralType) geometry2).getValue();
        geom = GeometryToGML(geom);
    }
    return new TouchesType(propertyName, geom);
}
Also used : LiteralType(org.geotoolkit.ogc.xml.v110.LiteralType) TouchesType(org.geotoolkit.ogc.xml.v110.TouchesType) PropertyNameType(org.geotoolkit.ogc.xml.v110.PropertyNameType)

Example 23 with PropertyNameType

use of org.geotoolkit.ogc.xml.v100.PropertyNameType in project geotoolkit by Geomatys.

the class FilterFactoryImpl method toverlaps.

@Override
public TemporalOperator<Object> toverlaps(final Expression<Object, ?> expr1, final Expression<Object, ?> expr2) {
    Object temporal = null;
    PropertyNameType propName = null;
    if (expr1 instanceof PropertyNameType) {
        propName = (PropertyNameType) expr1;
        temporal = expr2;
    } else if (expr2 instanceof PropertyNameType) {
        propName = (PropertyNameType) expr2;
        temporal = expr1;
    }
    return new TimeOverlapsType(propName.getXPath(), temporal);
}
Also used : TimeOverlapsType(org.geotoolkit.ogc.xml.v110.TimeOverlapsType) PropertyNameType(org.geotoolkit.ogc.xml.v110.PropertyNameType)

Example 24 with PropertyNameType

use of org.geotoolkit.ogc.xml.v100.PropertyNameType in project geotoolkit by Geomatys.

the class FilterFactoryImpl method bbox.

@Override
public BinarySpatialOperator<Object> bbox(final Expression geometry, final Envelope bounds) {
    String propertyName = "";
    final String CRSName;
    if (geometry instanceof PropertyNameType) {
        propertyName = ((PropertyNameType) geometry).getXPath();
    }
    if (bounds.getCoordinateReferenceSystem() != null) {
        CRSName = IdentifiedObjects.getIdentifierOrName(bounds.getCoordinateReferenceSystem());
    } else {
        CRSName = "CRS:84";
    }
    return new BBOXType(propertyName, bounds.getMinimum(0), bounds.getMinimum(1), bounds.getMaximum(0), bounds.getMaximum(1), CRSName);
}
Also used : BBOXType(org.geotoolkit.ogc.xml.v110.BBOXType) LineString(org.locationtech.jts.geom.LineString) PropertyNameType(org.geotoolkit.ogc.xml.v110.PropertyNameType)

Example 25 with PropertyNameType

use of org.geotoolkit.ogc.xml.v100.PropertyNameType in project geotoolkit by Geomatys.

the class FilterFactoryImpl method metBy.

@Override
public TemporalOperator<Object> metBy(final Expression<Object, ?> expr1, final Expression<Object, ?> expr2) {
    Object temporal = null;
    PropertyNameType propName = null;
    if (expr1 instanceof PropertyNameType) {
        propName = (PropertyNameType) expr1;
        temporal = expr2;
    } else if (expr2 instanceof PropertyNameType) {
        propName = (PropertyNameType) expr2;
        temporal = expr1;
    }
    return new TimeMetByType(propName.getXPath(), temporal);
}
Also used : TimeMetByType(org.geotoolkit.ogc.xml.v110.TimeMetByType) PropertyNameType(org.geotoolkit.ogc.xml.v110.PropertyNameType)

Aggregations

PropertyNameType (org.geotoolkit.ogc.xml.v110.PropertyNameType)62 JAXBElement (javax.xml.bind.JAXBElement)46 LiteralType (org.geotoolkit.ogc.xml.v110.LiteralType)38 Test (org.junit.Test)38 Unmarshaller (javax.xml.bind.Unmarshaller)37 Marshaller (javax.xml.bind.Marshaller)36 ValueReference (org.opengis.filter.ValueReference)36 Literal (org.opengis.filter.Literal)30 Filter (org.opengis.filter.Filter)26 PropertyNameType (org.geotoolkit.ogc.xml.v100.PropertyNameType)20 BinaryComparisonOperator (org.opengis.filter.BinaryComparisonOperator)20 LiteralType (org.geotoolkit.ogc.xml.v100.LiteralType)16 FilterType (org.geotoolkit.ogc.xml.v110.FilterType)16 PropertyNameType (net.opengis.filter.v_1_1_0.PropertyNameType)13 FilterType (org.geotoolkit.ogc.xml.v100.FilterType)12 Expression (org.opengis.filter.Expression)12 ComparisonOpsType (org.geotoolkit.ogc.xml.v100.ComparisonOpsType)10 BinaryComparisonOpType (org.geotoolkit.ogc.xml.v100.BinaryComparisonOpType)9 BinaryComparisonOpType (org.geotoolkit.ogc.xml.v110.BinaryComparisonOpType)9 ComparisonOpsType (org.geotoolkit.ogc.xml.v110.ComparisonOpsType)9