Home -> Online Articles -> Geosimulation - Agent-based Simulation of Complex Spatial Systems
Geosimulation - Agent-based Simulation of Complex Spatial Systems
Or How to Put the Real SimCity into Practice with the Agent Analyst Extension for ArcGIS
Modeling all the individual entities in a spatial system is like building the system from its atoms. Multi-agent simulation offers many advantages for the exploration of social processes and gives researchers intuitive access to modeling. Although explicit spatial simulations are rare, spatial relationships often play an important role when considering processes within systems. Geosimulation seems to be the main paradigm of spatial simulation for the coming years. This article will explain the fundamentals of agent-based geosimulation and its advantages. It will also introduce Agent Analyst Extension, a tool for comfortably creating agent-based models in ArcGIS and OpenMap.
![]() Micro-Macro link. |
When considering simulation software like SimCity, Mobility, MetroQuest, UrbanSim, Transims and the multi-agent transport simulation toolkit, MATSIM-T, the transition from computer games to real-world applications seems obvious. As all these products use similar software algorithms and visualization techniques, it doesn’t matter whether they are made for gaming or spatial planning. Roughly speaking, differences are mainly indicated in the granularity and level of generalization of the data sets used and the presentation of results.
In a 2006 BBC News article on the urban simulation application MetroQuest, developer Dave Biggs states: “We thought, we can just get a fraction of the excitement that people have playing SimCity – but use real information, with real data, from real cities.”
MetroQuest – with SimCity as a blueprint – is used by many urban administrations including
Why Simulate?
![]() Agent Analyst Components and Action Editor. |
Modeling and Simulation of Complex Systems
One way of implementing geosimulation is the construction of MAS, i.e., multi-agent systems. They enable direct modeling of human behavior by incorporating the concept of the agent. Collective phenomena are therefore the result of interaction between agents. In multi-agent systems quantitative parameters and processes can be modeled as well as qualitative parameters and processes. The focus in constructing multi-agent systems is on the interaction between agents and the observation of emergent patterns. Interaction is considered as a dynamic relationship where agents mingle with each other as a result of their own actions or other agents’ actions. While interacting in a common environment, agents can even establish indirect interaction. Multi-agent systems have a big advantage due to their anthropomorphic and intuitive way of modeling human behaviour. Their generative approach to individual-specific modeling of behavior enables users to observe and analyse how and why emergent patterns arise within agent-societies. The influence of space as behavioral context, however, is neglected in many models and therefore not incorporated explicitly. This obstacle is likely to be solved by the use of GIS as a modeling tool, but for GIS itself handling dynamic data and modeling human behaviour is not an easy task.
GIS Technology and Spatiotemporal Modeling
Only some of the current GIS products are able to handle spatiotemporal data seamlessly, as GIS technology is still dedicated to a traditional, static cartographic paradigm. They conceptualize geo-objects along with their cartographic representation and this hinders the integration of spatially dynamic aspects. GIS has never been thought to represent the spatiotemporal dimensions of social, economic and political processes, but only to represent their spatial structures. To put it simply: what is missing are appropriate tools to model spatiotemporal aspects of human behavior, especially that of interaction between a multitude of spatial entities on a micro level and its emergent results on the macro level.
Geographical Information Systems offer a wide range of possibilities for representing spatial variation within models. They offer many tools for spatial data gathering, processing and visualization that are highly usable for building dynamic simulation models. Therefore the use of dynamic simulation methods is of high importance to enrich the analytical potential of GIS.
Coupling GIS and MAS
Geosimulation is characterized by an explicit spatial representation of interaction between actors within a spatial system. A Geographical Information System is deployed within this context for pre-processing, analysis and visualization of spatiotemporal model data. It is common practice to couple GIS and MAS when implementing a geosimulation. Generally speaking there are four options for coupling GIS and MAS:
- loose coupling – establishing a file-based exchange of data between GIS and MAS
- tight coupling – integrating functionalities of GIS and MAS in a single software package
- direct cooperative coupling – GIS or MAS are deployed as Server or Client and work together on a client/server basis
- Indirect cooperative coupling – a software environment is used as the medium for negotiating between GIS and MAS
-
One option for coupling GIS and MAS comfortably is the Agent Analyst Extension for ArcGIS.
![]() Micro-Macro link. |
The Agent Analyst Extension for ArcGIS
Agent Analyst is an open-source ArcGIS extension that provides a toolset for fully integrating multi-agent models into ArcGIS. It is based on Repast, the Recursive Porus Agent Simulation Toolkit, developed by the Argonne National Laboratory. Agent Analyst generates agent-based models and runs simulations within the ArcGIS environment by creating agents directly from spatial objects in ArcGIS. The agents’ behavior is programmed in Python. Agent Analyst offers a graphical user interface for scheduling simulations, establishing mappings to ArcGIS layers and specifying the behavior and interactions of the agents. Therefore it adds the capability of agent-based geosimulation to the toolset of ArcGIS users and is a suitable platform for rapid prototyping of geosimulation models. Agent Analyst offers different predefined types of models including different types of agents. The GIS model provides agents with the ability to behave inside a spatial model defined by ArcGIS or OpenMap. Using ArcGIS, agents are created from ESRI shapefiles only.
Every model contains exactly one environment component. It is the base element and hosts all further model components, e.g., the agent-type household. Every component has its own fields, actions and a specific schedule. The actions editor is used to program the behavior of every component in Python.
Vector Agents, Generic Agents and Distributed Spatial Analysis
The GIS model uses generic agents and vector agents. A vector agent is a spatial software component that is fed by an ESRI shapefile. Every feature of a loaded shapefile becomes a spatial agent using the geometry and attributes of the feature. The features’ attributes are used as characteristics of the vector agent which can influence its behavior and change over time. A generic agent can be useful for creating non-GIS-based actors which might have an indirect spatial reference by pointing to one or more vector agents and hence become spatial agents too. Indirect referencing empowers agents to define neighborhoods irrespective of their geographical neighborhood.
All vector agents can use tools for spatial analysis within their behavioral program. This is the point where the simulation really becomes spatially explicit. Vector agents can access tools for spatial analysis using the JTS Topology Suite from Vivid solutions. The JTS Topology Suite can be applied only for the analysis of vector agents. A more general approach for spatial analysis is the use of ArcObjects. Using ArcObjects even a shift from loose coupling (file-based) to a tight-coupling mode of simulation is possible. ArcObject empowers vector agents as well as generic agents to conduct spatial analysis considering all spatial datasets usable by ArcGIS. JTS Topology Suite can only access datasets which have been loaded into the Agent Analyst extension. Agent Analyst also provides routines to rewrite manipulated attributes and coordinates of agents to the shapefile and refresh the ArcGIS display.
Tracking Analyst Extension to Analyze Results
Validating, calibrating and running a geosimulation for different parameter values usually results in a ton of data that needs to be analyzed. As it is spatiotemporal data, the ArcGIS Tracking Analyst Extension offers some functionality for at least visual analysis. The extension allows the flow of spatial entities to be shown as well as the temporal change of state within the cartographic environment of ArcGIS.
In the image below a snapshot of a geosimulation of the relocation behavior of households within
This snapshot was made from a Tracking Analyst animation. It is not easy, however, to work with Tracking Analyst as it is designed for real-world observation rather than for simulation output. Therefore the data resulting from a geosimulation has to be transformed several times to fit Tracking Analyst’s requirements.
A Glorious Future But There Are Still Many Hurdles
Agent-based geosimulation seems to be not only a promising concept for the simulation of complex spatial systems but also technically easy to implement. However, tools for the analysis of dynamic data from simulations are needed. These tools are extremely important for becoming aware of phase transitions, shifting points and conditions within the modeled system and for establishing a useful connection between the virtual, simulated world and the real-world processes.
Moreover, fundamental data for building up an individual-based simulation rarely exists. As socio-economic and demographic data is highly aggregated and not spatially referenced, artificial populations have to be generated for agent-based simulations trying to disaggregate those rough statistical datasets. Alternatively, expensive social surveys have to be conducted to provide the required datasets.
While there are already many ways to model individual agents’ behavior, researchers are still challenged to find more realistic and less mechanical ways of modeling behavior. But what is most important for further progress in geosimulation is to carry out hands-on work and conduct case studies to find out more about its limits and advantages. Moreover, researchers and practitioners must formulate their needs for more precise data in order to attain higher quality models.
Florian Fischer (ffischer@geoinformatics.com) is a contributing editor of GeoInformatics. Some recommended links: the highly regarded blog ‘GIS and Agent-Based Modelling’ by Andrew Crooks and Christian Castle of the Centre for Advanced Spatial Analysis,















