CityEngine Adds a New Dimension to Your GIS

3D Content Creation and Urban Design

Future view of Rotterdam, the Netherlands

Future view of Rotterdam, the Netherlands, with content created from ArcGIS and CityEngine.

In the weeks since Esri announced the acquisition of Swiss company Procedural—and its flagship product CityEngine—many users have been exploring how they could leverage this new product for their GIS work. The key functionality provided by CityEngine—high-end 3D content creation from simple 2D GIS data—is simple enough to understand, but how does it work? Perhaps more importantly, what do you, as a user, need to make it work?

CityEngine relies on three ingredients: features, attributes, and defined rules. The more detail you can provide in each of these elements, the greater the complexity and real-world accuracy you will get in the generated 3D content. While CityEngine can potentially create many kinds of 3D content from these three ingredients, it is currently focused on the construction of urban environments through integrated sets of buildings; building interiors; streets; and scene-filling objects, like trees, light poles, cars, and people.

For simplicity in understanding how CityEngine works, consider how it generates the exterior of buildings.

As a GIS user, you already have access to the first two parts of the puzzle (features and feature attributes) in your geodatabase. Suppose you're lucky enough to have polygon features that directly represent building footprints, and each feature has some information about the size and type of building it represents. By connecting a building construction rule in CityEngine to this data, a 3D representation of the physical building can be created.

First, the base 2D polygon of the building footprint is extruded upward—using a BuildingHeight attribute—to make it a 3D block. This is a common and simple representation of a building, but in CityEngine, you've just started the construction process. If you have more information, like the roof type of each building, the rule can construct different rooftops, such as hip, flat, or gable. If you have a field containing FloorCount, you can use the rule to split up your extruded blocks into floors and split each floor into windows with windowsills or balconies. Very advanced 3D building geometries, all driven by GIS data, can be constructed using this workflow.

A block-building representation of the city's zoning regulations.

A block-building representation of the city's zoning regulations.

To add realism to 3D buildings, CityEngine also supports rules to define textures. Textures are the imagery draped on the roof and sides of the generated models. For example, the texture of a building's roof could be defined by a field called RoofMaterialType containing values such as Tile, Concrete, or Corrugated Iron. Alternatively, you could take a different approach and have the rule extract a piece of satellite imagery and drape a real-world texture on the roof. Then, for the sides of the buildings, you can define different textures for the ground, intermediate, and top floors and have your buildings automatically "painted" with the applicable construction material, like wood, brick, or stone. CityEngine also contains styles you can use to define a whole suite of these options in one step.

This all sounds amazing, but what if you don't have building footprints with all these attributes? Can you still make buildings using your GIS data?

The answer is absolutely yes—CityEngine can construct representative buildings using as much, or as little, information as you provide. Highly detailed urban environments can be generated from landownership parcels with information on zoning laws or even something as simple as a street network. The detailed examples and tutorials that come with CityEngine demonstrate how this is done.

Maximum building blocks and a residential design that adhere to local zoning laws.

Maximum building blocks and a residential design that adhere to local zoning laws.

You can use the models created in CityEngine in many different ways. Urban designers can bring them back into their GIS database for in-depth analysis using all the geoprocessing power provided by ArcGIS and the ArcGIS 3D Analyst extension. Professional users in entertainment and security simulation might use them as part of a larger workflow with other 3D rendering and gaming packages. It's also likely that innovative users in other fields will find ways to use these new tools; one example already being discussed is the creation of 3D volumes for the maximum swing-and-sag zone for transmission lines, making it possible to better protect against major outages from line damage.

So what's the catch? It comes down to the level of effort and understanding required to make all the different elements come together. CityEngine is a highly professional and adaptable piece of software and will perform best after some investment in learning how it works. (If you are interested in a plug-and-play experience for urban modeling, see "The Future of Urban Design.")

Simply put, CityEngine has powerful capabilities to create an incredible variety of 3D content from often very simple GIS data. It makes it easier than ever to add that extra dimension to your GIS and move you into 3D.

For more information, visit

Contact Us | Privacy | Legal | Site Map