Class FeatureFenceParameters


  • public class FeatureFenceParameters
    extends FenceParameters
    Geotrigger fence data created from features.

    The features that create a FeatureFenceParameters provide a set of geometries (and attributes) that define targets for the Geotrigger. For example, if the condition is "notify me when my position comes within 50 meters of one of my areas of interest", the fence data are "my areas of interest" and each Feature is one area of interest. Create a FeatureFenceParameters using a FeatureTable. The features can have point, line, or polygon geometry. For points and lines, you must also supply a FenceParameters.getBufferDistance(). Each feature in the table represents a single fence. You can filter features using attributes or geometry by supplying a where clause. For example, you could further refine "my areas of interest" to be "my areas of interest that are open and are in California".

    Since:
    100.12.0
    • Constructor Detail

      • FeatureFenceParameters

        public FeatureFenceParameters​(FeatureTable featureTable)
        Creates a FeatureFenceParameters using all of the features in the FeatureTable.
        Parameters:
        featureTable - the FeatureTable that contains the features to use in the FeatureFenceParameters
        Throws:
        IllegalArgumentException - if featureTable is null
        Since:
        100.12.0
      • FeatureFenceParameters

        public FeatureFenceParameters​(FeatureTable featureTable,
                                      double bufferDistance)
        Creates a FeatureFenceParameters using all of the features in the FeatureTable.
        Parameters:
        featureTable - the FeatureTable that contains the features to use in the FeatureFenceParameters
        bufferDistance - a buffer distance in meters to apply to the features when checking if a FenceGeotrigger condition is met
        Throws:
        IllegalArgumentException - if featureTable is null
        Since:
        100.12.0
    • Method Detail

      • getAreaOfInterest

        public Geometry getAreaOfInterest()
        Gets the geometry that can be used to spatially filter fences.

        This needs to be either an Envelope or Polygon. Use this to define which features in the FeatureTable are to be used as fences by defining an area of interest. If this property is null we will use the full extent of the feature table.

        Returns:
        the geometry that can be used to spatially filter fences, or null if none
        Since:
        100.12.0
      • setAreaOfInterest

        public void setAreaOfInterest​(Geometry areaOfInterest)
        Sets the geometry that can be used to spatially filter fences.

        This needs to be either an Envelope or Polygon. Use this to define which features in the FeatureTable are to be used as fences by defining an area of interest. If this parameter is null we will use the full extent of the feature table.

        Parameters:
        areaOfInterest - the geometry that can be used to spatially filter fences
        Since:
        100.12.0
      • getFeatureTable

        public FeatureTable getFeatureTable()
        Gets the FeatureTable that contains the features to use in the FeatureFenceParameters.
        Returns:
        the FeatureTable that contains the features to use in the FeatureFenceParameters
        Since:
        100.12.0
      • getWhereClause

        public String getWhereClause()
        Gets a where clause that defines the features from the FeatureTable to use as fences.

        The string returned by FeatureFenceParameters.getWhereClause() should follow standard SQL syntax similar to what is discussed in the document SQL reference for query expressions used in ArcGIS.

        Returns:
        a where clause that defines the features from the FeatureTable to use as fences
        Since:
        100.12.0
      • setWhereClause

        public void setWhereClause​(String whereClause)
        Sets a where clause that defines the features from the FeatureTable to use as fences.

        The string that is passed to FeatureFenceParameters.setWhereClause(String) should follow standard SQL syntax similar to what is discussed in the document SQL reference for query expressions used in ArcGIS.

        Parameters:
        whereClause - a where clause that defines the features from the FeatureTable to use as fences
        Throws:
        IllegalArgumentException - if whereClause is null
        Since:
        100.12.0