org.geotools.data |
Defines the DataStoreAPI via which all data is imported or exported.
All DataStores (e.g. PostGIS, Shapefile(tm), GML...) must provide
implementations of the DataStore interface and the DataStoreFactorySpi
interface. These interfaces allow new types of datastore to be plugged into
applications which use geotools without the need to modify any code.
Example:
FeatureStore postgis = new PostGisDataStore( ... );
Query all = Query.ALL;
FeatureType roadType = postgis.getFeatureType( "roads" );
// reader 1 streams over all roads
FeatureReader reader1 = postgis.getFeatureReader( roadsType, all, Transaction.AUTO_COMMIT );
// allRoads = featureResults is a prepaired query of all roads
FeatureSource roads = postgis.getFeatureSource( "roads" );
FeatureResults allRoads = roads.getFeatures( all );
// reader 2 & 3 streams over all roads in the same manner as reader 1
FeatureReader reader2 = allRoads.reader();
FeatureReader reader3 = allRoads.reader();
// bounds1 returns the bounding box of roads, may be null depending on expense
Envelope bounds1 = roads.getBounds( all );
// bounds2 returns the bounding box of roads, may actually calculate by going over the entire dataset
Envelope bounds 2 = allRoads.getBounds();
|
Java Source File Name | Type | Comment |
AbstractAttributeIO.java | Class | Provides support for creating AttributeReaders. |
AbstractDataStore.java | Class | Represents a stating point for implementing your own DataStore.
The goal is to have this class provide everything else if you can
only provide:
-
String[] getFeatureTypes()
-
FeatureType getSchema(String typeName)
-
FeatureReader getFeatureReader( typeName )
-
FeatureWriter getFeatureWriter( typeName )
and optionally this protected methods to allow custom query optimizations:
-
Filter getUnsupportedFilter(String typeName, Filter filter)
-
FeatureReader getFeatureReader(String typeName, Query query)
All remaining functionality is implemented against these methods, including
Transaction and Locking Support. |
AbstractDataStoreFactory.java | Class | A best of toolkit for DataStoreFactory implementors. |
AbstractDataStoreTest.java | Class | An abstract super class for testing datastore implementations. |
AbstractFeatureLocking.java | Class | A Starting point for your own FeatureLocking implementations. |
AbstractFeatureSource.java | Class | This is a starting point for providing your own FeatureSource implementation. |
AbstractFeatureStore.java | Class | This is a starting point for providing your own FeatureStore implementation. |
AbstractFileDataStore.java | Class |
This class assumes the DataStore represents a single source, represented by
a URL. |
ALLQuery.java | Class | Implementation of Query.ALL.
This query is used to retrive all Features. |
ArrayFeatureReaderTest.java | Class | |
AttributeReader.java | Interface | The low-level attribute reading API. |
AttributeWriter.java | Interface | - Added hasNext to support the FeatureWriter API. |
AutoCommitTransaction.java | Class | This is used to represent the absense of a Transaction and the use of
AutoCommit. |
CollectionFeatureReader.java | Class | FeatureReader that reads features from a java.util.collection of features,
an array of features or a FeatureCollection. |
ComplexTestData.java | Class | |
CurrentTransactionLock.java | Class | A request for a Lock that last the duration of a transaction. |
DataAccess.java | Interface | Interface providing Open Web Service style access to geo resource content.
The basic idea is to have simple, very general interface to access and query
data that is in some way or another spatially enabled. |
DataAccessFactory.java | Interface | Constructs a live DataAccess connection from a set of parameters. |
DataAccessFinder.java | Class | |
DataSourceException.java | Class | Thrown when there is an error in a datasource.
This class was used back in Java 1.3 before the initCause() method
was available for IOException. |
DataStore.java | Interface | Represents a Physical Store for FeatureTypes.
The source of data for FeatureTypes. |
DataStoreFactorySpi.java | Interface | Constructs a live DataStore from a set of parameters.
An instance of this interface should exist for all data stores which want to
take advantage of the dynamic plugin system. |
DataStoreFinder.java | Class | Enable programs to find all available datastore implementations. |
DataTestCase.java | Class | A set of constructs and utility methods used to test the data module. |
DataUtilities.java | Class | Utility functions for use when implementing working with data classes. |
DataUtilitiesTest.java | Class | Tests cases for DataUtilities. |
DefaultFeatureLock.java | Class | Used to lock features when used with LockingDataSource. |
DefaultFeatureLockFactory.java | Class | Default implementation of the FeatureLockFactory. |
DefaultFeatureReader.java | Class | Basic support for reading Features from an AttributeReader. |
DefaultFeatureResults.java | Class | Generic "results" of a query, class.
Please optimize this class when use with your own content.
For example a "ResultSet" make a great cache for a JDBCDataStore,
a temporary copy of an original file may work for shapefile etc. |
DefaultFIDReader.java | Class | A Default FIDReader. |
DefaultQuery.java | Class | The query object is used by the
FeatureSource.getFeatures method of
the DataSource interface, to encapsulate a request. |
DefaultQueryTest.java | Class | |
DefaultRepository.java | Class | Quick hack of a DataRepository allows me to bridge the existing DataStore
API with these experiments for a Opperations api.
I have used the old DefaultCatalaog as a starting point.
This also serves as a reminder that we need CrossDataStore functionality
- at least for Locks. |
DefaultTransaction.java | Class | Quick implementation of Transaction api. |
Diff.java | Class | |
DiffFeatureReader.java | Class | A FeatureReader that considers differences.
Used to implement In-Process Transaction support. |
DiffFeatureWriter.java | Class | A FeatureWriter that captures modifications against a FeatureReader. |
DiffWriterTest.java | Class | |
DummyFeatureType.java | Class | |
EmptyFeatureReader.java | Class | Represents an Empty, Typed, FeatureReader. |
EmptyFeatureWriter.java | Class | Represents an Empty, Typed, FeatureWriter. |
FeatureEvent.java | Class | A simple event object to represent all events triggered by DataStore
instances (typically change events).
The "Source" FeatureEvents is taken to be a FeatureSource ,
rather than DataStore . |
FeatureListener.java | Interface | Interface to be implemented by all listeners of FeatureEvents. |
FeatureListenerManager.java | Class | This class is used by DataStore implementations to provide FeatureListener
support for the FeatureSources they create. |
FeatureLock.java | Interface | Used to lock features when used with LockingDataSource. |
FeatureLockException.java | Class | Indicates a lock contention, and attempt was made to modify or aquire with
out Authroization. |
FeatureLockFactory.java | Class | This specifies the interface to create FeatureLocks. |
FeatureLocking.java | Interface | Provides Feature based locking.
Features from individual shapefiles, database tables, etc. |
FeatureLockTest.java | Class | Test of LockingAPI FeatureLock data object. |
FeatureReader.java | Interface | The low-level interface for reading Features. |
FeatureSource.java | Interface | Highlevel API for Features from a specific location.
Individual Shapefiles, databases tables , etc. |
FeatureSourceRepository.java | Class | Another Quick hack of a DataRepository as a bridge to the Opperations api. |
FeatureStore.java | Interface | Provides storage of data for Features.
Individual shapefiles, database tables, etc. |
FeatureWriter.java | Interface | Provides the ability to write Features information.
Capabilities:
-
Similar API to FeatureReader
-
After aquiring a feature using next() you may call remove() or after
modification write().
|
FIDFeatureReader.java | Class | Experimental FeatureReader that always takes the first column of the
attributeReader as the FeatureID. |
FIDReader.java | Interface | FeatureReader customized for FeatureID handling.
An experimental method for doing FIDs. |
FIDSQuery.java | Class | Implementation for Query.FIDS.
This query is used to retrive FeatureIds. |
FileDataStoreFactorySpi.java | Interface |
This interface includes some new functionality, and acts as a method of
discovery for DataStoreFactories which support singular files. |
FileDataStoreFinder.java | Class |
Most of this code was copied from DataStoreFinder. |
FilteringFeatureReader.java | Class | Basic support for a FeatureReader that does filtering. |
FilteringFeatureReaderTest.java | Class | Test FilteredFeatureReader for conformance. |
FilteringFeatureWriter.java | Class | Filtering is performed on this hasNext() method.
This implementation writes out content furing the hasNext() method. |
InProcessLockingManager.java | Class | Provides In-Process FeatureLocking support for DataStore implementations. |
JoiningAttributeReader.java | Class | Attribute Reader that joins. |
JoiningAttributeWriter.java | Class | Provides ... |
LockingManager.java | Interface | This class describes a featureID based locking service. |
MaxFeatureReader.java | Class | Basic support for a FeatureReader that limits itself to the number of
features passed in. |
PrjFileReader.java | Class | |
Query.java | Interface | Encapsulates a data request.
The query object is used by the FeatureSource.getFeatures(Query) to
encapsulate a request. |
Repository.java | Interface | Provides a Repository of available FeatureTypes allowing Catalog metadata queries. |
ReTypeFeatureReader.java | Class | Supports on the fly retyping of FeatureReader contents. |
SchemaNotFoundException.java | Class | Indicates a FeatureType could not be found. |
Source.java | Interface | A read-only source of geospatial information.
Access to the spatial information in a filtered/queried or not. |
Store.java | Interface | A read-write store for geospatial information.
First draft of a Store interface based on brain storming session with Jody, Thomas,
Stefan and Cory in Refractions on November 24th. |
TestReader.java | Class | |
Transaction.java | Interface | The controller for Transaction with FeatureStore.
Shapefiles, databases, etc. |
TransactionStateDiff.java | Class | A Transaction.State that keeps a difference table for use with
AbstractDataStore. |
TransactionTest.java | Class | |
VersioningDataStore.java | Interface | A data store that can version enable feature types, and then keep version
history for those. |
VersioningFeatureLocking.java | Interface | Feature locking with versioning capabilities. |
VersioningFeatureSource.java | Interface | Extension to feature source to provide the read only methods needed to work
against a versioned data store. |
VersioningFeatureStore.java | Interface | |
WorldFileReader.java | Class | This class is responsible for parsing a world file in order to build an
affine transform using the parameters provided in the file itself.
The parameters found in the file should be as follows:
- size of pixel in x direction
- rotation term for row
- rotation term for column
- size of pixel in y direction
- x coordinate of centre of upper left pixel in map units
- y coordinate of centre of upper left pixel in map units
Note that the last two coordinates refer to the centre of the pixel!
It is worth to point out that various data sources describe the parameters in
the world file as the mapping from the pixel centres' to the associated world
coords. |