Agent-Based Modeling and GIS

Agent-based modeling and GIS resources.

Definition of Agent-based Modeling on Wikipedia

Andrew Crooks’ GIS and Agent-based Modelling Blog

Papers and Articles

Agent-Based Modeling With Agent Analyst (2005)

Educating Multi-Disciplined Experts in GIS-Based Global Valuation Methods (2004)
Using Agent-Based Components in GIS Applications (2004)

Development of an Agent-Based Model for Cougars in Arizona (2005)

Integration of Agent-Based Models and GIS (2004)

Agent-Based Simulation of Urban Residential Dynamics and Land Rent Change in a Gentrifying Area of Boston (2008 )

Developing an Agent-Based GIS Using ArcObjects and XML (2001)

Dynamically Evaluating Fire Risk through Agent-based Models (2008 )

What Is Agent Analyst? (2006)

The Agent Analyst Extension for ArcGIS (2004)

Modeling Cougars With Agent Analyst (2005)

Modeling and Simulation of Rescue Activity by the Local Residents in the Seismic Disaster (2004)

The Use of Agent-Based Modeling to Support Local Conservation Strategies (2002)

Modeling and Simulation of Rescue Activity in a Seismic Disaster (2004)

Three Dimensional Visualization for Community Planning, Impact Analysis, and Policy Simulation (1999)

Educating Multi-Disciplined Experts for GIS-Based Global Valuation Modeling (2004)

Simulating Theory with Agent Analyst (2006)

New Computer Model Predicts Crowd Behavior (2007)

Modeling Crowd Behavior

8 thoughts on “Agent-Based Modeling and GIS

  1. A shotgun blast at a huge target

    GIS, ABM, Second Life, World of Warcraft, Walli, iPhone

    Agents open the world of behavior to scientific and geographic modeling. Other modeling forms in game engines and graphics based cinema share common notions of space, time and adherence to natural law and its biological and artificial derivatives. To the degree that these modeling forms hew to the same rules they can be “mashed” in a super model: with a bit of work. GIS concepts and practices will migrate to games, cinema, defense and intelligence M&S, situation awareness and locative augmentation applications and systems.

    Cell, Object, Agent, Avatar, Chimera

    In 1979, Waldo Tobler formalized spatial aspects of cellular behavior (automata) in a set of transitional equations. They form the base for most of today’s raster operations. As rasters evolved to objects, cells evolved to agents. In this blog’s citations, types of agents include rasters, features, borders, edges and cougars. An agent has potential interactive programmatic access to all objects in the environment. For example, each cougar can “sense” terrain, land cover and other cougars, when making a transition. This blog comment focuses on this type of agent: freely mobile and driven by biological pursuits.

    If an agent’s behavior is partly controlled by a “game player” or “live situation pilot” by means of keystrokes or other devices it is an avatar. If it is partly controlled by an external sensor, such as GPS, it is signal based. If the signal at the same time positions a person, the person is simultaneously in the real world and the virtual world. Such a dynamic schitzo duo is a chimera. All are varieties of agents.

    So, it’s the notion of agent that shifts modeling perspective from appreciation and analysis of spatio-temporal confections to apprehension, response and reaction to, at times complex, sets of interdependent individual interactions.

  2. Agent Analyst: a GeoModeler’s Simple Two Lane Bridge Between Arc and Beginning Agent Based Modeling (ABM) (RepastJ):


    Agent Analyst is a user tool in ArcToolbox. It partially bridges the gap from Arc to an ABM environment based on RepastJ (see below). Geomodelers can pass control of raster, shape and table files back and forth between between the two environments. Arc based Geoprocessing is thus extended to include ABM based algorithms applied to elements contained in the files. Looking from the other side, Agent Analyst is a bridge from ABM modeling to Arc’s Geodatabase, Geoprocessing, and visualization capability.

    RepastJ is a set of spatially oriented object class libraries. The objects are used by programmatic models that simulate dynamic spatial phenomena. Examples are: animal migration, predator/prey interaction, wild fire spread, and community growth. A few of many possible markets are Defense and Intelligence, physical security at many levels, emergency response, wildlife management, and mobile/locative devices.

    RepastJ models act on the same element types as Arc. Examples are: points, lines, polygons, multi-line borders and boundaries, surfaces, raster cells, nodes and edges and relational table entries. Each element is an object. With a bit of imagination and programming, the elemental objects and their extensions are used to emulate interactive behaviors. For example, dogs pursue hogs (and vice versa), fires burn fuel, zoning follows the money.

    A simple example: A raster terrain elevation and two shape layers (points representing initial positions of dogs and hogs) are set up in ArcMap, and declared in Agent analyst. Control is passed via the toolbox to Agent Analyst. The AA model simulates one or more time steps that animate dog and hog movement via transitional object methods: for example, terrain reasoning and pursuit or escape. At any point the AA model can invoke Instant Refresh in ArcEngine. The animation is thus visualized in simulated real time in the ArcMap display. When control is released by AA, ArcMap reasserts control of the updated layers. The sequence can be repeated.

    An AA model is bridged to Arc by a subset of Python called “Not Quite (NQ) Python”. NQPython can invoke methods in the RepartJ class library and create its own local objects; however, new library object classes can’t be created. Fortunately there are workarounds to bridge into the Java environment.

    Everything in RepastJ, even the elements, are Java objects. Performance can become an issue. Few hundred agents (say two hundred dogs and fifty hogs) aren’t too slow (whatever that might mean), but thousands likely would be.

    There are a million stories in the Naked City and a million variations of each one: think of the combinations. Everything depends on what story is to be told. Agent Analyst is very effective for proof of concept and prototyping in a surprising number of situations. In some, it can be a solution. The Australians would say “Horses for Courses”.

  3. Pingback: Top Posts of 2010 « GIS and Science

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s