The workshop on parametric urban planning with Space Syntax and DeCodingSpaces-toolbox for Grasshopper is hosted by:
The 12th International Space Syntax Symposium (12SSS) will be held in Beijing from 8th to 13th July 2019, at Beijing Jiaotong University
Reinhard König Bauhaus University, Weimar
Martin Bielik Bauhaus University, Weimar
Yufan Miao ETH Zurich, FCL Singapore
During this one-day-workshop you will be introduced to methods for the analysis, generation and optimizations of urban layouts with DeCodingSpaces-Toolbox for Grasshopper. We will use existing urban context to analyze the impact of the street network configuration on different types of human behavior such as movement, walkability or land use distribution. Than we will learn how to use the analysis results to generate new street network layouts, parcels and buildings parametrically. Finally, we will demonstrate how to you evolutionary optimization to improve the performance of the parametric design toward pre-defined planning goals.
For this purpose we use Grasshopper for Rhino3D with the plugin DecodingSpaces-Toolbox. The methods are demonstrated by realistic case studies in an existing urban environments.
This workshop is intended for both practitioners and researchers interested in rapid context aware generation of urban layouts. The presented workflow let you computationally explore the design options of new urban development area with the potential to assess the site potential and inform the early planning stages.
|8:30 – 9:00||Registration|
|9:00 – 12:25||Analysis | Street network analysis with DeCodingSpaces Toolbox
Shortest paths – Metric, Angular, Custom
Multi modal travel
Weighting origins and destinations of movement
|12:25 – 13:30||Lunch break|
|13:30 – 15:00||Generation | Parametric urban form synthesis
Street network synthesis
Street block recognition
Parametric building generation
|15:00 – 15:30||break|
|15:30 – 17:00||
Optimization | Evolutionary optimization of street network configuration
Evolutionary optimization basics
- Windows 10
- Rhino 6 (64bit)
- Required Grasshopper plugins
Install user objects
Enable GPU acceleration
The requirement to run the GPU accelerated street network analysis is the CUDA platform enabled NVIDIA GPU.
If this requirement is fulfilled, you have to copy the folders “Alea.CUDA.CT.LibDevice” and “Alea.CUDA.CT.Native.X86.B64.Windows” from the GPU acceleration folder to your Rhino install folder (i.e. “Program Files\Rhinoceros 6 (64-bit)\System\”).
Part 1 – Street Network Analysis
Interactive documentation of the Street Network Analysis toolbox.
Hands on example files:
Street Network Editing Utilities
01| CITY GRAPH STARTING EXAMPLE
Basic setup for different options how to use the street network analysis tools to calculate shortest paths and centrality measures.
04| CITY GRAPH ONE WAY ROADS
The underlying spatial graph is directed one, which means that to every street we can assign different distance weight in each direction. In the example we demonstrate how this can be used to model traffic regulation such as one way streets.
02| PARK EDGE WEIGHTING
Calculating shortest paths by assigning custom distance weights (graph edges) to the spatial network. The edge weights can be metric, angular, custom or any combination of these. Thus we can represent different concepts of distance (e.g. time, safety, cognitive distance)
05| CITY GRAPH CENTRALITY VERTEX WEIGHTING
When calculation street network centrality, we can assign custom weight to each graph vertex (origin and destination of shortest path). This can be used to model network in which some nodes (e.g. train station) produce more movement than others.
03| CITY GRAPH BUS EDGE WEIGHTING
The application of custom distance weights (edge weights) is demonstrated on the example of multi-modal transportation network. Street segment which serve as bus routes are given shorter distance representing travel time compared to pedestrian street segments.
06| CITY GRAPH CENTRALITY DISTANCE DECAY
In several centrality measures (e.g. gravity), the attractiveness of destination is inversely proportional to function of distance. As distance grows, the attractiveness is getting lower. In the street network analysis toolbox, this distance decay function can be defined by user representing different types of behavior and aversion to travel.
Street Network Editing Utilities
01| NETWORK EDITING TOOLS
To gain correct and speedy analysis results of any street network, this has to be usually simplified and corrected for drawing errors. DeCodingSpaces toolbox offers range of tools to split lines, remove duplicates, simplify intersections and remove dead ends.
02| CUSTOM OFFSET
Transforms the street network into closed polylines – street blocks which can be offseted by custom value for each block edge. We demonstrate this functionality by offseting the block edges by their respective street network centrality values.
Part 2 – Generation of Street network, Plots and Buildings
Street Network Optimization
01| STREET NETWORK GENERATION
Generate Street Networks in a given area with initial street segments by controlling parameters for street segment length, angle between streets and connectivity.
02| BUILDING PLOTS GENERATION
Based on the generated Street Network we extract the Street Blocks and generate Plots based on control parameters like the maximal area, minimal width of the street side, etc.
03| BUILDING GENERATION
For each plot we generate buildings of various typologies controlling the parameters for setbacks, building sizes, orientation and density.
Part 3 – Street Network Optimization
Hands on example files:
Street Network Optimization
01| Chromosome Demonstration
In this example file, we demonstrate how the generative methods are represented using a specific data structure to be used for evolutionary optimization in the next step.
02| Evolutionary Multi-Criteria Optimization
Based on the generative components and a particular data structure, we can use a multi-criteria evolutionary optimization algorithm to search for good urban design variants.
I have a question regarding Selection component. As per above remark I have already changed regional settings and removed all special characters from the path to Pisa folder. ( path: C:\Users\plagu\AppData\Roaming\Grasshopper\Libraries\DecodingSpaces toolbox201904\DecodingSpaces201904\DeCodingSpacesLibraries\PISA)
However I still receive “1. Solution exception:Maximum timeout 100000 for PISA response reached.”
Can you please help?
This error often occurs if you have some invalid values in the list of fitness values – e.g. a null value.
Or the length of the lists of fitness value is not corresponding to the number of variants that you’ve generated.
-> Please, check carefully the values of your fitness lists!
I have the same error with the Selection component, have you solve this problem?
It’s like Cityengine, with more graph option. I like this. Thx You.
I am looking for a tutorial that starts from scratch. I have gone through the example files. Although it is a great starting point. It would be nice to have a document that explains the process from the beginning. That is, how to build a build the street network and the function of the components used. Thanks in advance.
There are courses that introduce various aspects of the DeCodingSpaces Toolbox on our OTP: https://otp.uni-weimar.de/
Hi, thanks for introducing this website.
I tried to register on this website which has interesting tutorials but couldn’t log in finally.
I got the message: Your account has to be confirmed by an administrator before you can log in.
is this website available for everybody?
It needs some time, since I approve every one manually to avoid spam registrations as much as possible. Have you tried it again?
Hi. I tried loading three of the examples into grasshopper (01 starting example / 05 centrality / 01 network editing tools) and in all cases the load failed with the message “input parameter chunk is missing. archive is corrupt”.
Can you advise? Many thanks
Hi, I had worked before on spatial configuration analysis software (depth map) related to space syntax theory, according to the workshop lecture there are very nice additions, but I need a recommendation for theoretical background of the content as equations source.
I have a lot of question needed to be answered as, why decoding spaces doesn’t include topological distance. what is the mean of gravity?
Finally, I want to thank prof. Dr Reinhard Koenig for publishing this great workshop and Vimeo videos, and asking if there is an online workshop to attend
Hi Mostafa Mahmoud,
many of the analysis components are explained in the online courses on our OTP, e.g. in the PUDA course:
hi, Prof.Reinhard Koenig
I have finished PUDA course before it was a great course, but, i still have the same questions about the typological distance and gravity.
Hello, I tried running the file and getting an error in Selection Component
(1. Solution exception:Maximum timeout 100000 for PISA response reached.)
As per your remarks above, there is no error in fitness values and also the list length are the same. Can you please help?
I am trying to register for the course but I am getting an error. I have requested the owner to accept my registration.
Please let me know if the course is available for everyone or only for students at the University?
Dear Anuj ,
some useres were blocked by our Anti-Spam tool. Please, try again.
Dear Prof. Reinhard,
Thanks for sharing this amazing group of components and demonstrations.
Dear Prof. Reinhard,
I downloaded the Gh file of ’01| CITY GRAPH STARTING EXAMPLE’. The ‘CityGraph’ components doesn’t work and shows ‘1. Solution Exception: One or more errors occurred.’
I tried to use LINE segments to make a simple network to test, and the ‘CityGtaph’ components failds either. Do you know what may be the cause?
I want to try to download the GH file and learn from it, but it seems that I can’t download it. Is there any way to solve it?
Thanks for your positive impactful works.
Please kindly know that i could not download any of these grasshopper files here.
could you kindly advise on what to do about it please.
Have you tried with right mouse click – save as? Or try another browser. When I test it, it works fine.