[udig-devel] Agent Based Modeling

Jody Garnett jgarnett at refractions.net
Sun Sep 16 12:40:53 PDT 2007


Cool - have you ever come to the right spot :-)

uDig is really good at intergration; the RCP plugin system lets you run 
your code with a high degree of isolation/safety.
> Our scientific visualization and agent based modeling group, 
> redfish.com, is starting to use GIS in our work quite a bit.  We've 
> done a wildfire evacuation model (using Python's gdal/shapelib 
> libraries and Processing.org's 3D visualization with DEM/Satellite 
> imagery), a crowd evacuation model (using netlogo and GIS raster 
> data), and sea-level analysis using Python and Google Earth.
Sweet :-)
> This works fine, but we'd like to become more expert in the GIS world, 
> so are evaluating the open platforms available (our work is open 
> source as far as possible).  So we've been looking at the alternatives 
> and stumbled across uDig's great project (thanks!).
Welcome; we are LGPL so you can still bundle everything up with your 
software at the end of the day. There will be a few GPL community 
plugins that you would need to take a pass on. But none of these ship 
with the sample uDig app that you download.
> A couple of ideas have come up for us:
>
> 1 - A new layer type called an "active layer".  This would form the 
> basis for agent based modeling on top of GIS data.  Note: ABM is 
> described here:
>   http://en.wikipedia.org/wiki/Agent_based_model
> Basically ABMs are comprised of many "agents" which are independent 
> software objects with their own local rules rather than a centralized 
> "intelligence". Our models often have 10-100 thousand agents.  Cars on 
> a street, investors in a market, people in a crowd, birds in a flock, 
> ants in a swarm, and so on.
Sounds fine; you can host any add hock data model you need on the Layer 
blackboard, and then render what that model is doing with a "Map 
Graphic". You do not really need to get into GIS much unless you want 
to. Just use uDig as an intergration platform.
> We've had success using non-ABM systems for modeling .. Processing 
> being the best recent example.  Do you think this would work with 
> uDig?  The idea would be for a top-level layer to be able to inquire 
> about its environment (roads, rivers, houses etc) and to be able to 
> move around in this.
I am familar with agents. There is also a blackboard at the Map level if 
your agents want to live there and latch onto the rest of the information.
> To get an idea of this sort of thing, here is a stadium evacuation 
> done in Processing:
>   http://backspaces.net/models/Stadium/applet/
> It has active agents (the moving point) running on Processing's 
> stadium wireframe.  We'd like the same thing .. for example boats on 
> the canals of Venice!
>
> 2 - 3D: Its surprisingly useful to use 3D in modeling.  Netlogo lets 
> you build a 2D model, then pop it into a 3D view where you easily zoom 
> around to see details.  JOGL has helped Java a bunch in this regard.
There have been a couple of exeperimental renderers in this regard. We 
would welcome your team setting up a 3D renderer around the model we 
have (ie Map/Layer/Style).
> So the two questions are:
> - Would it be easy to build an "active layer" for many agents to move 
> on within uDig?  We'd assume this might require double buffering or 
> similar to make the static GIS data not be redrawn each "frame" of the 
> agent "movie".
We have done a geovideo service before which had a moving dot associated 
with a "live" video feed. Supposed to be from a cop car or a UAV in a 
disaster response senario. You can look at the resulting codebase in our 
svn repository, and check out the a video of this stuff on the OGC website.
> - Can we currently pop a set of layers into 3D with uDig?
Nope; we are focused on intergration. A 3D renderer has not been 
provided yet - but when it is we are in a good position to make use of it.
Cheers,
Jody


More information about the udig-devel mailing list