visual and spatial network analysis software
View the Project on GitHub SpaceGroupUCL/depthmapX
Source code:
depthmapX is an open-source and multi-platform spatial analysis software for spatial networks of different scales. The software was originally developed by Alasdair Turner from the Space Syntax group as Depthmap, now open-source and available as depthmapX.
depthmapX works at a variety of scales from buildings and small urban areas to whole cities or states. At each scale, the aim of the software is to produce a map of spatial elements and connect them via relationship (for example, intervisibility, intersection or adjacency) and then performs a graph analysis of the resulting network. The objective of the analysis is to derive variables which may have social or experiential significance.
At the building or small urban scale, depthmapX can be used to assess the visual accessibility of a place in a number of ways. It can produce point isovists, (polygons that represent the visually accessible area from a location) and isovist paths that show how the view changes when moving through a space.
Isovists are the core element behind Visibility Graph Analysis (VGA), acting as the joining mechanism that converts a dense grid to a graph of intervisible points (a visibility graph), which may then be analysed using various graph measures. depthmapX provides local measures of visibility such as the isovist area and perimeter but also global ones quantifying building traversal and space centrality.
VGA can also be used as the core of an agent-based analysis. In this type of analysis, a number of software agents representing pedestrians are released into the environment. Each software agent is able to access the visual accessibility information for its current location from the visibility graph, which informs its choice of next destination.
depthmapX allows for simulating different types of pedestrian behaviour by providing various ways for an agent to choose where to walk, such as towards larger spaces, long lines of sight or parts of their view that are occluded. The paths of the agents and their numbers passing through gates can be counted, and compared to actual behaviour of pedestrians passing through gates.
At the small to medium urban scale, depthmapX can be used to derive an axial map of a layout. This means it can derive a reduced straight-line network of the open space in an environment. The axial map has been the key analysis method of space syntax research for many years, but the mathematical derivation of it is novel.
The automatic derivation within depthmapX allows an objective map for researching spatial form and function. Once the map has been generated, it may be analysed using graph measures, and the measures may be transferred to gate layers in order to compare with indicators of pedestrian or social behaviour. For larger systems where the derivation algorithm becomes cumbersome, pre-drawn axial maps or downloaded maps (such as road-centre lines) may be imported.
Axial maps can also be converted to segment maps by breaking down long axial lines into a sequence of segments that lead from junction to junction. These may be analysed using a variety of techniques that accumulate depth, such as the degree of angle change from one segment to another, metric distance, or segment steps. Examples include the calculation of the number of shortest angular paths through a segment, or the average metric distance from each segment to all others.
depthmapX can import pure geometrical data such as floor plans or line-centre maps. which may then be converted into spatial networks. They can also be converted directly into existing networks such as VGA, axial maps and segment maps. The software provides an interface for exploring and modifying these networks by representing them as geometries but also by displaying the various parameters associated with them. Finally, it allows for limited extensibility and combination of the various measures by providing a simple scripting language called “salascript”.
Recent development efforts have resulted in an alternative ‘command-line’ interface that allows for automating the preparation and analysis of spatial networks with minimal user interaction. With this new interface the analysis of multiple different projects can be carried out unattended and without the need to have the graphical user interface open.
In this form depthmapX may also be embedded in projects using other programming languages such as R and python, allowing them to harness the various types of analysis in more complex applications.
(for an up-to-date list of contributors see here)
For publications:
depthmapX development team. (2020). depthmapX (Version 0.8.0) [Computer software]. Retrieved from https://github.com/SpaceGroupUCL/depthmapX/
A BibTeX entry for LaTeX users:
@software{depthmapx,
title = {depthmapX},
author = {{depthmapX development team}},
year = {2020},
version = {0.8.0},
url = {https://github.com/SpaceGroupUCL/depthmapX/}}
UCL and Space Syntax Limited have developed a Space Syntax Online Training Platform to facilitate the dissemination of Space Syntax principles, methodologies and software. The comprehensive handbook Space Syntax Methodology, authored by Kinda Al-Sayed et al (2014), which is used in teaching at UCL offers an introduction and step-by-step tutorials for newbies to learn the techniques and methods of Space Syntax analysis based on depthmapX.
depthmapX is licensed under the GPLv3 licence. It uses Qt5 as UI toolkit and build system, Catch as unit testing framework and FakeIt for test mocks.