Class FactoryUsingAnsiSQL

All Implemented Interfaces:
AuthorityFactory, CRSAuthorityFactory, CSAuthorityFactory, DatumAuthorityFactory, Factory, CoordinateOperationAuthorityFactory, Factory, RegistrableFactory

public class FactoryUsingAnsiSQL extends FactoryUsingSQL
An EPSG factory for the database generated by SQL scripts rather than the MS-Access one.
Since:
2.1
Author:
Rueben Schulz, Martin Desruisseaux, Didier Richard, John Grange
  • Field Details

    • map

      protected final Map<String,String> map
      Maps the MS-Access names to ANSI names. Keys are MS-Access names including bracket. Values are ANSI names. Keys and values are case-sensitive. The default content of this map is:
      MS-Access name ANSI name
      [Alias] epsg_alias
      [Extent] epsg_extent
      [Coordinate Axis] epsg_coordinateaxis
      [Coordinate Axis Name] epsg_coordinateaxisname
      [Coordinate_Operation] epsg_coordoperation
      [Coordinate_Operation Method] epsg_coordoperationmethod
      [Coordinate_Operation Parameter] epsg_coordoperationparam
      [Coordinate_Operation Parameter Usage] epsg_coordoperationparamusage
      [Coordinate_Operation Parameter Value] epsg_coordoperationparamvalue
      [Coordinate_Operation Path] epsg_coordoperationpath
      [Coordinate Reference System] epsg_coordinatereferencesystem
      [Coordinate System] epsg_coordinatesystem
      [Datum] epsg_datum
      [Naming System] epsg_namingsystem
      [Ellipsoid] epsg_ellipsoid
      [Prime Meridian] epsg_primemeridian
      [Supersession] epsg_supersession
      [Unit of Measure] epsg_unitofmeasure
      [CA.ORDER] coord_axis_order
      Subclasses can modify this map in their constructor in order to provide a different mapping.
  • Constructor Details

    • FactoryUsingAnsiSQL

      public FactoryUsingAnsiSQL(Hints userHints, Connection connection)
      Constructs an authority factory using the specified connection.
      Parameters:
      userHints - The underlying factories used for objects creation.
      connection - The connection to the underlying EPSG database.
      Since:
      2.2
    • FactoryUsingAnsiSQL

      public FactoryUsingAnsiSQL(Hints userHints, DataSource dataSource)
      Constructs an authority factory using the specified source.
      Parameters:
      userHints - The underlying factories used for objects creation.
      dataSource - The connection to the underlying EPSG database.
      Since:
      2.5
  • Method Details

    • setSchema

      public void setSchema(String schema)
      Replaces the "epsg_" prefix by the specified schema name. If the removal of the "epsg_" prefix is not wanted, append it to the schema name (e.g. "myschema.epsg_"). This method should be invoked at construction time only.
      Parameters:
      schema - The database schema in which the epsg tables are stored.
      Since:
      2.2
    • adaptSQL

      protected String adaptSQL(String statement)
      Modifies the given SQL string to be suitable for non MS-Access databases. This replaces table and field names in the SQL with the new names in the SQL DDL scripts provided with EPSG database.
      Overrides:
      adaptSQL in class FactoryUsingSQL
      Parameters:
      statement - The statement in MS-Access syntax.
      Returns:
      The SQL statement in ANSI syntax.