Skip navigation links

Package org.apache.sis.referencing.factory.sql

Factories for geodetic objects defined in a SQL database, typically the EPSG dataset.

See: Description

Package org.apache.sis.referencing.factory.sql Description

Factories for geodetic objects defined in a SQL database, typically the EPSG dataset. This package provides support for all codes prefixed by "EPSG:" in the Apache SIS's list of authority codes. The main class in this package is EPSGFactory, which requires a Data­Source providing connections to an EPSG database.
Connection to the database
By default Apache SIS uses Apache Derby (a.k.a. JavaDB in Oracle JDK), but the database can also be PostgreSQL or MS-Access. The database connection is obtained by the first of the following data sources which is found:
  1. If a JNDI context exists, the Data­Source registered under the "java:comp/env/jdbc/Spatial­Metadata" name.
  2. If the SIS_DATA environment variable is defined, a JDBC connection for the "jdbc:derby:$SIS_DATA/Databases/Spatial­Metadata" URL.
  3. If the "derby​.system​.home" property is defined, a JDBC connection for the "jdbc:derby:Spatial­Metadata" URL.
In choice 1, the JDBC driver must be provided by the application container (e.g. Apache Tomcat). In choice 2 and 3, Apache SIS tries to use the JavaDB driver in the JDK installation directory (included in Oracle's distribution of Java) if no Apache Derby driver is found on the classpath.
The EPSG dataset
A widely-used factory is the EPSG geodetic dataset. EPSG codes are numerical identifiers. For example "EPSG:4326" is the EPSG identifier for the "WGS 84" geographic CRS. As an extension, the Apache SIS implementation accepts names as well as numeric identifiers. For example the two following method calls fetch the same object:
Note: names may be ambiguous since the same name may be used for more than one object. This is the case of "WGS 84" for example. If such an ambiguity is found, an exception will be thrown. For more determinism, the numerical codes are preferred.
How deprecated entries are handled
When an error is discovered in a Coordinate Reference System (CRS) definition, the EPSG group does not apply the correction directly on the erroneous object (unless the correction is very minor). Instead, the erroneous object is deprecated and a new one is created. Apache SIS handles deprecated objects as below:

Defined in the sis-referencing module

Skip navigation links

Copyright © 2010–2016 The Apache Software Foundation. All rights reserved.