| java.lang.Object org.geotools.data.db2.DB2SpatialCatalog
DB2SpatialCatalog | public class DB2SpatialCatalog (Code) | | Manage the DB2 Spatial Extender spatial catalog information in memory to
improve performance.
This class is not intended to be used outside the DB2 plug-in package.
Currently, a different catalog is managed for each DB2 database and schema
specified in the creation of a DB2DataStore. Multiple data stores created
for the same database and schema can share the same catalog.
All schema, table and column names are case sensitive.
Convenience methods provided for access to various types of catalog
information like type names, srid, etc.
Note: the 'srid' value in DB2 is different from the srid value referenced
in OGC documents. The OGC srid corresponds more closely to the DB2 'csid'
value. This makes life quite confusing because the DB2 'srid' is needed to
construct geometries in the database. GeoTools needs the 'csid' which
generally corresponds to an EPSG coordinate system identifier in order to
create an OGC coordinate system reference.
We also assume that there is a single 'srid' associated with all the
geometries in a particular geometry column. This is not required by DB2.
Do we need to consider freeing this up at some point as the HashMap of
catalogs is stored in a class variable?
author: David Adler - IBM Corporation |
Method Summary | |
public static String | geomID(String tableSchema, String tableName, String columnName) A convenience method to nicely format the schema, table and column name. | CoordinateReferenceSystem | getCRS(String tableSchema, String tableName, String columnName) Gets the OpenGIS CoordinateReferenceSystem of this geometry column. | int | getCsId(String tableSchema, String tableName, String columnName) Gets the DB2 coordinate system identifier associated with this geometry
column. | String | getDB2GeometryTypeName(String tableSchema, String tableName, String columnName) Gets the DB2 geometry type name for this geometry. | public static DB2SpatialCatalog | getInstance(String dbURL, String tableSchema, Connection conn) Get an instance of the DB2SpatialCatalog for the specified datastore. | int | getSRID(String tableSchema, String tableName, String columnName) Gets the DB2 srid value associated with this geometry column. | String[] | getTypeNames() Gets all the type (table) names in this catalog.
There could possibly be duplicate type names if a table has more than
one geometry column. | void | loadCatalog(Connection conn, String schemaName) Loads the DB2SpatialCatalog with the values from the DB2 Spatial
Extender catalog views. | public static void | reset() | public String | toString() Returns the database URL and table schema. |
geomID | public static String geomID(String tableSchema, String tableName, String columnName)(Code) | | A convenience method to nicely format the schema, table and column name.
Parameters: tableSchema - Parameters: tableName - Parameters: columnName - a concatenated key value. |
getCsId | int getCsId(String tableSchema, String tableName, String columnName) throws IOException(Code) | | Gets the DB2 coordinate system identifier associated with this geometry
column.
Parameters: tableSchema - Parameters: tableName - Parameters: columnName - the coordinate system identifier. throws: IOException - if a geometry was not found in the catalog for thespecified schema, table and column. |
getDB2GeometryTypeName | String getDB2GeometryTypeName(String tableSchema, String tableName, String columnName) throws IOException(Code) | | Gets the DB2 geometry type name for this geometry.
The geometry type name will be a value like 'ST_POINT' or
'ST_MULTIPOLYGON'.
Parameters: tableSchema - Parameters: tableName - Parameters: columnName - the DB2 geometry type name. throws: IOException - if a geometry was not found in the catalog for thespecified schema, table and column. |
getInstance | public static DB2SpatialCatalog getInstance(String dbURL, String tableSchema, Connection conn) throws SQLException(Code) | | Get an instance of the DB2SpatialCatalog for the specified datastore.
If it already exists, just return the current catalog for this database
identified by the database connection URL and table schema.
If it doesn't already exist and the connection parameter is null, return
null.
If not, read the DB2 Spatial Extender catalog tables and create an
in-memory representation for efficient access.
Parameters: dbURL - the database URL Parameters: tableSchema - the table schema name Parameters: conn - an active database connection or null a DB2SpatialCatalog. throws: SQLException - if there was a failure to create a catalog. |
getSRID | int getSRID(String tableSchema, String tableName, String columnName) throws IOException(Code) | | Gets the DB2 srid value associated with this geometry column.
Parameters: tableSchema - Parameters: tableName - Parameters: columnName - the DB2 srid throws: IOException - if a geometry was not found in the catalog for thespecified schema, table and column. |
getTypeNames | String[] getTypeNames()(Code) | | Gets all the type (table) names in this catalog.
There could possibly be duplicate type names if a table has more than
one geometry column. Any duplicates will be eliminated.
a String array of type names |
loadCatalog | void loadCatalog(Connection conn, String schemaName) throws SQLException(Code) | | Loads the DB2SpatialCatalog with the values from the DB2 Spatial
Extender catalog views.
The spatial columns are found in the view db2gse.ST_Geometry_Columns.
If the SRID value returned was null, attempt to get it from the actual
data table with the method getSridFromTable.
If the coordinate system for the geometry column just returned does not
already exist in the map of coordinate systems construct a new
coordinate system.
Parameters: conn - an active database connection Parameters: schemaName - the schema to identify tables in this catalog throws: SQLException - |
reset | public static void reset()(Code) | | This method should only be called by DB2SpatialCatalogTest
|
toString | public String toString()(Code) | | Returns the database URL and table schema.
the database URL and table schema as a String. |
|
|