Class FactoryUsingWKT
- All Implemented Interfaces:
AuthorityFactory
,CRSAuthorityFactory
,Factory
,BufferedFactory
,Factory
,OptionalFactory
,RegistrableFactory
- Direct Known Subclasses:
EsriExtension
,IAUAuthorityFactory
,NetCDFCRSAuthorityFactory
,UnnamedExtension
org.geotools.referencing.factory.epsg
package, and
whose name should be "epsg.properties". If no property file is found, the factory won't be activated. The property
file can also be located in a custom directory; See getDefinitionsURL()
for more details.
This factory can also be used to provide custom extensions or overrides to a main EPSG factory. In order to
provide a custom extension file, override the getDefinitionsURL()
method. In order to make the factory be an
override, change the default priority by using the two arguments constructor (this factory defaults to
ThreadedEpsgFactory.PRIORITY
- 10, so it's used as an extension).
- Since:
- 2.1
- Author:
- Martin Desruisseaux, Jody Garnett, Rueben Schulz, Andrea Aime
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final int
Default priority for this factory.static final String
The default filename to read.Fields inherited from class ReferencingFactory
LOGGER
Fields inherited from class AbstractFactory
hints, MAXIMUM_PRIORITY, MINIMUM_PRIORITY, NORMAL_PRIORITY, priority
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs an authority factory using the default set of factories.FactoryUsingWKT
(Hints userHints) Constructs an authority factory using a set of factories created from the specified hints.FactoryUsingWKT
(Hints userHints, int priority) Constructs an authority factory using the specified hints and priority. -
Method Summary
Modifier and TypeMethodDescriptionprotected AbstractAuthorityFactory
Creates the backing store authority factory.protected Citation[]
Returns the set of authorities to use as identifiers for the CRS to be created.Returns the authority.protected URL
Returns the URL to the property file that contains CRS definitions.protected static final <T extends AbstractAuthorityFactory>
TgetFactory
(String authority, Class<T> type) static void
Prints a list of codes that duplicate the ones provided in theThreadedEpsgFactory
.protected static void
main
(String[] args, Class<? extends FactoryUsingWKT> type) Implementation of themain(java.lang.String...)
method, shared by subclasses.Prints a list of codes that duplicate the ones provided byThreadedEpsgFactory
.Prints a list of CRS that can't be instantiated.Methods inherited from class DeferredAuthorityFactory
canDisposeBackingStore, dispose, disposeBackingStore, 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 CRSAuthorityFactory
createCompoundCRS, createCoordinateReferenceSystem, createDerivedCRS, createEngineeringCRS, createGeocentricCRS, createGeographicCRS, createImageCRS, createProjectedCRS, createTemporalCRS, createVerticalCRS
Methods inherited from interface Factory
getImplementationHints
-
Field Details
-
FILENAME
The default filename to read. The defaultFactoryUsingWKT
implementation will search for the first occurence of this file in the following places:- In the directory specified by the system property.
- In every
org/geotools/referencing/factory/espg
directories found on the classpath.
The filename part before the extension (
"epsg"
) denotes the authority namespace where to register the content of this file. The user-directory given by the system property may contains other property files for other authorities, like"esri.properties"
, but those additional authorities are not handled by the defaultFactoryUsingWKT
class.- See Also:
-
DEFAULT_PRIORITY
protected static final int DEFAULT_PRIORITYDefault priority for this factory.- Since:
- 2.4
- See Also:
-
-
Constructor Details
-
FactoryUsingWKT
public FactoryUsingWKT()Constructs an authority factory using the default set of factories. -
FactoryUsingWKT
Constructs an authority factory using a set of factories created from the specified hints. This constructor recognizes theCRS
,CS
,DATUM
andMATH_TRANSFORM
FACTORY
hints. -
FactoryUsingWKT
Constructs an authority factory using the specified hints and priority.
-
-
Method Details
-
getAuthority
Returns the authority. The default implementation returns the first citation returned bygetAuthorities()
, with the addition of identifiers from all additional authorities returned by the above method.- Specified by:
getAuthority
in interfaceAuthorityFactory
- Overrides:
getAuthority
in classBufferedAuthorityFactory
- Returns:
- The organization reponsible for definition of the database.
- See Also:
-
getAuthorities
Returns the set of authorities to use as identifiers for the CRS to be created. This set is given to the properties-backed factory constructor.The default implementation returns a singleton containing only EPSG. Subclasses should override this method in order to enumerate all relevant authorities, with EPSG in last position. For example
EsriExtension
returns {ESRI, EPSG}.- Since:
- 2.4
-
getDefinitionsURL
Returns the URL to the property file that contains CRS definitions. The default implementation performs the following search path:- If a value is set for the system property key, then the "epsg.properties" file will be searched in this directory.
- If no value is set for the above-cited system property, or if no "epsg.properties" file was found in that
directory, then the first "epsg.properties" file found in any
org/geotools/referencing/factory/epsg
directory on the classpath will be used. - If no file was found on the classpath neither, then this factory will be disabled.
- Returns:
- The URL, or
null
if none.
-
createBackingStore
Creates the backing store authority factory.- Specified by:
createBackingStore
in classDeferredAuthorityFactory
- Returns:
- The backing store to uses in
createXXX(...)
methods. - Throws:
FactoryNotFoundException
- if the noepsg.properties
file has been found.FactoryException
- if the constructor failed to find or read the file. This exception usually has anIOException
as its cause.
-
getFactory
protected static final <T extends AbstractAuthorityFactory> T getFactory(String authority, Class<T> type) -
reportDuplicatedCodes
Prints a list of codes that duplicate the ones provided byThreadedEpsgFactory
. This is used for implementation of main method in order to check the content of the "epsg.properties" file (or whatever property file used as backing store for this factory) from the command line.- Parameters:
out
- The writer where to print the report.- Returns:
- The set of duplicated codes.
- Throws:
FactoryException
- if an error occured.- Since:
- 2.4
-
reportInstantiationFailures
Prints a list of CRS that can't be instantiated. This is used for implementation of main method in order to check the content of the "epsg.properties" file (or whatever property file used as backing store for this factory) from the command line.- Parameters:
out
- The writer where to print the report.- Returns:
- The set of codes that can't be instantiated.
- Throws:
FactoryException
- if an error occured while fetching authority codes.- Since:
- 2.4
-
main
Prints a list of codes that duplicate the ones provided in theThreadedEpsgFactory
. The factory tested is the one registered inReferencingFactoryFinder
. By default, this is thisFactoryUsingWKT
class backed by the "epsg.properties" property file. This method can be invoked from the command line in order to check the content of the property file. Valid arguments are:-test
Try to instantiate all CRS and reports any failure to do so. -duplicated
List all codes from the WKT factory that are duplicating a code from the SQL factory. - Parameters:
args
- Command line arguments.- Throws:
FactoryException
- if an error occured.- Since:
- 2.4
-
main
protected static void main(String[] args, Class<? extends FactoryUsingWKT> type) throws FactoryException Implementation of themain(java.lang.String...)
method, shared by subclasses.- Throws:
FactoryException
-