Parametric Modelling with GIS
Patrick Janssen1 , Rudi Stouffs2 , Akshata Mohanty3 , Elvira Tan4 ,
Ruize Li5
1,2,3,4,5
National University of Singapore
1
patrick@janssen.name 2 stouffs@nus.edu.sg
3,4,5
{akshatamohanty|elvira.tan|liruizenus}@gmail.com
Existing urban planning and design systems and workflows do not effectively
support a fast iterative design process capable of generating and evaluating
large-scale urban models. One of the key issues is the lack of flexibility in
workflows to support iterative design generation and performance analyses, and
easily integrate into design and planning processes. We present and demonstrate
a parametric modelling system, Möbius, that can easily be linked to Geographic
Information Systems for creating modular workflows, provides a novel approach
for visual programming that integrates associative and imperative programming
styles, uses a rich topological data structure that allows custom data attributes to
be added to geometric entities at any topological level, and is fully web-based.
The demonstration consists of five main stages that alternate between QGIS and
Möbius, generating and analysing an urban model reflecting on site conditions
and using a library of parametric urban typologies, and uses as a case study an
urban design studio project in which the students sketched a set of rules that
defined site coverage and building heights based on the proximity to various
elements in the design.
Keywords: generative design, urban planning, Geographic Information Systems,
parametric modelling
INTRODUCTION
Existing urban planning and design systems and
workflows do not effectively support a fast iterative
design process capable of generating and evaluating
large-scale urban models.
One of the key issues is the lack of flexibility in
workflows to support iterative design generation and
performance analyses, and easily integrate into design and planning processes. Especially when such
processes are characterized as dynamic, collabora-
tive, and constrained by time, skills and the availability of systems. While various systems exist to support performance analysis within urban planning and
design processes, these tend to be neither simple
to use, nor flexible in their ways of usage, nor can
they be easily integrated with other systems that may
serve other parts of the workflow.
Various systems for parametric urban design already exist. Beirão et al. (2011) present a parametric
urban design system that provides automatic feed-
CITY MODELING | Urban Planning Approach - Volume 2 - eCAADe 34 | 59
back on a number of urban indicators and density
measures. König (2015) presents an open source library for computational analysis and synthesis, denoted CPlan, which supports the optimization of spatial configurations. However, both systems only consider buildings as rectangular blocks and do not support a differentiation in building typologies. Knecht
and König (2012) present a tool that, given a street
network, generates building lots and buildings, the
latter in one of four types: row buildings, courtyard
buildings, ribbon buildings and free-standing blocks.
However, the tool supports only one building type at
a time and treats other parameters, such as building
depth, similarly. As such, it mainly focuses on small
developments.
Esri CityEngine (Müller et al. 2016) considers a
procedural modelling approach for generating 3D
city models. Specifically, it adopts a rule-based approach inspired by shape grammars but using procedural rules. While CityEngine is very comprehensive
in terms of modelling different building typologies,
including their facades, it primarily targets 3D visualization over analysis and assessment. Additionally,
much of the work in using CityEngine to generate 3D
cityscapes is manual in nature, developing or selecting rules that apply to specific plots in order to generate the relevant buildings. Finally, though CityEngine
supports some analysis, this is fairly limited and the
data generated within CityEngine cannot easily be
exported back into a 2D GIS environment (besides
Esri ArcGIS) for detailed analysis and assessment.
Modular Workflows
Modular workflows that can more easily be adapted
by the user are of special interest. Such workflows often rely on various software systems that
must be seamlessly connected in order to allow the
user to switch back and forth between modelling
and analysis. Workflows capable of integrating geographic mapping and parametric modelling systems
could enable various rapid iterative urban prototyping methods to be developed. Geographic mapping
uses Geographic Information Systems (GIS), such as
QGIS [1] and Esri ArcGIS [2]. Parametric modelling
is generally supported by Computer Aided Design
(CAD) systems together with various plugins, with
four popular tools being McNeel Grasshopper [3],
Bentley GenerativeComponents [4], Autodesk Dynamo [5], and SideFX Houdini [6].
Geographic Information Systems can be used to
integrate geospatial data of various types, to generate 2D maps as a starting point for the urban design
exploration process, and to perform various types of
2D analysis, including area calculations, buffer analysis, and network analysis. Parametric modelling systems can be used to generate 2D street layouts and
parcel subdivisions, to generate 3D urban massing
studies and morphologies, and to perform various
types of 3D analysis, including view analysis, solar radiation analysis, daylight analysis, and privacy analysis. Furthermore, both types of modelling systems
can be linked to other more advanced simulation
programs. For example, Geographic Information Systems can export data for transport simulation programs, and parametric modelling systems can export
data for Computational Fluid Dynamic (CFD) simulation programs.
The ability to easily exchange data between Geographic Information Systems and parametric modelling systems could potentially result in an ecosystem of flexible workflows that could be modified and
adjusted to tackle a wide variety of urban modelling
scenarios. The problem is that, currently, exchanging
data between these systems is difficult at best. The
main reason for this is differences in how data is represented within these systems.
Modelling with Attribute Data
When comparing the representations used by Geographic Information Systems and parametric modelling systems, many differences can be identified beyond the 2D/3D distinction. For example, parametric modelling systems typically support a wide variety of geometric types including spline-based curves
and surfaces. Geographic Information Systems on
the other hand have extensive tools sets for working
60 | eCAADe 34 - CITY MODELING | Urban Planning Approach - Volume 2
with both raster and vector data, but the geometric
types supported by the latter are typically very restricted, often consisting only of three types: points,
polylines, and polygons. While such differences are
important, for this research the key difference relates
to how non-geometric data can be associated with
geometric entities in the model.
In Geographic Information Systems, attribute
data can be attached to geometric entities such as
points, polylines and polygons. This attribute data
can represent any arbitrary information that the user
wishes to associate with the geometric entities. The
ability to work with attribute data is a fundamental
feature of geographic mapping and can be very powerful.
The attribute data can be displayed using attributes tables, where each row in the table represents a geometric entity and each column represents
an attribute. Users can define attribute values explicitly or by using formulas that calculate values based
on the geometry or on other attributes. Attributes
are typed, typically being integer numbers, floating
point numbers, text strings, or dates. Geometric entities and their associated attributes can be exported
in a number of file formats, including Shape files and
GeoJSON files.
In contrast, most CAD systems either do not allow attribute data to be attached to geometric entities, or only support it in limited ways. One example is
Trimble SketchUp [7], which allows data to be added
to groups or components. However, this means that
separate groups or components need to be created
for every geometric entity that needs to have data attached to it. For large models, this can become very
cumbersome.
Parametric modelling systems also do not tend
to support attribute data. Instead, this type of data
needs to be handled as a separate dataflow, which
imposes a significant burden of data management
on the user. For example, in Grasshopper, there are
various plugins for reading and writing GIS data. An
example is the Heron plugin [8], which is able to import GIS data from various sources. The plugin pro-
vides a node that can read GIS data, but the output
produces disconnected data sets for the geometric
entities and the attribute data. Managing these separate data sets and keeping them synchronised can
become very complex.
An interesting exception is the Jeneratiff plugin
for Grasshopper (Dritsas 2016). This plugin provides
a library of various advanced computational design
algorithms supported by an infrastructure that allows arbitrary data to be associated with geometric
entities. The data is stored in dictionaries, with the
possibility of nesting dictionaries inside one another,
thereby allowing more complex data structures to be
created. However, due to the limitations of the underlying Rhino platform, the association between geometry and data only exists within the Grasshopper
environment. Once the model is transferred back to
Rhino, geometric entities lose all their data.
One parametric modeller with more direct support of attribute data is Houdini. Furthermore, geometric entities are represented using a topological
data structure and attributes can be added at three
levels: primitives, vertices and points, in addition to
the global level representing all geometries. Primitives are geometric entities such as polylines and
polygons. Each primitive is defined by a set of vertices, and each vertex has a position in space that is
defined by a point. Attribute data can be added at
any of these three levels. This means that a polygon
can have different data added to the points, the vertices, and the polygon itself. The attribute data is displayed as tables in a similar way to GIS systems.
The authors have previously developed various
parametric GIS workflows using QGIS for geographical mapping and Houdini for parametric modelling
[9]. The ability of Houdini to be able to handle attribute data in a similar way to GIS systems allowed
data to be easily exchanged. Moreover, the combination of the topological data structure with the attribute data in Houdini also proved to be very powerful, even though this was not supported in QGIS. For
the geographic mapping, the flat data structure was
found to suffice, but for the parametric modelling the
CITY MODELING | Urban Planning Approach - Volume 2 - eCAADe 34 | 61
topological data structure was very useful.
Despite these advantages, Houdini is still found
to be lacking for more advanced modelling tasks.
First, the parametric modelling approach is predominantly a dataflow approach with rather weak support for procedural modelling (Janssen and Stouffs
2015). Second, the topological data structure focuses
on individual geometric entities but does not include
more complex objects consisting of multiple geometric entities. Therefore, a new type of parametric
modelling system was developed, called Möbius [10],
which can easily be linked to Geographic Information
Systems for creating modular workflows.
Paper Overview
This paper describes the Möbius system and uses a
case study to demonstrate how Möbius can support
complex parametric GIS workflows. The paper consists of three main parts, with the first part describing
the Möbius system, the second part focusing on the
case study, and the third part discussing future challenges.
OVERVIEW OF MÖBIUS
Möbius is a web-application that runs in the browser
on the client side. Figure 1 shows the Möbius user
interface. Compared to existing systems, Möbius offers two key advantages. First, it provides a novel approach for visual programming. Second, it uses a rich
topological data structure that supports objects consisting of multiple geometric entities. Each of these
are described in more detail below.
A Novel Visual Programming Approach
The parametric modelling approach in Möbius integrates associative and imperative programming
styles. The associative style of programming is
supported through dataflow programming, where
the user constructs networks consisting of nodes
and wires. The imperative style of programming
is supported through blocks-based programming,
where the user constructs procedures by creating sequences of code blocks (Resnick et al. 2009). Each
node in the dataflow network has an imperative procedure that is defined using the blocks-based apFigure 1
The Möbius
interface.
62 | eCAADe 34 - CITY MODELING | Urban Planning Approach - Volume 2
proach. This combined approach allows for the
dataflow network to be conceived at a higher level of
abstraction, allowing for smaller dataflow networks
that can more easily be read and understood.
The node network is defined with the associative
programming style, using panes (b) and (c) in Figure
1. Pane (b) is the node parameters pane, and is used
to set certain input values for the node instance selected in pane (c). Pane (c) is the network pane, and
is used to define the dataflow network. The inputs to
a node instance can either be defined by connecting
a wire to the input port, or by entering a specific parameter value through the user interface widget. In
the example in Figure 1, the generate_model0 node
instance is selected, and the parameters shown are
therefore for this node.
When the dataflow network is run, the network
is converted into a single JavaScript program that
is then executed in one go. This represents a synchronous type of execution, where the nodes are first
topologically sorted and then mapped to code in a
fixed order. This differs from most other dataflow system, where nodes are executed asynchronously in response to changes to their inputs.
The generation of an execution program from
the dataflow network has the advantage that it allows for a wide range of more advanced programming mechanisms to be used. Two such mechanisms
are iterative loops and higher-order functions. For a
more detailed description of these mechanisms, see
Janssen et al. (2016).
Iteration refers to mechanisms for repeating a
sub-procedure, and includes for-loops, while-loops
and recursive function calls. Visual Programming
Language (VPL) systems for parametric modelling
typically use a graph-based programming approach
consisting of nodes and wires, and as a result do
not support iteration very well. Nevertheless, with
dataflow (e.g. Grasshopper) and procedural modelling systems (e.g. Houdini), it is possible to create models that incorporate iterative procedures
(Janssen and Stouffs 2015). However, creating sophisticated types of iterations in these types of sys-
tems (such as nested loops) remains prohibitively difficult (Janssen and Stouffs 2015).
In Möbius, iteration is supported by defining
imperative procedures using the blocks-based programming. Each node is an instance of a type,
which is defined by specifying a procedure with a set
of inputs and outputs. This procedure can include
looping control-flow constructs such as for-loops and
while-loops. In Figure 1, the procedure in the generate_model0 node iterates over all the plots in the
GeoJSON file and generates a building on each plot.
Higher-order functions refer to any functions
that take another function as an argument or return
a function as a result. In parametric modelling, such
functions can be very useful as they allow components in the design to be represented and manipulated using functions (Leitão 2014). Most VPL systems do not support higher-order functions. Two
recent exceptions are Autodesk Dynamo and Autodesk 3DS MCG [11]. However, the dataflow interface makes it difficult to leverage the full power of
higher-order functions.
In Möbius, higher-order functions are supported
by an additional output port, which returns a reference to the function that wraps the procedure for
that node. When this output is wired into another
node, it results in a dashed wire, which indicates to
the user that it contains a reference to a function
rather than actual data. These wires can be used
to provide a function as an input to another downstream node. That node can then have a procedure
that executes that function. In the case study, alternative building typologies are conceived as higherorder functions. In this way, selecting a particular
building typology only requires the function reference to be provided as input to the generator node,
rather than embedding the procedure for the function node into the generation network. For example, in Figure 1, the three 'typology' nodes define procedures that generate buildings with alternative typologies. These are linked as higher-order functions
into the generate_model0 node, which uses these to
generate the urban model.
CITY MODELING | Urban Planning Approach - Volume 2 - eCAADe 34 | 63
A Topological Data Structure with Attribute
Data
Möbius uses a topological data structure consisting
of six levels: points, vertices, edges, wires, faces, and
objects. Points are similar as in Houdini, and represent positions in space. Geometric entities are then
defined using the various topological levels. For example, a polygon is a face defined by a closed wire, a
wire is defined by a series of edges, an edge is defined
by two vertices, and a vertex is defined by a point.
These topological levels are similar to those found in
the OpenCascade modelling kernel [12].
Custom data attributes can be added to the geometric entities at any of the topological levels. When
creating procedures, users are able to use functions
that directly read and write attribute data at specific
entries in the topological hierarchy.
For example, a polygon representing an urban
plot may have some face attributes that define the
target site coverage and building height. In addition,
one of the edges of that polygon may also have attribute data that specify that the edge is adjacent to
a road. This allows the parametric procedure to orient the buildings that are generated on that plot, so
as to ensure that they are facing the appropriate direction relative to the road.
were further developed in an urban planning studio
within the Master of Urban Planning program at the
Department of Architecture, National University of
Singapore. The case study focuses on one of these
projects, called Ecotopia. As part of the proposal, the
students developed a set of rules that defined urban
parameters based on the proximity to various elements in the design.
The site was divided into three zones as shown
in Figure 2: the residential zone, the industrial zone,
and the commercial zone. A set of rules was then
diagrammed, as shown in Figure 3. The rules define how site coverage and building heights vary in
relationship to roads (classes A, B and C), parks and
other boundaries. The leftmost rules apply to the residential zone, the second set of rules to the industrial zone, and the third to the commercial zone. The
rightmost rules apply to all zones and relate to the
proximity to parks.
Figure 2
Division of the site
into three zones.
The case study
focuses on the area
indicated by the
dotted line.
CASE STUDY
The case study stems from an international, collaborative design studio (Winter School) involving over
170 students and 30 design tutors, organized by
the International Forum on Urbanism (IFoU). Participants from all over the world came together to work
for 12 days on proposals for the Jurong Industrial
Estate (JIE), a 5000 ha industrial area in the west
of Singapore. The brief was to develop proposals
for the transformation of JIE from an almost monofunctional, segregated and fragmented, polluted industrial area into a major catchment area for future
population growth that integrates clean(ed) industrial plants with green lungs, attractive housing and
vibrant urbanity for one million people.
Some of the results of the IFoU Winter School
In the proposed parametric GIS workflow, QGIS is
linked to Möbius in order to support fast iterative
generation and evaluation of large-scale urban models. The workflow uses parameter fields and relies
heavily on the ability to attach attribute data to geometric entities in the model in both QGIS and Möbius.
The workflow consists of five main stages that alternate between QGIS and Möbius, with data exchange
using the GeoJSON file format.
Stage 1: Geographic Mapping in QGIS
QGIS is used to create a map of the site area, including existing buildings and infrastructure. Geographic
data is collected and manually integrated into a single geospatial dataset. A series of large parcels are
64 | eCAADe 34 - CITY MODELING | Urban Planning Approach - Volume 2
Figure 3
Ecotopia sketched
rules.
defined in QGIS, indicating the areas of the site where
future development is proposed. The map is shown
in Figure 4. The parcels are exported from QGIS and
imported into Möbius.
Figure 4
A map of the area
for future
development in
QGIS. The shaded
area indicates the
parcels where road
networks and
building typologies
need to be
developed.
Stage 2: Parcel Subdivision in Möbius
Möbius is used to recursively subdivide each parcel
into similar size plots, with tertiary roads also inserted
between the plots. The subdivision is performed by
a parametric procedure that attempts to create plots
that are as evenly sized as possible. The parameters
allow the designer to specify the target size of the
plot. The transformation from large parcels to smaller
plots is shown in Figure 5. The plots and tertiary roads
are exported as a GeoJSON file and imported back
into QGIS.
Stage 3: Parameter Generation in QGIS
QGIS is used to create parameter fields through a
combination of proximity functions and custom formulas that capture the spatial rules shown in Figure
3. A series of additional attributes are defined in the
attribute table for the plots for this purpose, in three
steps. First, proximity attributes are created that calculate proximity to roads, parks, and the waterfront.
Second, parameter attributes are created that calculate the building height and plot coverage for each
of the different rules shown in Figure 3 based on the
proximity attributes. This results in each plot being
assigned two building heights and plot coverages.
Third, a final pair of attributes is created that calculates the final value for both parameters using formulas that give priority to certain rules or conditions.
The plots with the attributes are exported from QGIS
and imported into Möbius.
Stage 4: Urban Model Generation in Möbius
Möbius is used to generate urban models using a library of parametric urban typologies. The parameters for each plot are extracted from the attributes
attached to the plot polygon; namely the building
height and the plot coverage. These parameters can
be viewed in Möbius in an attribute table, as shown
in Figure 6. The urban model is then generated by se-
CITY MODELING | Urban Planning Approach - Volume 2 - eCAADe 34 | 65
Figure 5
The process of
subdividing large
parcels into smaller
plots in Möbius. (a)
The large parcels.
(b) The subdivided
plots.
lecting and instantiating a parametric urban typology on each plot, as shown in Figure 7(a).
Each plot together with the urban model on that
plot is treated as a single object. The polygons in that
object have a 'type' attribute that defines the types of
building elements that they represent, such as
plot, footprint, floor, wall, roof , and window. Floors
are further categorised into three types: residential,
commercial and industrial. Möbius is then used to calculate the floor areas for each of the different functions. These values are then added as attributes to
the footprint polygons. For example, if a plot has two
buildings on it, then it will have two footprint polygons. For each building, the floor areas will be calcu-
lated and added as attributes to the respective footprint polygon.
Finally, in order to be able to export the model
back to QGIS, the model needs to be flattened to
2D. The critical information that needs to be transferred is the building footprints together with the
floor area attributes. These attributes are important
as they will be used for the QGIS analysis in the next
stage. Möbius exports the building footprints as a 2D
model which can then be imported back into QGIS.
Figure 7(b) shows the resulting 2D model, and Figure
8 shows the attribute table for the plots and building
footprints.
Stage 5: Spatial Analysis in QGIS
QGIS is used to analyse the flattened map of the urban model. First, a set of additional attributes are
added to the building footprint polygons representing the number of people in each building for each
of the functions. These values are calculated using a
formula that divides the floor area for each function
by average 'area-per-person' values. The attributes
are then used to calculate the percentage of people within a certain walking distance of transport
nodes. This is performed using a simple buffer analysis, which is based on the straight-line distance from
66 | eCAADe 34 - CITY MODELING | Urban Planning Approach - Volume 2
Figure 6
The attribute table
for the plots in
Möbius.
Figure 7
The models in
Möbius. (a) The 3D
urban model. (b)
The 2D flattened
model, for export to
QGIS.
the centre of the building footprint to the closest
transport node. Population densities are also visualised by colouring the polygons. Figure 9 shows the
resulting map in QGIS.
Figure 8
The attribute table
for the building
footprints in
Möbius.
CONCLUSIONS AND FUTURE RESEARCH
A parametric modelling system called Möbius has
been described that supports smooth exchange of
data with Geographic Information Systems. In particular, Möbius provides a novel approach for visual
programming that integrates associative and imperative programming styles and uses a rich topological data structure allowing custom data attributes to
be integrated with geometric entities at any topological level. This facilitates the creation of flexible workflows that can be modified and adjusted to tackle a
wide variety of urban modelling scenarios.
The case study demonstrates how Möbius can
support complex parametric GIS workflow. In the
case study, a workflow is developed that switches between the Geographic Information System and the
parametric modelling system multiple times, using
each tool for what it is best at, mainly analysis and
generation, respectively.
Through this research, some potential benefits
of rule-based modelling have started to emerge. Future research will explore the integration of a rule or
grammar-based data synthesis method within the visual programming approach. This will require the
conception of a relevant description model for the
specification, selection and execution of grammar
rules within Möbius. This will further improve workflow flexibility allowing users to choose whether to
express rules, e.g. for determining building height
and plot coverage from the proximity attributes,
within Möbius or the Geographic Information System, as procedural expressions, higher-order functions, or grammar rules. Ideally, workflow flexibility
should allow users to select and develop their own
preferred workflow in support of existing design processes and preferential working methods.
CITY MODELING | Urban Planning Approach - Volume 2 - eCAADe 34 | 67
Figure 9
The 2D map with
the buffer analysis
showing the
percentage of
people within a
certain walking
distance from
transport nodes.
REFERENCES
Beirão, JN, Nourian, P and Mashhoodi, B 2011 'Parametric urban design: An interactive sketching system
for shaping neighborhoods', Proceedings of eCAADe
2011, Ljubljana, pp. 225-234
Dritsas, S 2016 'An advanced parametric modelling library for architectural and engineering design', Proceedings of CAADRIA 2016, Melbourne, pp. 611-620
Janssen, P, Li, R and Mohanty, A 2016 'Möbius: a parametric modeller for the web', Proceedings of CAADRIA
2016, Melbourne, p. 157–166
Janssen, P and Stouffs, R 2015 'Types of parametric modelling', Proceedings of CAADRIA 2015, Daegu, pp. 157166
Knecht, K and König, R 2012, 'Automatische Grundstücksumlegung mithilfe von Unterteilungsalgorithmen
und typenbasierte Generierung von Stadtstrukturen', Arbeitspapiere (Working Papers) Informatik in
der Architektur, 15, pp. 3-21
König, R 2015 'CPlan: an open source library for computational analysis and synthesis', Proceedings of
eCAADe 2015, Vienna, pp. 245-250
Leitão, M 2014 'Improving generative design by combining abstract geometry and higher-order programming', Proceedings of CAADRIA 2014, Kyoto, p.
575–584
Müller, P, Wonka, P, Haegler, S, Ulmer, A and van Gool, L
2006, 'Procedural modeling of buildings', ACM Transactions on Graphics, 25(3), pp. 614-623
Resnick, M, et al. 2009, 'Scratch: programming for all',
Communications of the ACM, 52(11), pp. 60-67
[1] http://www.qgis.org/
[2] https://www.arcgis.com
[3] http://www.grasshopper3d.com/
[4] https://www.bentley.com/en/products/product-lin
e/modeling-and-visualization-software/generat
ivecomponents
[5] http://www.autodesk.com/products/dynamostudio/overview
[6] https://www.sidefx.com/
[7] http://www.sketchup.com/
[8] http://www.food4rhino.com/project/heron
[9] https://gis4design.wordpress.com/
[10] https://gis4design.wordpress.com
[11] http://mobius.design-automation.net/
[12] http://www.opencascade.com/doc/
occt-7.0.0/overview/html/
technical_overview.html
68 | eCAADe 34 - CITY MODELING | Urban Planning Approach - Volume 2