Extracting the DNA of the city as an identity graph

Graphing the City was submitted as the dissertation for Laurence Elsdon’s Master of Architecture degree at Northumbria University in January 2017. He was awarded a Distinction (Exemplary), the highest possible accolade.

Using structured data from the Wikidata and Google Knowledge Graph Search APIs, this paper introduces a computational method to diagrammatically reduce the places of interest within a city to an identity graph. This experimental research extends Hillier & Hanson’s (1984) concept of extracting the genotype of a dwelling from its topological graph, taking it from the microscopic scale of the house to the macroscopic city scale.

The paper begins with an exploration of the existing literature on many relevant topics including urban identity, space syntax, social network analysis and volunteered geographic information. The literature then leads the development of a data collection and analysis application which is used to analyse five cities using graph theoretic social network analysis formula to quantitatively and objectively explore the commonalities and unique elements of their architectural identities.

The complete paper can be downloaded here and the application can be found here.

Graphing the City Build Status

Extracting the DNA of the city as an identity graph

Find the application at https://graphingthecity.studiole.uk

Source

This app is run entirely in your browser using AngularJS.

Contributing

I'm always on the look out for collaborators so feel free to suggest new features, get in touch or just fork at will.

Install

If you want to host your own private version or run a local version feel free to follow these installation instructions.

Usage

Run gulp to produce a build from the app source

gulp build

Launch a web server of the src directory

http-server src -a localhost -p 1337 -c-1

Launch a web server of the build directory

http-server build -a localhost -p 1337 -c-1

Run unit tests and watch for changes

npm test

Run unit tests only once

npm run test-single-run

Run end-to-end tests

npm run protractor

Next project