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, PRIORITY
Fields inherited from class ReferencingFactory
LOGGER
Fields 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 AbstractAuthorityFactory
createBackingStore
(Hints hints) Returns the backing-store factory for PostgreSQL syntax.protected DataSource
Returns a data source for the PostgreSQL database.Methods inherited from class ThreadedEpsgFactory
canDisposeBackingStore, createBackingStore, dispose, disposeBackingStore, getAuthority, getDataSource, setDataSource
Methods inherited from class DeferredAuthorityFactory
exit, getBackingStore, isAvailable, isConnected, setTimeout
Methods 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, getVendor
Methods inherited from class AbstractAuthorityFactory
noSuchAuthorityCode, trimAuthority
Methods inherited from class ReferencingFactory
ensureNonNull
Methods inherited from class AbstractFactory
addImplementationHints, equals, getImplementationHints, getPriority, hashCode, onDeregistration, onRegistration, toString
Methods inherited from interface AuthorityFactory
createObject, getAuthorityCodes, getDescriptionText
Methods inherited from interface CoordinateOperationAuthorityFactory
createCoordinateOperation, createFromCoordinateReferenceSystemCodes
Methods inherited from interface CRSAuthorityFactory
createCompoundCRS, createCoordinateReferenceSystem, createDerivedCRS, createEngineeringCRS, createGeocentricCRS, createGeographicCRS, createImageCRS, createProjectedCRS, createTemporalCRS, createVerticalCRS
Methods inherited from interface CSAuthorityFactory
createCartesianCS, createCoordinateSystem, createCoordinateSystemAxis, createCylindricalCS, createEllipsoidalCS, createPolarCS, createSphericalCS, createTimeCS, createUnit, createVerticalCS
Methods inherited from interface DatumAuthorityFactory
createDatum, createEllipsoid, createEngineeringDatum, createGeodeticDatum, createImageDatum, createPrimeMeridian, createTemporalDatum, createVerticalDatum
Methods 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:
createDataSource
in classThreadedEpsgFactory
- Returns:
- The EPSG data source, or
null
if none where found. - Throws:
SQLException
- if an error occured while creating the data source.
-
createBackingStore
Returns the backing-store factory for PostgreSQL syntax.- Overrides:
createBackingStore
in 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.
-