Geographical information systems (GIS) and multi agent simulations (MAS) both are research fields of the research focus nextPlace of the Ostwestfalen-Lippe University, supported by the federal state of Northrine-Westphalia.

Within the framework of the research focus, the aim is to develop a regional atlant that shows ideas and concepts of the research focus that should serve as software prototypes. This essay contains a first prototype that combines an agent-based model (ABM) with data from a geographical information system and the 3d map visualization of a web framework.


The prototype of the web application can be launched here.


For better understanding of the described prototype, the following basis information is provided.


Agent-based models (ABM) serve as multiple empirical solution possibilities for a variety of diverse problems several application fields. Originally, we used twodimensional grids in the AMB in order to calculate spatial simulations. This depiction is only partially suitable to showcase entities like streets and buildings of the real world. In GIS, vector-based geometrical forms for entities have been established. They as well are suitable to serve as a data basis for ABM.

Schelling segregation model

The Schelling segregation model [Schelling1971] is an established model that simulates the segregation of different elements (e.g. persons) in an observation area (e.g. a building in a city). A variety of different work fields are being applied, such as sociology or material science.

In Crooks [2009] a software implementation for the Schelling segregation model is being presented. It is able to apply agent-based simulations to geographical data of the real word. In this process, agents (persons) are being grouped randomly onto buildings on a map (system environment) and also being grouped into a red or blue group. In the course of the simulation, the involved persons rate their satisfaction regarding a given treshold value and the proportions of the persons in the same group in their neighbourhood. If this treshold value is fallen below, they look for a new available building on the map and move there.

Similar works

Numerous research projects deal with GIS and ABM. Two representative projects are [GisAgents2016] and [Mars2016].

Based on the motivation and the developed basis information, requirements for the prototype have been phrased. These requirements build the base for the conceptional draft of the prototype.


Based on the motivation and the developed basis information, requirements for the prototype have been phrased. These requirements build the base for the conceptional draft of the prototype.

Non-functional requirements

Relatively available components should be used for the protoype and they also should only be dedicated for exceptional cases. The simulation should be launched simultaneously by any desired useres in the browser.

Functional requirements

The above-named implementation of the Schelling segregation model should be able to launch simulations based on real building data of the Ostwestfalen-Lippe region. The amount and the distribution of the persons to a group should be adjustable via certain parameters. Also, the general treshold value of the satisfaction of a person relating to the blue or red group in the immediate neighborhood. In addition, the affiliation of a building to a certain neighborhood can be defined.

The simulation should be visualized on a map. The lapse of the simulation steps should be able to be controlled. The relevant visualization should illustrate the condition of a person, a building and the entire system environment per simulation step.

Software architecture

Figure 1 shows the conceptional view onto the software architecture of the GeoSegregation application. The application consists of a typical 3 layer architecture (tier): the presentation layer, the application layer and the data processing layer [see Lui2005]. Every layer builds up on its previous layer. Loose coupling and strong cohesion of the individual modules within the application are being ensured through the establishment of defined interfaces.

Abbildung 1: Software-Architektur, konzeptionelle Sicht


This architecutre is being realized as a prototype. Figure 1 shows the implemented modules in orange.


Buildling data of the city of Detmold serve as basis for the simulation. The data is available as ESRI shape files. As a next step, the data is processed for the simulation model. A building consists of geographical coordiantes which illustrate the base area as a polygon. Furthermore, a building is conscious about its neighbours depending on the radius chosen by the user.


The web application is based on a java-based sprin model view controller (MVC) web application [see Arthur2005]. A controller offers a REST web interface (Application Programming Interface, API) [Fielding2000] in order to interact with the simulation.

The loose coupling between simulation and depiction enables the supply of the simulation onto different terminal devices for a huge variety of users.

An overview and rating of the available simulation environments and frameworks for ABM ist depicted for example in [Railsback2006]. The simulation of the prototype is based on a MASON agent framework with an extension for geographical data and calculations [Luke2005]. The agents in the simulation are people that are able to move into a house. The simulation is being carried out gradually. It is possible for a person to check their condition regarding the current neighbourhood in every step and therefore to possibly move. The factor for the user’s satisfaction is being defined by the user itself prior to the start of the simulation.


The simulation is being presented in a web browser. Well-known and established web technologies and frameworks, such as HTML, java script, jQuery, Bootstrap [see Sin2012] form the frame for the presentation. Cesium [Cesium2016] is being used as framework for the depiction of the map. Cesium is an open source java script library that depicts geographical data as 3D maps. The library was integrated onto the prototype and was also expanded on specific functions to depict the data of the simulation.

Figure 2 shows a screenshot of the web application before the start of the simulation. A control for the simulation and the view has been established. The simulation data (houses and buildings) can be depicted accordingly over time.

Abbildung 2: Bildschirmfoto der Anwendung vor Simulationsbeginn

Each simulation step aims at about 5 seconds. With every step, an image of the simulation’s condition is being conveyed from the server to the client. In order to do so, the web client requests the current condition for the next step (poll). An alternative would be another communication pattern, e.g. the pattern that the simulation actively notifies the client after finishing up a simulation step (push). The time can be regulated through a slide control. The moves of the people can be animated on the map. Figure 3 shows a screenshot with the result of the simulation.

Abbildung 3: Bildschirmfoto der Anwendung nach Simulationsende

Figure 4 shows a screenshot in which the view of the 2 or 3D map has been changed to a so-called space-time dice [Hägerstrand1970]. In the depiction as space-time dice, every layer above the ground surface forms the condiction of the simulation model after a step. The remaining discontents can be observed accordingly.

Abbildung 4: Bildschirmfoto der Simulation nach Simulationsende, Darstellung als Raum-Zeit-Würfel

Additional filter possibilities that aim at highlighting the condition of chosen persons are existent. Thus, figure 4 only showcases the remaining discontent persons per step. As expected, their amount decreases within the process of the simulation. In addition, the neighbours of a building can be highlighted and further information can be shown as depicted in figure 5.

Abbildung 5: Bildschirmfoto der Simulation, Detailansicht mit Nachbarn eines gewählten Gebäudes

Conclusion and outlook

The prototype uses current web technologies and is composed on a modular basis. It provides interfaces for the integration of various data sources, as well as for the presentation of the simulation onto different terminal devices. The implementation takes place within about 10 person days and provides a first impression on possible future development of the research focus.

Extension of the Schelling model

The underlying simulation model can be expanded in multiple ways. In this way, further geographical data, such as the topography, can be flowing into the decisions of distinct agents.

Extension of the framework

The prototype could be expanded onto a generic platform for agent-based simulations with (geographical) data for a variety of terminal devices: nextPlace –  Geographic Agent pervasive plattform (GApp). In a next step, the prototype is expanded to a framework which can be used by domain experts in order to establish further simulations. The vision would be that mainly only the modell has to be implemented in accordance with MASON. Especially the integration of data and the depiction and control of the simulation on different terminal devices is then already existent and can be reused. Only the simulation model is described and then translated into an executable java code, for example through an own domain-specific language (DSL) .


[Arthur2005]; Arthur et. al.; 2005; Spring framework for rapid open source J2EE Web application development: a case study; Proceedings of the Sixth International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing

[Cesium2016];; Zugriffsdatum: 14.06.2016; An open-source JavaScript library for world-class 3D globes and maps

[Crooks2009]; Andrew Crooks; Constructing and implementing an agent-based model of residential segregation through vector GIS; International Journal of Geographical Information Science Vol. 24, No. 5, May 2010, 661–675

[Fielding200]; Thomas Fielding; 2000; Architectural Styles and the Design of Network-based Software Architectures; Dissertation, University of California, Irvine

[GisAgents2016];; Zugriffsdatum: 14.06.2016; GIS and Agent-Based Modeling, Zugriffdatum: 15.06.2016

[Hägerstrand1970]; Torsten Hägerstrand; 1970; What about people in Regional Science?; Papers of the Regional Science Association, Volume 24, Issue 1, pp 6–21

[Lui2005]; Lui et. al.; 2005; Modeling 3-Tiered Web Applications; 13th IEEE International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems

[Luke2005]; Sean Luke et. al.; MASON: A Multi-Agent Simulation Environment; 2005; Simulation: Transactions of the Society for Modeling and Simulation International. 82(7):517-527.

[Mars2016];; Zugriffsdatum: 14.06.2016; Multi-Agent Research & Simulation

[Railsback2006]; Railsback et. al.; Agent-based Simulation Platforms: Review and Development Recommendations; Simulations 82, 609 – 623

[Schelling1971]; Thomas Schelling; Dynamic Models of Segregation; Journal of Mathematical Sociology, 1971, Vol. 1, pp 143 – 186

[Sin2012]; David Sin et. al.; Mobile Web Apps – The Non-programmer’s Alternative to Native sApplications; 2012 5th International Conference on Human System Interactions

[Yamamoto2008]; Yamamoto et. al.; 2008; A Platform for Massive Agent-based Simulation and its Evaluation; Lecture Notes in Computer Science, Vol. 5043, pp 1-12, Jan. 2008

Leave a Reply