[
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