Class ThreadedPostgreSQLEpsgFactory
Object
AbstractFactory
ReferencingFactory
AbstractAuthorityFactory
BufferedAuthorityFactory
DeferredAuthorityFactory
ThreadedEpsgFactory
ThreadedPostgreSQLEpsgFactory
- All Implemented Interfaces:
AuthorityFactory,CRSAuthorityFactory,CSAuthorityFactory,DatumAuthorityFactory,Factory,CoordinateOperationAuthorityFactory,BufferedFactory,Factory,OptionalFactory,RegistrableFactory
Connection to the EPSG database in PostgreSQL database engine using JDBC. The EPSG database can be downloaded from http://www.epsg.org. It should have been imported into a PostgreSQL database, which
doesn't need to be on the local machine.
Connection parameters
The preferred way to specify connection parameters is through the JNDI interface. However, this datasource provides the following alternative as a convenience: if a "EPSG-DataSource.properties" file is found in current directory or in the user's home directory, then the following properties are fetch. Note that the default value may change in a future version if a public server become available.
| Property | Type | Description | Geotools Default |
|---|---|---|---|
serverName |
String | PostgreSQL database server host name | localhost |
databaseName |
String | PostgreSQL database name | EPSG |
schema |
String | The schema for the EPSG tables | |
portNumber |
int | TCP port which the PostgreSQL database server is listening on | 5432 |
user |
String | User used to make database connections | GeoTools |
password |
String | Password used to make database connections | GeoTools |
The database version is given in the edition attribute of the authority. The postgreSQL database should be read only.
Just having this class accessible in the classpath, together with the registration in the
META-INF/services/ directory, is sufficient to get a working EPSG authority factory backed by this database.
Vendors can create a copy of this class, modify it and bundle it with their own distribution if they want to connect
their users to an other database.
- Since:
- 2.4
- Author:
- Didier Richard, Martin Desruisseaux
-
Field Summary
FieldsFields inherited from class ThreadedEpsgFactory
datasource, DATASOURCE_NAME, dynamicDataSource, PRIORITYFields inherited from class ReferencingFactory
LOGGERFields inherited from class AbstractFactory
hints, MAXIMUM_PRIORITY, MINIMUM_PRIORITY, NORMAL_PRIORITY, priority -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance of this factory.Creates a new instance of this factory with the specified hints. -
Method Summary
Modifier and TypeMethodDescriptionprotected AbstractAuthorityFactorycreateBackingStore(Hints hints) Returns the backing-store factory for PostgreSQL syntax.protected DataSourceReturns a data source for the PostgreSQL database.Methods inherited from class ThreadedEpsgFactory
canDisposeBackingStore, createBackingStore, dispose, disposeBackingStore, getAuthority, getDataSource, setDataSourceMethods inherited from class DeferredAuthorityFactory
exit, getBackingStore, isAvailable, isConnected, setTimeoutMethods inherited from class BufferedAuthorityFactory
createCartesianCS, createCompoundCRS, createCoordinateOperation, createCoordinateReferenceSystem, createCoordinateSystem, createCoordinateSystemAxis, createCylindricalCS, createDatum, createDerivedCRS, createEllipsoid, createEllipsoidalCS, createEngineeringCRS, createEngineeringDatum, createExtent, createFromCoordinateReferenceSystemCodes, createGeocentricCRS, createGeodeticDatum, createGeographicCRS, createImageCRS, createImageDatum, createObject, createOperationMethod, createParameterDescriptor, createPolarCS, createPrimeMeridian, createProjectedCRS, createSphericalCS, createTemporalCRS, createTemporalDatum, createTimeCS, createUnit, createVerticalCRS, createVerticalCS, createVerticalDatum, getAuthorityCodes, getBackingStoreDescription, getDescriptionText, getIdentifiedObjectFinder, getVendorMethods inherited from class AbstractAuthorityFactory
noSuchAuthorityCode, trimAuthorityMethods inherited from class ReferencingFactory
ensureNonNullMethods inherited from class AbstractFactory
addImplementationHints, equals, getImplementationHints, getPriority, hashCode, onDeregistration, onRegistration, toStringMethods inherited from interface AuthorityFactory
createObject, getAuthorityCodes, getDescriptionTextMethods inherited from interface CoordinateOperationAuthorityFactory
createCoordinateOperation, createFromCoordinateReferenceSystemCodesMethods inherited from interface CRSAuthorityFactory
createCompoundCRS, createCoordinateReferenceSystem, createDerivedCRS, createEngineeringCRS, createGeocentricCRS, createGeographicCRS, createImageCRS, createProjectedCRS, createTemporalCRS, createVerticalCRSMethods inherited from interface CSAuthorityFactory
createCartesianCS, createCoordinateSystem, createCoordinateSystemAxis, createCylindricalCS, createEllipsoidalCS, createPolarCS, createSphericalCS, createTimeCS, createUnit, createVerticalCSMethods inherited from interface DatumAuthorityFactory
createDatum, createEllipsoid, createEngineeringDatum, createGeodeticDatum, createImageDatum, createPrimeMeridian, createTemporalDatum, createVerticalDatumMethods inherited from interface Factory
getImplementationHints
-
Field Details
-
CONFIGURATION_FILE
The user configuration file. This class search first for the first file found in the following directories:- The current directory
- The user's home directory
- See Also:
-
-
Constructor Details
-
ThreadedPostgreSQLEpsgFactory
public ThreadedPostgreSQLEpsgFactory()Creates a new instance of this factory. -
ThreadedPostgreSQLEpsgFactory
Creates a new instance of this factory with the specified hints. The priority is set to a lower value than the FactoryOnAccess's one in order to give the priority to any "official" database installed locally by the user, when available.
-
-
Method Details
-
createDataSource
Returns a data source for the PostgreSQL database.- Overrides:
createDataSourcein classThreadedEpsgFactory- Returns:
- The EPSG data source, or
nullif none where found. - Throws:
SQLException- if an error occured while creating the data source.
-
createBackingStore
Returns the backing-store factory for PostgreSQL syntax.- Overrides:
createBackingStorein classThreadedEpsgFactory- Parameters:
hints- A map of hints, including the low-level factories to use for CRS creation.- Returns:
- The EPSG factory using PostgreSQL syntax.
- Throws:
SQLException- if connection to the database failed.
-