Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] An effort on collaboration...

Sunburned Surveyor wrote:

I must admit that GeoTools scares me a little bit, and I'm not sure
how I would get started as a developer there. But I am willing to
make the effort if it would allow our two projects to work closely
together when our different architectures will allow it.

You really should. 1, 2 below are already fully addressed in GeoTools. 4 below is partially addressed in uDig, in a community plugin.

The streaming shapefile support has been in Geotools has been there for some time, built by some very experienced and talented programmers and then optimized by yet more different ones. The odds that you are going to pop up with something that beats it are quite slim. At a minimum, you should understand in detail how it works, if your design is going to be more effective.

P

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.

*[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?

*[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.)

*[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.



The Sunburned Surveyor


------------------------------------------------------------------------


_______________________________________________ User-friendly Desktop
Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel


--

  Paul Ramsey
  Refractions Research
  http://www.refractions.net
  pramsey@xxxxxxxxxxxxxxx
  Phone: 250-383-3022
  Cell: 250-885-0632


Back to the top