Skip to: Site menu | Main content

GeoTools

The Open Source Java GIS Toolkit

Data Module Print

Module Maintainer: jgarnett, Justin Deoliveira
Status:
Email Help: Geotools-gt2-users@lists.sourceforge.net
Volunteer: geotools-devel@lists.sourceforge.net

Data access api providing a common interface to several file formats and data sources. This code was revised for the GeoServer 1.2 release as part of GeoTools 2.0, design documentation and research for this effort

is avaiable at http://vwfs.refractions.net/.

Ideas from this module were included in GeoAPI 2.0, this module is currently being revised in conjuction with GeoAPI 2.1 as part of the FM branch (see below).

Data Module Status

2.2.x

For the 2.2.x branch the data module remainted stable:

  • Implementation updated for ResourceCollection
  • Implementation provided for FeatureList (a random access api)

2.4.x

Broken out into a seperate module.

Feature Model

On the FM branch the following has occured:

  • seperated out into a distinct module
  • transition to GeoAPI feature model

2.5.x

Introduced FeatureAccess super class for DataStore and parametrized the FeatureSource/Collection/Reader/Writer interfaces to handle GeoAPI Feature as the general case, and SimpleFeature as a specialization.

Module Status

The data module is in flux as we transition to the FM branch, to protect yourself please

use the Query API (and Filter) rather then making direct use of FeatureReader. If you must

use FeatureReader

Outstanding Issues

Errors were reported by the JIRA trusted connection.

  • Unrecognized application: confluence:8447594
jira.codehaus.org (25 issues)
T Key Summary Assignee Reporter Pr Status Res Created Updated Due
New Feature GEOT-1927 Demo read-only datastore for FeatureServer Unassigned Nicholas Bergson-Shilcock Trivial Open UNRESOLVED Jul 17, 2008 Jul 17, 2008
Improvement GEOT-686 Add better support for java.lang.Boolean Justin Deoliveira Paolo Rizzi Minor Open UNRESOLVED Sep 14, 2005 Oct 30, 2007
Bug GEOT-1398 sort() method does not work on JDBCFeatureCollection Jody Garnett Gertjan van Oosten Minor Reopened UNRESOLVED Jul 16, 2007 May 23, 2008
New Feature GEOT-1924 GeoJSON parser and builder Unassigned Nicholas Bergson-Shilcock Minor Open UNRESOLVED Jul 16, 2008 Jul 23, 2008
Improvement GEOT-219 Improve JDBCTextFeatureWriter to use Prepared Statements Gabriel Roldán Chris Holmes Minor Open UNRESOLVED Jul 22, 2004 Aug 11, 2008
Sub-task GEOT-1530 Add DataStore.dispose() and fix common implementations Andrea Aime Andrea Aime Major Closed FIXED Oct 23, 2007 Oct 23, 2007
Improvement GEOT-944 Build a CachingDataStore Andrea Aime Andrea Aime Major Open UNRESOLVED Sep 15, 2006 Sep 15, 2006
Improvement GEOT-369 A spatially indexed feature collection is needed for faster rendering Andrea Aime Andrea Aime Major Closed FIXED Jan 07, 2005 Sep 15, 2006
Bug GEOT-892 Property datastore clobbers Tiger plugin Unassigned Jay Askren Major Open UNRESOLVED Jul 12, 2006 Jul 12, 2006
Improvement GEOT-1097 Unclosed transactions should close automatically on finalize and complain loudly Andrea Aime Andrea Aime Major Resolved FIXED Dec 29, 2006 Dec 29, 2006
Improvement GEOT-958 Support FID values greater than int Cory Horner Cory Horner Major Resolved FIXED Oct 02, 2006 Oct 04, 2006
New Feature GEOT-1032 Microsoft SQL Server datastore Unassigned Chris Holmes Major Open UNRESOLVED Nov 20, 2006 Dec 06, 2006
Bug GEOT-1131 Deadlock in TransactionStateDiff Jesse Eichar Vitali Diatchkov Major Closed FIXED Jan 19, 2007 Jan 19, 2007
Improvement GEOT-1101 ReTypeFeatureReader may avoid creating garbage Andrea Aime Andrea Aime Major Resolved FIXED Jan 01, 2007 Jan 08, 2007
Improvement GEOT-1197 DataStoreFactorySpi.Param should be able to parse delimited strings into arrays Andrea Aime Andrea Aime Major Resolved FIXED Mar 15, 2007 Mar 15, 2007
Improvement GEOT-489 Connection Pool and Transactoin J2EE Support Brent Owens Aleksander Bandelj Major Closed WON'T FIX Apr 03, 2005 Aug 01, 2007
Task GEOT-393 Geometry Converter Interface Andrea Aime Chris Holmes Major Open UNRESOLVED Feb 01, 2005 Jul 06, 2007
Improvement GEOT-1380 ReprojectFeatureResults wrongly extracts the original CRS from a ForceCoordinateFeature Andrea Aime Andrea Aime Major Closed FIXED Jul 09, 2007 Jul 09, 2007
Improvement GEOT-1317 Improve FeatureAccess to work over Name instead of TypeName Gabriel Roldán Gabriel Roldán Major Closed FIXED Jun 14, 2007 Jun 14, 2007
Sub-task GEOT-1305 Provide an alternate Data Access API to query ISO Features Gabriel Roldán Gabriel Roldán Major Closed FIXED Jun 13, 2007 Jun 14, 2007
Improvement GEOT-1280 There are still places in Geotools that do use new UID().toString() directly to generate FIDs Andrea Aime Andrea Aime Major Closed FIXED May 30, 2007 May 30, 2007
Bug GEOT-807 FeatureIterator.hasNext() == false if DefaultQuery.setCoordinateSystemReproject() Jody Garnett Rick DeZemplen Major Open UNRESOLVED Feb 14, 2006 Mar 05, 2008
Improvement GEOT-983 Split jdbc, data and xml out of main Justin Deoliveira Jody Garnett Major Closed FIXED Oct 17, 2006 Mar 05, 2008
Improvement GEOT-1607 Clean up FeatureEvents Jody Garnett Jody Garnett Major Open UNRESOLVED Dec 03, 2007 Dec 03, 2007
New Feature GEOT-1794 Add startIndex to Query and Implement native paging support for PostGIS Gabriel Roldán Gabriel Roldán Major Closed FIXED Apr 30, 2008 May 08, 2008




Comments

There are several areas in which the data module can be improved:

  • support for "joins" has been attempted several times, most recently on the "complex-features" branch, a standards

    compatible way of defining joins can be seen as part of the Catalog 2 specification in which a Query may hold several

    filters against different metadata. Starting at the other end of the problem

    the "community schema" effort concentrates on mapping the joins needed to fufill a

    predefined XML schema.
  • The exact mechaism for Locking can be improved based on the workflow documented in GeoAPI currently (in which

    LockResults are returned at the end of a Commit)
  • Repository can either be subsumed by Catalog, or can remain as a front end for cross datastore

    opperations (such as client side joins and unlocks). It would make sense to have Repository

    server as the creator of both Transaction and Locks.
  • Coverage support should be accessable in a manner similar to DataStore.