Added by Justin Deoliveira, last edited by Justin Deoliveira on Mar 20, 2008  (view change)

Labels

 
(None)

Spatial Extensions for H2 Database.

Overview

H2 is a fast and robust embedded Java database. The embeddable nature of H2 makes it ideal for shipping with GeoServer out of the box. Doing so would allow users to upload and create data without any additional configuration of an external database. With full support for atomic transactions, H2 is a nice alternative to file based formats like Shapefile and GML which are not ideal formats for data which must undergo frequent update.

This project involves creating spatial extensions for the H2 database. Students will add support for geometric objects, as well as functions for performing geospatial operations and predicates. All spatial functionality is provided via the JTS Topology Suite: an extremely stable and robust geometry library written in Java.

Beneficial (but not mandatory) skills for this project include past experience with spatial databases such as PostGIS, Oracle Spatial, or MySQL, and experience programming JDBC.

Technical Details

The strategy used to spatial extend H2 is taken from the Spatial Database in a Box project. This project defines the methods for creating the "bindings" to JTS for a variety of different databases.

The GeoTools H2 Driver makes use of this method. It currently provides support for a geometric objects, and a limited set of functions. Students will build from this.

A important bit of functionality a spatial database must provide is spatial indexing. Not only to store geometric objects, but to be able to perform queries against them based on location efficiently. One of the capabilities of H2 is the ability to build multi dimensional indexes: indexes on more than one column. Coupled with the idea of a space filling curve it provides a simple form of spatial indexing. Students will explore this idea and implement such an index for H2.

Powered by a free Atlassian Confluence Open Source Project License granted to GeoServer . Evaluate Confluence today.

GeoServer wiki is hosted by OpenGeo - Contact Administrators