Interface FeatureCollection

All Superinterfaces:
Iterable<Feature>
All Known Implementing Classes:
CachingFeatureCollection, DynamicFeatureCollection, FeatureCollectionWrapper, FeatureDataset, IndexedFeatureCollection, ObservableFeatureCollection, OneItemFeatureCollection, PirolFeatureCollection, ThreadSafeFeatureCollectionWrapper

public interface FeatureCollection extends Iterable<Feature>
A collection of Features, with a special method for querying the Features that lie within a given Envelope.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(Feature feature)
    Adds a feature to this collection.
    void
    Adds multiple features to this collection.
    void
    Removes all features from this collection.
    org.locationtech.jts.geom.Envelope
    Returns the bounds of this collection.
    Returns an unmodifiable List of the features in this collection
    Returns information about this FeatureCollection
    boolean
    Returns whether this collection has no features.
    Returns an Iterator over the features
    query(org.locationtech.jts.geom.Envelope envelope)
    A quick search for features, using an envelope comparison.
    void
    remove(Feature feature)
    Removes a feature from this collection.
    remove(org.locationtech.jts.geom.Envelope env)
    Removes the features which intersect the given envelope
    void
    Removes multiple features from this collection.
    int
    Returns the number of features in this collection.

    Methods inherited from interface Iterable

    forEach, spliterator
  • Method Details

    • getFeatureSchema

      FeatureSchema getFeatureSchema()
      Returns information about this FeatureCollection
      Returns:
      the types of the attributes of the features in this collection
    • getEnvelope

      org.locationtech.jts.geom.Envelope getEnvelope()
      Returns the bounds of this collection.
      Returns:
      the smallest Envelope enclosing all the Features in this collection
    • size

      int size()
      Returns the number of features in this collection.
      Returns:
      the number of features in this collection
    • isEmpty

      boolean isEmpty()
      Returns whether this collection has no features.
      Returns:
      whether or not the size of this collection is 0
    • getFeatures

      List<Feature> getFeatures()
      Returns an unmodifiable List of the features in this collection
      Returns:
      a read-only view of all the features
    • iterator

      Iterator<Feature> iterator()
      Returns an Iterator over the features
      Specified by:
      iterator in interface Iterable<Feature>
      Returns:
      an Iterator over the features
    • query

      List<Feature> query(org.locationtech.jts.geom.Envelope envelope)
      A quick search for features, using an envelope comparison.
      Parameters:
      envelope - the envelope to query against
      Returns:
      features whose envelopes intersect the given envelope
    • add

      void add(Feature feature)
      Adds a feature to this collection.
      Parameters:
      feature - a Feature to add to the end of this collection
    • addAll

      void addAll(Collection<Feature> features)
      Adds multiple features to this collection. To be preferred over #add for adding multiple features, because in some systems (like the JUMP Workbench) fewer events will be fired.
    • removeAll

      void removeAll(Collection<Feature> features)
      Removes multiple features from this collection. To be preferred over #remove for removing multiple features, because in some systems (like the JUMP Workbench) fewer events will be fired.
    • remove

      void remove(Feature feature)
      Removes a feature from this collection.
      Parameters:
      feature - a Feature to remove from this collection
    • clear

      void clear()
      Removes all features from this collection.
    • remove

      Collection<Feature> remove(org.locationtech.jts.geom.Envelope env)
      Removes the features which intersect the given envelope
      Returns:
      the removed features