Skip to content

Data-Driven Urban Visualization with CityEngine

September 10, 2013

I’m supporting an interesting new project for Metro, an elected regional government for the Portland metropolitan area, in collaboration with Professor Nancy Cheng of the University of Oregon School of Architecture and Allied Arts. Metro has used a number of urban planning tools to chart regional population growth driven by climate parameters. Although Metro has amassed large amounts of data, visualizing the data’s urban scale impact is quite a challenge. For this project we’re utilizing Esri® CityEngine®, a tool used to develop urban landscapes for urban planning, architecture and even films like the recent Superman movie.

CityEngine's help file provides this example of a Greek temple constructed using CGA rules.

CityEngine’s help file provides this example of a Greek temple construction using CGA rules.

Traditionally CityEngine uses a proprietary rule-based shape-grammar known as “CGA” or “Computer Generated Architecture” to generate form.  The CGA format provides flexible parametric form generation, but is not particularly useful for implementing computational tasks and algorithms for data manipulation. CityEngine also has a python console interface, useful for programming but of little value in shape generation. Neither language interface alone provides all the capability needed, but combining the two capabilities, we are able to process data from the climate models, select potential development sites based on GIS data, and interactively generate buildings on those sites while adjusting the parameters of the CGA files that control their form.

Aerial view of Portland's Gateway District with arbitrary buildings. Buildings are color coded based on their assessed property values.

Aerial view of Portland’s Gateway District with arbitrary buildings color-coded by assessed property value.

The above image illustrates the process using simple colored block-shaped buildings. First, we loaded GIS based tax maps of Portland’s Gateway district with annotations of the assessed lot values into CityEngine. In Python we then calculated average value per-square-foot, and assigned a property category based on whether the site value was below, above, twice or three times above average. The CGA rules then quickly generate the block shaped buildings of randomly selected heights and different colors for each category.

The resulting images may be used as-is, developed to a more sophisticated level in CityEngine, or exported and refined further in Photoshop or other 3d modeling tools such as SketchUp.

Street level view of the Gateway District example.

Street level view of the Gateway District example.

No comments yet

Leave a Reply to Anonymous Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: