Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] Agent Based Modeling

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


Back to the top