[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [udig-devel] An effort on collaboration...
|
On 31-Jan-07, at 11:49 AM, Sunburned Surveyor wrote:
There has been some interesting e-mails on the JPP Developer
mailing list the last few hours. I won't bore everyone with the
details, but the discussion has made me realize that I need to do a
bettter job building a good working relationship with the UDig
developers. I have talked about some of this with Jody before, but
I found that opportunities to share code were limited because UDig
and OpenJUMP have some significant differences in design and
architecture. For example, the ability to share GUI code is
severely limited. I quickly dismissed any real effort to share code
becuase I felt that it would be to much work.
Perhaps that was a mistake on my part. I didn't realize it at the
time, but the good relationship with UDiggers is another benefit of
the effort that will be needed to share more code between the
projects, and I didn't consider that benefit before. If we want
open source GIS to be a success, especially in the Java world, then
we need to work together.
Let me briefly list some of what I am working on in OpenJUMP. If
the UDiggers are interested, I will put some hard work into
creating code that can be used by both projects. (I'll need some
guidance on how this can be done.)
[1] I'm working on a ESRI Shapefile parser as part of my long-term
plan to overcome some of OpenJUMP's memory limitations. I hope this
parser will provide "iterative" and RAM independent access to
features. I also want it to offer access to features based on
location and attribute values. I think that is something that the
UDig team could tap into. (Imagine a dialog that allows the user to
import all features in a Roads Shapefile with a type attribute with
that has a value of highway...)
As part of my work on the ESRI Shapefile parser I've been putting
together a group tools that can be used to represent and manipulate
binary data. I've made these classes rather generic, and they could
be applied to the I/O of other binary file formats, not just ESRI
Shapefiles.
You might want to take a look at Geotools since it does this sort of
thing. Shapefile support is pretty complete in geotools although the
code needs to be cleaned up a bit by now as it has been through a few
iterations.
[2] I've done some work for a private company that involved
creation of a "data source catalog" for OpenJUMP. My main goal when
designing the system was to allow users to track the association
between data sources and layers. The work on the catalog has come
to a standstill, but I hope to conitnue it when the ESRI Shapefile
parser is complete and I implement a Shapefile Data Source.
I think this may be the greatest opportunity for collaboration
between UDig and OpenJUMP. Wouldn't it be great if the two programs
could share the same tools for I/O, and if users could work with
geospatial data sources through a somewhat similar catalog system?
You ideas about catalog would be valuable. We've had a uDig catalog
for a while and introduced it to Geotools but time has come to review
it and see if there are improvements/simplifications that can be made.
[3] I've been overhauling OpenJUMP's CursorTool code. I don't know
how much of this code could be used by UDig, because it is fairly
high-level and GUI related. However, I am going to be working on
some algorithms that compute "snapping" points on JTS Geometries,
and some of those algorithms might be useful to UDiggers. I'm also
tying in some of these CursorTools to a "Poisition Clipboard". I
think that is something that UDig might find handy. (Once again, we
would need to wrap the underlying code in a different GUI.)
At the very least I think we can trade ideas for design. And code
sharing may become apparent.
[4] At some point I need to write a DXF Parser for OpenJUMP. I've
looked at the spec, and even started sketching some notes on how I
would implement this. I think UDig had some DXF support as a plug-
in at some point. This is also something I need to look at.
In actual fact I think it was a port from a JUMP plugin. The work
stopped before it got very far unfortunately. For example it could
only read features no write capabilities.
If you would like we can organize an IRC meeting at some point.
Jesse