Module pygw.query.vector.spatial_temporal_constraints_builder

Source code
#
# Copyright (c) 2013-2022 Contributors to the Eclipse Foundation

#
# See the NOTICE file distributed with this work for additional information regarding copyright
# ownership. All rights reserved. This program and the accompanying materials are made available
# under the terms of the Apache License, Version 2.0 which accompanies this distribution and is
# available at http://www.apache.org/licenses/LICENSE-2.0.txt
# ===============================================================================================

from pygw.base import GeoWaveObject
from pygw.base.type_conversions import GeometryType
from pygw.base.type_conversions import DateType
from pygw.config import geowave_pkg

from ..query_constraints import QueryConstraints


class SpatialTemporalConstraintsBuilder(GeoWaveObject):
    """
    A class that wraps the functionality of the GeoWave SpatialTemporalConstraintsBuilder.
    This class should not be constructed directly and instead should be created using
    the vector query constraints factory.
    """

    def no_spatial_constraints(self):
        """
        Use no spatial constraints in the query.  This is the default.

        Returns:
            This spatial temporal constraints builder.
        """
        self._java_ref.noSpatialConstraints()
        return self

    def spatial_constraints(self, geometry):
        """
        Use the given geometry as a spatial constraint.

        Args:
            geometry (shapely.geometry.base.BaseGeometry): The geometry to use in
                the constraint.
        Returns:
            This spatial temporal constraints builder.
        """
        self._java_ref.spatialConstraints(GeometryType().to_java(geometry))
        return self

    def spatial_constraints_crs(self, crs_code):
        """
        Speciify the coordinate reference system to use for the constraint.

        Args:
            crs_code (str): The CRS code to use.
        Returns:
            This spatial temporal constraints builder.
        """
        self._java_ref.spatialConstraintsCrs(crs_code)
        return self

    def spatial_constraints_compare_operation(self, spatial_compare_op):
        """
        Specify the spatial compare operation to use in conjuction with the provided
        spatial constraint.  Default is `intersects`. Possible values are `contains`,
        `overlaps`, `intersects`, `touches`, `within`, `disjoint`, `crosses`, `equals`.

        Args:
            spatial_compare_op (str): The spatial compare operation to use.
        Returns:
            This spatial temporal constraints builder.
        """
        j_compare_op = geowave_pkg.core.geotime.store.query.filter.SpatialQueryFilter.CompareOperation.valueOf(
            spatial_compare_op.upper())
        self._java_ref.spatialConstraintsCompareOperation(j_compare_op)
        return self

    def no_temporal_constraints(self):
        """
        Use no temporal constraints with the query.  This is the default.

        Returns:
            This spatial temporal constraints builder.
        """
        self._java_ref.noTemporalConstraints()
        return self

    def add_time_range(self, start_time, end_time):
        """
        Add a time range constraint to the query.

        Args:
            start_time (datetime): The start time of the constraint (inclusive).
            end_time (datetime): The end time of the constraint (exclusive).
        Returns:
            This spatial temporal constraints builder.
        """
        dt = DateType()
        self._java_ref.addTimeRange(dt.to_java(start_time), dt.to_java(end_time))
        return self

    def build(self):
        """
        Builds the configured spatial temporal constraint.

        Returns:
            A `pygw.query.query_constraints.QueryConstraints` with the configured spatial/temporal constraints.
        """
        return QueryConstraints(self._java_ref.build())

Classes

class SpatialTemporalConstraintsBuilder (java_ref)

A class that wraps the functionality of the GeoWave SpatialTemporalConstraintsBuilder. This class should not be constructed directly and instead should be created using the vector query constraints factory.

Source code
class SpatialTemporalConstraintsBuilder(GeoWaveObject):
    """
    A class that wraps the functionality of the GeoWave SpatialTemporalConstraintsBuilder.
    This class should not be constructed directly and instead should be created using
    the vector query constraints factory.
    """

    def no_spatial_constraints(self):
        """
        Use no spatial constraints in the query.  This is the default.

        Returns:
            This spatial temporal constraints builder.
        """
        self._java_ref.noSpatialConstraints()
        return self

    def spatial_constraints(self, geometry):
        """
        Use the given geometry as a spatial constraint.

        Args:
            geometry (shapely.geometry.base.BaseGeometry): The geometry to use in
                the constraint.
        Returns:
            This spatial temporal constraints builder.
        """
        self._java_ref.spatialConstraints(GeometryType().to_java(geometry))
        return self

    def spatial_constraints_crs(self, crs_code):
        """
        Speciify the coordinate reference system to use for the constraint.

        Args:
            crs_code (str): The CRS code to use.
        Returns:
            This spatial temporal constraints builder.
        """
        self._java_ref.spatialConstraintsCrs(crs_code)
        return self

    def spatial_constraints_compare_operation(self, spatial_compare_op):
        """
        Specify the spatial compare operation to use in conjuction with the provided
        spatial constraint.  Default is `intersects`. Possible values are `contains`,
        `overlaps`, `intersects`, `touches`, `within`, `disjoint`, `crosses`, `equals`.

        Args:
            spatial_compare_op (str): The spatial compare operation to use.
        Returns:
            This spatial temporal constraints builder.
        """
        j_compare_op = geowave_pkg.core.geotime.store.query.filter.SpatialQueryFilter.CompareOperation.valueOf(
            spatial_compare_op.upper())
        self._java_ref.spatialConstraintsCompareOperation(j_compare_op)
        return self

    def no_temporal_constraints(self):
        """
        Use no temporal constraints with the query.  This is the default.

        Returns:
            This spatial temporal constraints builder.
        """
        self._java_ref.noTemporalConstraints()
        return self

    def add_time_range(self, start_time, end_time):
        """
        Add a time range constraint to the query.

        Args:
            start_time (datetime): The start time of the constraint (inclusive).
            end_time (datetime): The end time of the constraint (exclusive).
        Returns:
            This spatial temporal constraints builder.
        """
        dt = DateType()
        self._java_ref.addTimeRange(dt.to_java(start_time), dt.to_java(end_time))
        return self

    def build(self):
        """
        Builds the configured spatial temporal constraint.

        Returns:
            A `pygw.query.query_constraints.QueryConstraints` with the configured spatial/temporal constraints.
        """
        return QueryConstraints(self._java_ref.build())

Ancestors

Methods

def add_time_range(self, start_time, end_time)

Add a time range constraint to the query.

Args

start_time : datetime
The start time of the constraint (inclusive).
end_time : datetime
The end time of the constraint (exclusive).

Returns

This spatial temporal constraints builder.

Source code
def add_time_range(self, start_time, end_time):
    """
    Add a time range constraint to the query.

    Args:
        start_time (datetime): The start time of the constraint (inclusive).
        end_time (datetime): The end time of the constraint (exclusive).
    Returns:
        This spatial temporal constraints builder.
    """
    dt = DateType()
    self._java_ref.addTimeRange(dt.to_java(start_time), dt.to_java(end_time))
    return self
def build(self)

Builds the configured spatial temporal constraint.

Returns

A QueryConstraints with the configured spatial/temporal constraints.

Source code
def build(self):
    """
    Builds the configured spatial temporal constraint.

    Returns:
        A `pygw.query.query_constraints.QueryConstraints` with the configured spatial/temporal constraints.
    """
    return QueryConstraints(self._java_ref.build())
def no_spatial_constraints(self)

Use no spatial constraints in the query. This is the default.

Returns

This spatial temporal constraints builder.

Source code
def no_spatial_constraints(self):
    """
    Use no spatial constraints in the query.  This is the default.

    Returns:
        This spatial temporal constraints builder.
    """
    self._java_ref.noSpatialConstraints()
    return self
def no_temporal_constraints(self)

Use no temporal constraints with the query. This is the default.

Returns

This spatial temporal constraints builder.

Source code
def no_temporal_constraints(self):
    """
    Use no temporal constraints with the query.  This is the default.

    Returns:
        This spatial temporal constraints builder.
    """
    self._java_ref.noTemporalConstraints()
    return self
def spatial_constraints(self, geometry)

Use the given geometry as a spatial constraint.

Args

geometry : shapely.geometry.base.BaseGeometry
The geometry to use in the constraint.

Returns

This spatial temporal constraints builder.

Source code
def spatial_constraints(self, geometry):
    """
    Use the given geometry as a spatial constraint.

    Args:
        geometry (shapely.geometry.base.BaseGeometry): The geometry to use in
            the constraint.
    Returns:
        This spatial temporal constraints builder.
    """
    self._java_ref.spatialConstraints(GeometryType().to_java(geometry))
    return self
def spatial_constraints_compare_operation(self, spatial_compare_op)

Specify the spatial compare operation to use in conjuction with the provided spatial constraint. Default is intersects. Possible values are contains, overlaps, intersects, touches, within, disjoint, crosses, equals.

Args

spatial_compare_op : str
The spatial compare operation to use.

Returns

This spatial temporal constraints builder.

Source code
def spatial_constraints_compare_operation(self, spatial_compare_op):
    """
    Specify the spatial compare operation to use in conjuction with the provided
    spatial constraint.  Default is `intersects`. Possible values are `contains`,
    `overlaps`, `intersects`, `touches`, `within`, `disjoint`, `crosses`, `equals`.

    Args:
        spatial_compare_op (str): The spatial compare operation to use.
    Returns:
        This spatial temporal constraints builder.
    """
    j_compare_op = geowave_pkg.core.geotime.store.query.filter.SpatialQueryFilter.CompareOperation.valueOf(
        spatial_compare_op.upper())
    self._java_ref.spatialConstraintsCompareOperation(j_compare_op)
    return self
def spatial_constraints_crs(self, crs_code)

Speciify the coordinate reference system to use for the constraint.

Args

crs_code : str
The CRS code to use.

Returns

This spatial temporal constraints builder.

Source code
def spatial_constraints_crs(self, crs_code):
    """
    Speciify the coordinate reference system to use for the constraint.

    Args:
        crs_code (str): The CRS code to use.
    Returns:
        This spatial temporal constraints builder.
    """
    self._java_ref.spatialConstraintsCrs(crs_code)
    return self

Inherited members