public interface SimpleFeatureCollection extends FeatureCollection<SimpleFeatureType,SimpleFeature>
Please keep in mind that a SimpleFeatureCollection is similar to a result set; and may not necessarily load everything in to memory. Treat each iterator as a forward only cursor in the JDBC sense; and take care to FeatureIterator.close() after use.
SimpleFeatureCollection provides streaming access with the following restrictions on use of
SimpleFeatureIterator
: You must call FeatureIterator.close()
. This allows
FeatureCollection to clean up any operating system resources used to access information.
Example (safe) use:
SimpleFeatureIterator iterator = simpleFeatureCollection.features();
try {
while( iterator.hasNext() ){
SimpleFeature feature = iterator.next();
System.out.println( feature.getID() );
}
}
finally {
iterator.close();
}
And in Java 7:
try ( SimpleFeatureIterator iterator = simpleFeatureCollection.features() ){
while( iterator.hasNext() ){
SimpleFeature feature = iterator.next();
System.out.println( feature.getID() );
}
}
Modifier and Type | Method and Description |
---|---|
SimpleFeatureIterator |
features()
Obtain a SimpleFeatureIterator of the Features within this SimpleFeatureCollection.
|
SimpleFeatureCollection |
sort(SortBy order)
Obtained sorted contents.
|
SimpleFeatureCollection |
subCollection(Filter filter)
SimpleFeatureCollection "view" indicated by provided filter.
|
SimpleFeatureIterator features()
The implementation of FeatureIterator must adhere to the rules of fail-fast concurrent
modification. In addition (to allow for resource backed collections) the
SimpleFeatureIterator.close()
method must be called.
Example use:
SimpleFeatureIterator iterator=collection.features();
try {
while( iterator.hasNext() ){
SimpleFeature feature = iterator.next();
System.out.println( feature.getID() );
}
}
finally {
iterator.close();
}
features
in interface FeatureCollection<SimpleFeatureType,SimpleFeature>
SimpleFeatureCollection subCollection(Filter filter)
FeatureCollection
The contents of the returned SimpleFeatureCollection are determined by applying the provider Filter to the entire contents of this FeatureCollection. The result is "live" and modifications will be shared.
This method is used cut down on the number of filter based methods required for a useful SimpleFeatureCollection construct. The FeatureCollections returned really should be considered as a temporary "view" used to control the range of a removeAll, or modify operation.
Example Use:
collection.subCollection( filter ).clear();
The above recommended use is agreement with the Collections API precident of List.subList(
start, end ).
The results of subCollection:
subCollection
in interface FeatureCollection<SimpleFeatureType,SimpleFeature>
FeatureList
SimpleFeatureCollection sort(SortBy order)
FeatureCollection
This method may not be supported by all implementations, consider the use of FeatureSource.features( Query ).
sort
in interface FeatureCollection<SimpleFeatureType,SimpleFeature>
order
- Sort orderCopyright © 1996–2019 Geotools. All rights reserved.