Java GIS Collaboration

Collaboration?
This page serves as a placeholder for information and discussion about possible opportunities for collaboration between FOSS GIS programs written in Java. This is an attempt to move from talk to action, since we (members of the FOSS GIS Java community) usually just nod and say "yeah, we should collaborate" and it ends there.

Java-based GIS Projects

 * GeoAPI
 * GeoTools
 * gvSig
 * JUMP / OpenJUMP
 * JTS
 * uDig / JGrass
 * Deegree

What components?

 * GeoAPI (OGC/ISO specifications)
 * GeoTools
 * JTS

Contacts
People from each team who are taking part in this discussion:

OpenJUMP - Landon Blake (sunburned.surveyor@gmail.com)

uDig / GeoTools / GeoAPI - Cory Horner (chorner at refractions.net)

Problems
Licensing Feature
 * LGPL vs GPL: everyone can use the LGPL code; GPL code will get less reuse.
 * Different Feature Models. This makes it difficult to share code. For example, you can't just plug-in a data source from the GeoTools library into OpenJUMP because it won't give you JUMP Feature objects. It gives you GeoTools Feature objects, which OpenJUMP can't use. :] We can work towards a common Feature implementation, but that is difficult in many cases because so much existing code has been written. In the case of OpenJUMP a lot of code is written and also published bia public interfaces to plug-in developers, which makes it much harder to refactor code. (If you want to change things you break a lot of plug-ins.) One solution may be to design, produce, and maintain code that converts between the different object features.

Ideas

 * draw a picture (who is using what right now?)
 * have an IRC meeting and figure out where we can collaborate
 * a BOF at FOSS4G2007 ?

Opportunities for Collaboration

 * Systems built on JTS. (Spatial Relationship Constraints, Geometry Constraints, Topology)
 * GIS Components that don't depend directly on the existing feature models. (Annotation/Map Labels Model, Non-Spatial Features)

Action - Not Talking
GeoJOP DataObject Framework Shared CRS and CRS Transformation Library