I want to ask a question about a "strategic" move for OpenJUMP. I
thought it best to ask here, before I mention the subject on the
java-collaboration mailing list that was just set up at the OSGeo.

Let me give you some background info, and then I will aske my question.

A couple of weeks ago I decided that I would try to participate in
some programming at GeoTools. My goals with this endeavor were to [1]
become more acquainted with the GeoTools programming process and [2]
determine what type of collaboration would be possible.

I decided to do some work on adding support for GPX files in GeoTools.
There was some existing code, but I wanted to allow low-level access
to GPX files and also provide simple feature objects from GPX files.

I was cruising along fine until it came time to implement to the
SimpleFeature interface in GeoTools. This interface is actually from
the GeoAPI project but is used by GeoTools.

The SimpleFeature interface extends four (4) other GeoAPI interfaces
and a total of 30 different methods. In contrast, the JUMP Feature
interface defines only 17 methods and extends no other classes or
interfaces.

After digging into the GeoTools SimpleFeature code for a while, I have
realized that they don't really have a "pure" simple feature
implementation. Instead they've tried to force fit their complex
feature model into a simple feature interface. This is very akward for
me. For example, the implementer of SimpleFeature must implement
several methods that really seem to belong to SimpleFeatureType, which
is similar to JUMP's FeatureSchema.

Here is my question:

Is it worth trying to address the complexity in the GeoTools
SimpleFeature interface and related code, or should I focus my energy
on extracting and maintaining a very lightweight library with the
simple feature code from JUMP? (This would be a small JAR containing
the Feature interface, FeatuerSchema, interface, AbstractFeature class
and maybe a couple of other related classes.)

This may seem like an unimportant question, but I think it is more
important over the long term. Let me briefly explain why:

GeoTools has been set up as the "flagship" of open source Java GIS
collaboration. I believe it will be the project most people go to when
looking for a simple feature implementation to use in their own
projects. This isn't a bad thing if GeoTools is willing to address
issues of complexity or is willing to include a module with a "pure"
simple feature implementation that would be more compatible with
OpenJUMP. This would allow us to become a participant in GeoTools
development and tap into the outside interest for a simple feature
implementation.

If this is not possible, I really think it would be prudent of us to
maintain a small library that could be used by other parties outside
of OpenJUMP for projects that require a simple feature implementation.
This would be set up as an alternative to the simple feature
implementation in GeoTools. This would be of interest to organizations
that need simple features, but that don't need all of OpenJUMP and
don't want to deal with the complexity of GeoTools. We could then tap
into improvements or utilities that they contribute to JUMP's simple
feature model.

Do you guys have any thoughts on this? I was really hoping the
SimpleFeature code in GeoTools would be workable, but I'm on my third
or fourth day of trying to create an abstract class that implements
SimpleFeature and its related interfaces. I'f like to hear what
programmers from our OpenJUMP community have to say about this before
I mention it in a larger, more public, discussion.

The Sunburned Surveyor

P.S. - I know that I can be an annoying distraction to this community
and others, but I will note that at least two (2) of the messages that
I sent to the GeoAPI mailing list with questions about the
SimpleFeature interface and related code remain unanswered. Jody has
been great about explaining things from the GeoTools side, but I
wonder if the GeoAPI folks are that interested in explaining design
logic and working with our community...

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to