Interface AuthorityFactory
-
- All Superinterfaces:
Factory
- All Known Subinterfaces:
CoordinateOperationAuthorityFactory
,CRSAuthorityFactory
,CSAuthorityFactory
,DatumAuthorityFactory
@UML(identifier="CS_CoordinateSystemAuthorityFactory", specification=OGC_01009) public interface AuthorityFactory extends Factory
Base interface for all authority factories. An authority is an organization that maintains definitions of authority codes. An authority code is a compact string defined by an authority to reference a particular spatial reference object.For example the European Petroleum Survey Group (EPSG) maintains a database of coordinate systems, and other spatial referencing objects, where each object has a code number ID. For example, the EPSG code for a WGS84 Lat/Lon coordinate system is “4326”.
- Since:
- 1.0
-
-
Method Summary
Modifier and Type Method Description IdentifiedObject
createObject(String code)
Returns an arbitrary object from a code.Citation
getAuthority()
Returns the organization or party responsible for definition and maintenance of the database.Set<String>
getAuthorityCodes(Class<? extends IdentifiedObject> type)
Returns the set of authority codes for objects of the given type.InternationalString
getDescriptionText(String code)
Gets a description of the object corresponding to a code.
-
-
-
Method Detail
-
getAuthority
@UML(identifier="getAuthority", specification=OGC_01009) Citation getAuthority()
Returns the organization or party responsible for definition and maintenance of the database.- Returns:
- the organization responsible for definition of the database.
-
getAuthorityCodes
Set<String> getAuthorityCodes(Class<? extends IdentifiedObject> type) throws FactoryException
Returns the set of authority codes for objects of the given type. Thetype
argument specifies the base type of identified objects.Example: if this factory is an instance of
CRSAuthorityFactory
, then:CoordinateReferenceSystem.class
asks for all authority codes accepted by one ofcreateGeographicCRS
,createProjectedCRS
,createVerticalCRS
,createTemporalCRS
and any other method returning a sub-type ofCoordinateReferenceSystem
.ProjectedCRS.class
asks only for authority codes accepted bycreateProjectedCRS
.
- Parameters:
type
- the spatial reference objects type.- Returns:
- the set of authority codes for spatial reference objects of the given type. If this factory does not contain any object of the given type, then this method returns an empty set.
- Throws:
FactoryException
- if access to the underlying database failed.
Departure from OGC/ISO specification:
This method is not part of the OGC specification but has been added as a way to publish the capabilities of a factory.
-
getDescriptionText
@UML(identifier="descriptionText", specification=OGC_01009) InternationalString getDescriptionText(String code) throws NoSuchAuthorityCodeException, FactoryException
Gets a description of the object corresponding to a code.- Parameters:
code
- value allocated by authority.- Returns:
- a description of the object, or
null
if the object corresponding to the specifiedcode
has no description. - Throws:
NoSuchAuthorityCodeException
- if the specifiedcode
was not found.FactoryException
- if the query failed for some other reason.
-
createObject
IdentifiedObject createObject(String code) throws NoSuchAuthorityCodeException, FactoryException
Returns an arbitrary object from a code. The returned object will typically be an instance ofDatum
,CoordinateSystem
,ReferenceSystem
orCoordinateOperation
.If the object type is known at compile time, then it is recommended to invoke the most precise method instead of this one. For example it is usually better to invoke
createCoordinateReferenceSystem(code)
instead ofcreateObject(code)
if the requested object is known to be aCoordinateReferenceSystem
instance.- Parameters:
code
- value allocated by authority.- Returns:
- the object for the given code.
- Throws:
NoSuchAuthorityCodeException
- if the specifiedcode
was not found.FactoryException
- if the object creation failed for some other reason.- See Also:
DatumAuthorityFactory.createDatum(String)
,CRSAuthorityFactory.createCoordinateReferenceSystem(String)
Departure from OGC/ISO specification:
This method is not part of the OGC specification. It has been added to leverage the capability of factories that can automatically determine the type of the requested object at runtime.
-
-