Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[udig-devel] Udig-Integration and automation

Hello everybody,

I think this is going to be a quite long text ... :-[

For more the ten years I am developing and maintaining a (commercial)
German-Gis-Application, or better the non graphical alphanumerical part
of it. The application is written mostly in objectorientated Perl, the
graphical output (the mapstuff) is via a windows-based cad-application
(autocad/intellicad) per ActiveX-automation - so my app runs only on
windows-systems though my part of the code is plattform independent.
For long years I've been looking for a suitable Cad/Mapping-Framework to
make my whole application plattformindependent. In recent days two
frameworks came up which would be suitable (gvSig and Udig). gvSig,
though very powerful, seems to be very cryptic and complicated (most of
my useres are ordinary clerks) and most of the code is commented in
Spanish. So I fell in love with Udig which looks very straight forward.

My first Idea was to port my whole App-Framework to java and integrate
it into Udig. After a little thought I found this impossible for mainly
three reasons:
- I would have to maintain two branches of code, for several users will
continue to use the existing Framework and pay for the maintainence.
- Second, this is the main reason, this porting would mean to port
several hundredthousand code-lines, a work I simply cannot afford. I
certainly will port some smaller parts but not the entire thing.
- Third I love my perl ;-)

The idea I'm favouring now is to write or use some kind of glue-class,
possibly written in C++ (via JNI) or java which allows function-calls
from or to Udig. There are only three functions which have to be called
from my application:
- zoom to a certain point (or better window) of the drawing.
- switch a layer on or off
- draw some kind of mark (i.e. a circle) to a certain point.

And at the moment only one function to be called from Udig in my
application (i.e. sent an identity-string of some item to a function in
my application, to display the corresponding data).

The procedure could be as follows: on starting my app or on the first
call an Application-Object of Udig is created and stored. The
Function-calls would be via this object. Reversly on the first call from
Udig to my app a similar Object would be created and stored.

This sounds quite easy so far except that I have no experience in
writing such interfaces. So my questions are: Do you think this would be
possible (I think this could be of interest to many others)? And has
anybody already done somthing similar who could give me some hints where
and how to start?

Thanks for reading my long post and I hope you could understand all of
my clumpsy English. I'm looking forward to your replys.

Thanks Helmut



Back to the top