public class PreGeneralizedFeatureSource extends Object implements SimpleFeatureSource
Feature source for a feature type with pregeneralized geometries
This featue store does business as usual with the exception described here PreGeneralizedDataStore
| Modifier and Type | Field and Description |
|---|---|
protected PreGeneralizedDataStore |
dataStore |
protected GeneralizationInfo |
info |
protected FeatureListenerManager |
listenerManager |
protected Logger |
log |
protected Repository |
repository |
| Constructor and Description |
|---|
PreGeneralizedFeatureSource(GeneralizationInfo info,
Repository repository,
PreGeneralizedDataStore dataStore) |
| Modifier and Type | Method and Description |
|---|---|
void |
addFeatureListener(FeatureListener listener)
Registers a listening object that will be notified of changes to this
FeatureSource. |
ReferencedEnvelope |
getBounds()
Get the spatial bounds of the feature data.
|
ReferencedEnvelope |
getBounds(Query query)
Get the spatial bounds of the features that would be returned by the given
Query. |
int |
getCount(Query query)
Gets the number of the features that would be returned by the given
Query, taking into account any settings for max features and
start index set on the Query. |
DataAccess<SimpleFeatureType,SimpleFeature> |
getDataStore()
Returns the data source, as a
DataAccess object, providing this FeatureSource. |
FeatureReader<SimpleFeatureType,SimpleFeature> |
getFeatureReader(Query query,
Transaction transaction) |
SimpleFeatureCollection |
getFeatures()
Retrieves all features in the form of a
FeatureCollection. |
SimpleFeatureCollection |
getFeatures(Filter filter)
Retrieves features, in the form of a
FeatureCollection, based on an OGC Filter. |
SimpleFeatureCollection |
getFeatures(Query query)
Retrieves features, in the form of a
FeatureCollection, based on a Query. |
ResourceInfo |
getInfo()
Returns information describing this
FeatureSource which may include title,
description and spatial parameters. |
Name |
getName()
Returns the name of the features (strictly, the name of the
AttributeDescriptor for
the features) accessible through this FeatureSource. |
protected Query |
getProxyObject(Query query,
SimpleFeatureSource fs) |
QueryCapabilities |
getQueryCapabilities()
Enquire what what query capabilities this
FeatureSource natively supports. |
SimpleFeatureType |
getSchema()
Retrieves the schema (feature type) that will apply to features retrieved from this
FeatureSource. |
Set<RenderingHints.Key> |
getSupportedHints()
Returns the set of hints that this
FeatureSource supports via Query requests. |
protected void |
logDistanceInfo(Generalization di) |
void |
removeFeatureListener(FeatureListener listener)
Removes an object from this
FeatureSource's listeners. |
void |
reset() |
protected FeatureListenerManager listenerManager
protected Repository repository
protected GeneralizationInfo info
protected PreGeneralizedDataStore dataStore
protected Logger log
public PreGeneralizedFeatureSource(GeneralizationInfo info, Repository repository, PreGeneralizedDataStore dataStore)
public void reset()
public void addFeatureListener(FeatureListener listener)
FeatureSourceFeatureSource.addFeatureListener in interface FeatureSource<SimpleFeatureType,SimpleFeature>listener - the new listenerpublic ReferencedEnvelope getBounds() throws IOException
FeatureSource
getBounds(Query.ALL).
It is possible that this method will return null if the calculation of bounds is judged to
be too costly by the implementing class. In this case, you might call
getFeatures().getBounds() instead.
getBounds in interface FeatureSource<SimpleFeatureType,SimpleFeature>null if the bounds are unknown
or too costly to calculate.IOException - on any errors calculating the boundspublic ReferencedEnvelope getBounds(Query query) throws IOException
FeatureSourceQuery.
It is possible that this method will return null if the calculation of bounds is judged to
be too costly by the implementing class. In this case, you might call
getFeatures(query).getBounds() instead.
getBounds in interface FeatureSource<SimpleFeatureType,SimpleFeature>query - the query to select featuresnull if the bounds are unknown
or too costly to calculate.IOException - on any errors calculating the boundspublic int getCount(Query query) throws IOException
FeatureSourceQuery, taking into account any settings for max features and
start index set on the Query.
It is possible that this method will return -1 if the calculation
of number of features is judged to be too costly by the implementing class.
In this case, you might call getFeatures(query).size()
instead.
Example use:
int count = featureSource.getCount();
if( count == -1 ){
count = featureSource.getFeatures( "typeName", count ).size();
}getCount in interface FeatureSource<SimpleFeatureType,SimpleFeature>query - the query to select featuresQuery;
or -1 if this cannot be calculated.IOException - if there are errors getting the countpublic DataAccess<SimpleFeatureType,SimpleFeature> getDataStore()
FeatureSourceDataAccess object, providing this FeatureSource.getDataStore in interface FeatureSource<SimpleFeatureType,SimpleFeature>FeatureSourcepublic SimpleFeatureCollection getFeatures() throws IOException
FeatureSourceFeatureCollection.
The following statements are equivalent:
featureSource.getFeatures();
featureSource.getFeatures(Filter.INCLUDE);
featureSource.getFeatures(Query.ALL);
getFeatures in interface FeatureSource<SimpleFeatureType,SimpleFeature>getFeatures in interface SimpleFeatureSourceQueryIOException - if the underlying data source cannot be accessed.public SimpleFeatureCollection getFeatures(Filter filter) throws IOException
FeatureSourceFeatureCollection, based on an OGC Filter.getFeatures in interface FeatureSource<SimpleFeatureType,SimpleFeature>getFeatures in interface SimpleFeatureSourcefilter - the filter to select features; must not be null (use Filter.INCLUDE instead)FilterIOException - if the underlying data source cannot be accessed.Filterpublic SimpleFeatureCollection getFeatures(Query query) throws IOException
FeatureSourceFeatureCollection, based on a Query.getFeatures in interface FeatureSource<SimpleFeatureType,SimpleFeature>getFeatures in interface SimpleFeatureSourcequery - DataAccess query for requested information, such as typeName, maxFeatures and
filter.QueryIOException - if the underlying data source cannot be accessed.Querypublic FeatureReader<SimpleFeatureType,SimpleFeature> getFeatureReader(Query query, Transaction transaction) throws IOException
IOExceptionpublic ResourceInfo getInfo()
FeatureSourceFeatureSource which may include title,
description and spatial parameters. Note that in the returned ResourceInfo object,
the distinction between feature name and schema (feature type) name applies as discussed for
FeatureSource.getName().getInfo in interface FeatureSource<SimpleFeatureType,SimpleFeature>public Name getName()
FeatureSourceAttributeDescriptor for
the features) accessible through this FeatureSource.
The value returned by this method can be different to that returned by featureSource.getSchema().getType().getName(). This is because there is a distinction
between the name applied to features and the name of a feature type. When working with SimpleFeature and SimpleFeatureType, for example with a shapefile data source, it is
common practice for feature and feature type names to be the same. However, this is not the
case more generally. For instance, a database can contain two tables with the same structure.
The feature name will refer to the table while the feature type name refers to the schema
(table structure).
getName in interface FeatureSource<SimpleFeatureType,SimpleFeature>FeatureSourcepublic QueryCapabilities getQueryCapabilities()
FeatureSourceFeatureSource natively supports. For
example, whether queries can return sorted results.getQueryCapabilities in interface FeatureSource<SimpleFeatureType,SimpleFeature>FeatureSourcepublic SimpleFeatureType getSchema()
FeatureSourceFeatureSource.
For a homogeneous data source such as a shapefile or a database table, this schema be that of all features. For a heterogeneous data source, e.g. a GML document, the schema returned is the lowest common denominator across all features.
getSchema in interface FeatureSource<SimpleFeatureType,SimpleFeature>FeatureSourcepublic Set<RenderingHints.Key> getSupportedHints()
FeatureSourceFeatureSource supports via Query requests.
Note: the existence of a specific hint does not guarantee that it will always be honored by the implementing class.
getSupportedHints in interface FeatureSource<SimpleFeatureType,SimpleFeature>RenderingHints#Key objects; may be empty but never nullHints.FEATURE_DETACHED,
Hints.JTS_GEOMETRY_FACTORY,
Hints.JTS_COORDINATE_SEQUENCE_FACTORY,
Hints.JTS_PRECISION_MODEL,
Hints.JTS_SRID,
Hints.GEOMETRY_DISTANCE,
Hints.FEATURE_2Dpublic void removeFeatureListener(FeatureListener listener)
FeatureSourceFeatureSource's listeners.removeFeatureListener in interface FeatureSource<SimpleFeatureType,SimpleFeature>listener - the listener to removeprotected Query getProxyObject(Query query, SimpleFeatureSource fs)
protected void logDistanceInfo(Generalization di)
Copyright © 1996–2019 Geotools. All rights reserved.