Class FeatureDataset
- java.lang.Object
-
- org.locationtech.jts.jump.feature.FeatureDataset
-
- All Implemented Interfaces:
Serializable
,FeatureCollection
public class FeatureDataset extends Object implements FeatureCollection, Serializable
Default implementation of FeatureCollection.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description FeatureDataset(Collection newFeatures, FeatureSchema featureSchema)
Creates a FeatureDataset, initialized with a group of Features.FeatureDataset(FeatureSchema featureSchema)
Creates a FeatureDataset.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Feature feature)
Adds a feature to this collection.void
addAll(Collection features)
Adds multiple features to this collection.void
clear()
Removes all features from this collection.boolean
contains(Feature feature)
Returns whether or not this Feature is in this collectionorg.locationtech.jts.geom.Envelope
getEnvelope()
Because the envelope is cached, the envelope may be incorrect if you later change a Feature's geometry using Feature#setGeometry.Feature
getFeature(int index)
Returns the Feature at the given index (zero-based).List
getFeatures()
Returns an unmodifiable List of the features in this collectionFeatureSchema
getFeatureSchema()
Returns information about this FeatureCollectionvoid
invalidateEnvelope()
Clears the cached envelope of this FeatureDataset's Features.boolean
isEmpty()
Returns whether this collection has no features.Iterator
iterator()
Returns an Iterator over the featuresList
query(org.locationtech.jts.geom.Envelope envelope)
A quick search for features, using an envelope comparison.Collection
remove(org.locationtech.jts.geom.Envelope env)
Removes the features which intersect the given envelopevoid
remove(Feature feature)
Removes a feature from this collection.void
removeAll(Collection features)
Removes multiple features from this collection.int
size()
Returns the number of features in this collection.
-
-
-
Constructor Detail
-
FeatureDataset
public FeatureDataset(Collection newFeatures, FeatureSchema featureSchema)
Creates a FeatureDataset, initialized with a group of Features.- Parameters:
newFeatures
- an initial group of features to add to this FeatureDatasetfeatureSchema
- the types of the attributes of the features in this collection
-
FeatureDataset
public FeatureDataset(FeatureSchema featureSchema)
Creates a FeatureDataset.- Parameters:
featureSchema
- the types of the attributes of the features in this collection
-
-
Method Detail
-
getFeature
public Feature getFeature(int index)
Returns the Feature at the given index (zero-based).
-
getFeatureSchema
public FeatureSchema getFeatureSchema()
Description copied from interface:FeatureCollection
Returns information about this FeatureCollection- Specified by:
getFeatureSchema
in interfaceFeatureCollection
- Returns:
- the types of the attributes of the features in this collection
-
getEnvelope
public org.locationtech.jts.geom.Envelope getEnvelope()
Because the envelope is cached, the envelope may be incorrect if you later change a Feature's geometry using Feature#setGeometry.- Specified by:
getEnvelope
in interfaceFeatureCollection
- Returns:
- the smallest Envelope enclosing all the Features in this collection
-
getFeatures
public List getFeatures()
Description copied from interface:FeatureCollection
Returns an unmodifiable List of the features in this collection- Specified by:
getFeatures
in interfaceFeatureCollection
- Returns:
- a read-only view of all the features
-
isEmpty
public boolean isEmpty()
Description copied from interface:FeatureCollection
Returns whether this collection has no features.- Specified by:
isEmpty
in interfaceFeatureCollection
- Returns:
- whether or not the size of this collection is 0
-
query
public List query(org.locationtech.jts.geom.Envelope envelope)
Description copied from interface:FeatureCollection
A quick search for features, using an envelope comparison.- Specified by:
query
in interfaceFeatureCollection
- Parameters:
envelope
- the envelope to query against- Returns:
- a List containing the features whose envelopes intersect the given envelope
-
add
public void add(Feature feature)
Description copied from interface:FeatureCollection
Adds a feature to this collection.- Specified by:
add
in interfaceFeatureCollection
- Parameters:
feature
- a Feature to add to the end of this collection
-
contains
public boolean contains(Feature feature)
Returns whether or not this Feature is in this collection- Returns:
- true if this feature is in this collection, as determined using Feature#equals
-
remove
public Collection remove(org.locationtech.jts.geom.Envelope env)
Removes the features which intersect the given envelope- Specified by:
remove
in interfaceFeatureCollection
- Returns:
- the removed features
-
remove
public void remove(Feature feature)
Description copied from interface:FeatureCollection
Removes a feature from this collection.- Specified by:
remove
in interfaceFeatureCollection
- Parameters:
feature
- a Feature to remove from this collection
-
clear
public void clear()
Removes all features from this collection.- Specified by:
clear
in interfaceFeatureCollection
-
size
public int size()
Description copied from interface:FeatureCollection
Returns the number of features in this collection.- Specified by:
size
in interfaceFeatureCollection
- Returns:
- the number of features in this collection
-
iterator
public Iterator iterator()
Description copied from interface:FeatureCollection
Returns an Iterator over the features- Specified by:
iterator
in interfaceFeatureCollection
- Returns:
- an Iterator over the features
-
invalidateEnvelope
public void invalidateEnvelope()
Clears the cached envelope of this FeatureDataset's Features. Call this method when a Feature's Geometry is modified.
-
addAll
public void addAll(Collection features)
Description copied from interface:FeatureCollection
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.- Specified by:
addAll
in interfaceFeatureCollection
-
removeAll
public void removeAll(Collection features)
Description copied from interface:FeatureCollection
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.- Specified by:
removeAll
in interfaceFeatureCollection
-
-