Class AnsiDialectEpsgFactory

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

public class AnsiDialectEpsgFactory extends AbstractEpsgFactory
An EPSG factory for the database generated by SQL scripts rather than the MS-Access one. This class overrides adaptSQL(java.lang.String) in order to translate SQL statements from MS-Access syntax to ANSI syntax. By default, the translated SQL statements use the table and field names in the Data Description Language (DDL) scripts provided by EPSG to create the schema for the database. Subclasses can changes this default behavior by modifying the map.

References:

Since:
2.4
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
      [Area] epsg_area
      [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

    • AnsiDialectEpsgFactory

      public AnsiDialectEpsgFactory(Hints userHints) throws FactoryException
      Constructs an authority factory, the hints should describe the data source it use.
      Parameters:
      userHints - The underlying factories used for objects creation.
      Throws:
      FactoryException
    • AnsiDialectEpsgFactory

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

      public AnsiDialectEpsgFactory(Hints hints, DataSource dataSource)
      Constructs an authority factory using the specified connection.
      Parameters:
      hints - The underlying factories used for objects creation.
      dataSource - Used to create a connection to the underlying EPSG database
  • Method Details

    • setSchema

      protected 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.
    • 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.
      Specified by:
      adaptSQL in class AbstractEpsgFactory
      Parameters:
      statement - The statement in MS-Access syntax.
      Returns:
      The SQL statement in ANSI syntax.