|
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.deegree.io.quadtree.DBQuadtreeManager
public class DBQuadtreeManager
Access control to a quadtree for managing spatial indizes stored in a usual database.
Field Summary | |
---|---|
protected String |
backend
|
protected String |
column
|
protected Envelope |
envelope
|
protected String |
indexName
|
protected JDBCConnection |
jdbc
|
protected int |
maxDepth
|
protected String |
owner
|
protected Quadtree |
qt
|
protected String |
table
|
Constructor Summary | |
---|---|
DBQuadtreeManager(JDBCConnection jdbc,
String table,
String column,
String owner)
initializes a QuadtreeManager to access an alread existing Quadtree |
|
DBQuadtreeManager(JDBCConnection jdbc,
String indexName,
String table,
String column,
String owner,
int maxDepth)
|
|
DBQuadtreeManager(String driver,
String logon,
String user,
String password,
String encoding,
String table,
String column,
String owner)
initializes a QuadtreeManager to access an alread existing Quadtree |
|
DBQuadtreeManager(String driver,
String logon,
String user,
String password,
String encoding,
String indexName,
String table,
String column,
String owner,
int maxDepth)
|
Method Summary | |
---|---|
void |
appendShape(String fileName)
appends the features of a shape to an existing datatable and inserts references into the assigned quadtree table. |
protected void |
checkForBackend()
|
protected void |
createDataTable(String fileName)
creates table the shape data shall be stored |
protected void |
createIndexTable(String indexTable)
creates a table that will store the nodes assigned to a specific quadtree index. |
protected String |
getDatabaseType(int dataTypeCode)
returns the type name for a generic type code as used by SQLServer |
Quadtree |
getQuadtree()
returns the current Quadtree |
void |
importShape(String fileName)
imports a shape into the database and builds a quadtree on it |
protected int |
initQuadtree(String fileName)
initializes a new Quadtree by adding a row into table TAB_QUADTREE and into TAB_QTNODE (-> root node) |
protected void |
initRootNode(String fileName)
initializes the root node of the quadtree |
void |
insertIndexMetadata(int fk_indexTree)
|
protected Quadtree |
loadQuadtree()
loads an already existing quadtree |
void |
setRootEnvelope(Envelope envelope)
before importing a shape a user may set an envelope for the quadtree to bee created that is different from the one of the shape by calling this method. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected JDBCConnection jdbc
protected String table
protected String column
protected String owner
protected String indexName
protected int maxDepth
protected Quadtree qt
protected Envelope envelope
protected String backend
Constructor Detail |
---|
public DBQuadtreeManager(JDBCConnection jdbc, String indexName, String table, String column, String owner, int maxDepth)
jdbc
- database connection infoindexName
- this name will be used to create the table that stores the nodes of a specific
quadtreetable
- name of table the index shall be created forcolumn
- name of column the index shall be created forowner
- owner of the table (optional, database user will be used if set to null )maxDepth
- max depth of the generated quadtree (default = 6 if a value < 2 will be passed)public DBQuadtreeManager(String driver, String logon, String user, String password, String encoding, String indexName, String table, String column, String owner, int maxDepth)
driver
- database connection driverlogon
- database connection logonuser
- database userpassword
- database user's passwordencoding
- character encoding to be used (if possible)indexName
- this name will be used to create the table that stores the nodes of a specific
quadtreetable
- name of table the index shall be created forcolumn
- name of column the index shall be created forowner
- owner of the table (optional, database user will be used if set to null )maxDepth
- max depth of the generated quadtree (default = 6 if a value < 2 will be passed)public DBQuadtreeManager(JDBCConnection jdbc, String table, String column, String owner)
jdbc
- database connection infotable
- name of table the index shall be created forcolumn
- name of column the index shall be created forowner
- owner of the table (optional, database user will be used if set to null )public DBQuadtreeManager(String driver, String logon, String user, String password, String encoding, String table, String column, String owner)
driver
- database connection driverlogon
- database connection logonuser
- database userpassword
- database user's passwordencoding
- character encoding to be used (if possible)table
- name of table the index shall be created forcolumn
- name of column the index shall be created forowner
- owner of the table (optional, database user will be used if set to null )Method Detail |
---|
protected void checkForBackend()
public Quadtree getQuadtree() throws IndexException
IndexException
protected Quadtree loadQuadtree() throws IndexException
IndexException
protected void initRootNode(String fileName) throws IndexException, IOException
fileName
-
IndexException
IOException
public void setRootEnvelope(Envelope envelope)
envelope
- method.
protected int initQuadtree(String fileName) throws IndexException, IOException
fileName
-
IndexException
IOException
public void insertIndexMetadata(int fk_indexTree) throws IndexException
fk_indexTree
-
IndexException
protected void createDataTable(String fileName) throws IndexException, IOException
fileName
-
IndexException
IOException
protected String getDatabaseType(int dataTypeCode) throws IndexException
dataTypeCode
-
IndexException
public void importShape(String fileName) throws Exception, IOException
fileName
-
Exception
IOException
public void appendShape(String fileName) throws Exception, IOException
you have to consider that the quadtree is just valid for a defined area. if the features to append exceeds this area the quadtree has to be rebuilded.
fileName
-
Exception
IOException
protected void createIndexTable(String indexTable)
indexTable
-
|
deegree 2.1 (2007/11/08 09:57 build-328-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://deegree.sourceforge.net