Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] AVL (Automatic Vehicle Location)

On Wed, 2005-04-13 at 10:06 -0700, Jody Garnett wrote:
> Ahmed Al-Obaidy wrote:
> 
> >We (WATANI-GIS) have an AVL (Automatic Vehicle
> >Location) System written in C++. Now we are
> >considering the migration to Java and open source
> >wagon. I’m interested in building the monitoring part
> >of the system as a plug-in on top of UDIG.
> >I will be very grateful of anyone show me the road to
> >start writing the plug-in. I had already started
> >reading about building plug-ins for eclipse. I hop it
> >is not far deferent from that…
> >All what I need is a plug-in that draws a moving
> >points on the top of the map (according a GPS readings
> >from a Location Server)….and capture all the event
> >related to these points (such as mouse double-click
> >and so on).
> >  
> >
> I was just talking to Mr Kennedy on a very similar problem.
> 
> One solution that was was mentioned was the idea of defining a 
> MapGraphic (since this is a synthetic layer), and using the Map or Layer 
> blackboard to communicate Vehicle location between the client code and 
> the screen. Click events are captured through the use of the tool API.
> 
> Jody
> 

A bit more info:  Synthetic layers are (usually) about presenting
dynamic data not about interaction with the user.  The tool extension
point is a good place to start.  It provides the developer with a
context which provides read access to the model. Tools can also listen
to mouse events so you can get feedback from the user.  There is also an
API for providing short term feedback to the user.  I'm going to make a
tutorial in the next 2 days for creating a tools that draws on the map
editor.

The model is read only to encourage changes that can be undone by the
user.  So to make changes to the model (add or modify features for
example) commands should be used.  The context provides some command
factories for basic commands.  New commands can also be created if the
non of the currently available commands suit your purposes.

If you need more information let me know.

Jesse



Back to the top