# 3D city model

A 3D city model is digital model of urban areas that represent terrain surfaces, sites, buildings, vegetation, infrastructure and landscape elements in three-dimensional scale as well as related objects (e.g., city furniture) belonging to urban areas. Their components are described and represented by corresponding two- and three-dimensional spatial data and geo-referenced data. 3D city models support presentation, exploration, analysis, and management tasks in a large number of different application domains. In particular, 3D city models allow "for visually integrating heterogeneous geoinformation within a single framework and, therefore, create and manage complex urban information spaces."

## Storage

To store 3D city models, both file-based and database approaches are used. There is no single, unique representation schema due to the heterogeneity and diversity of 3d city model contents.

### Encoding of components

The Components of 3D city models are encoded by common file and exchange formats for 2D raster-based GIS data (e.g., GeoTIFF), 2D vector-based GIS data (e.g., AutoCAD DXF), 3D models (e.g., .3DS, .OBJ), and 3D scenes (e.g., Collada, Keyhole Markup Language) such as supported by CAD, GIS, and computer graphics tools and systems. All components of a 3D city model have to be transformed into a common geographic coordinate system.

### Databases

A database for 3D city models stores its components in a hierarchically structured, multi-scale way, which allows for a stable and reliable data management and facilitates complex GIS modeling and analysis tasks. For example, the 3D City Database is a free 3D geo database to store, represent, and manage virtual 3D city models on top of a standard spatial relational database. A database is required if 3D city models have to be continuously managed. 3D city model databases form a key element in 3D spatial data infrastructures that require support for storing, managing, maintenance, and distribution of 3D city model contents. Their implementation requires support of a multitude of formats (e.g., based on FME multi formats). As common application, geodata download portals can be set up for 3D city model contents (e.g., virtualcityWarehouse).

### CityGML

The Open Geospatial Consortium (OGC) defines an explicit XML-based exchange format for 3D city models, CityGML, which supports not only geometric descriptions of 3D city model components but also the specification of semantics and topology information.

### CityJSON

CityJSON is a JSON-based format for storing 3D city models. It mostly follows the CityGML data model, but aims to be developer- and user-friendly by avoiding most of the complexities of its usual GML encoding. Due to its simple encoding and the use of JSON, it is also suitable for web applications.

## Construction
### Level of detail

3D city models are typically constructed at various levels of detail (LOD) to provide notions of multiple resolutions and at different levels of abstraction. Other metrics such as the level of spatio-semantic coherence and resolution of the texture can be considered a part of the LOD. For example, CityGML defines five LODs for building models:
* LOD 0: 2.5D footprints
* LOD 1: Buildings represented by block models (usually extruded footprints)
* LOD 2: Building models with standard roof structures
* LOD 3: Detailed (architectural) building models
* LOD 4: LOD 3 building models supplemented with interior features.
There exist also approaches to generalize a given detailed 3D city model by means of automated generalization. For example, a hierarchical road network (e.g., OpenStreetMap) can be used to group 3D city model components into "cells"; each cell is abstracted by aggregating and merging contained components.

### GIS data

GIS data provide the base information to build a 3D city model such as by digital terrain models, road networks, land use maps, and related geo-referenced data. GIS data also includes cadastral data that can be converted into simple 3D models as, for example, in the case of extruded building footprints. Core components of 3D city models form digital terrain models (DTM) represented, for example, by TINs or grids.

### CAD data

Typical sources of data for 3D city model also include CAD models of buildings, sites, and infrastructure elements. They provide a high level of detail, possible not required by 3D city model applications, but can be incorporated either by exporting their geometry or as encapsulated objects.

### BIM data

Building information models represent another category of geo-spatial data that can be integrated into a 3D city model providing the highest level of detail for building components.

### Integration at visualization level

Complex 3D city models typically are based on different sources of geodata such as geodata from GIS, building and site models from CAD and BIM. It is one of their core properties to establish a common reference frame for heterogeneous geo-spatial and geo-referenced data, i.e., the data need not to be merged or fused based on one common data model or schema. The integration is possible by sharing a common geo-coordinate system at the visualization level.

### Building reconstruction

The simplest form of building model construction consist in extruding the footprint polygons of buildings, e.g., taken from the cadaster, by pre-compute average heights. In practice, 3D models of buildings of urban regions are generated based on capturing and analyzing 3D point clouds (e.g., sampled by terrestrial or aerial laser scanning) or by photogrammetric approaches. To achieve a high percentage of geometrically and topologically correct 3D building models, digital terrain surfaces and 2D footprint polygons are required by automated building reconstruction tools such as BREC. One key challenge is to find building parts with their corresponding roof geometry. "Since fully automatic image understanding is very hard to solve, semi-automatic components are usually required to at least support the recognition of very complex buildings by a human operator." Statistical approaches are common for roof reconstruction based on airborne laser scanning point clouds.
Fully automated processes exist to generate LOD1 and LOD2 building models for large regions. For example, the Bavarian Office for Surveying and Spatial Information is responsible for about 8 million building models at LOD1 and LOD2.

## Visualization

The visualization of 3D city models represents a core functionality required for interactive applications and systems based on 3D city models.

### Real-time rendering

Providing high quality visualization of massive 3D city models in a scalable, fast, and cost efficient manner is still a challenging task due to the complexity in terms of 3D geometry and textures of 3D city models. Real-time rendering provides a large number of specialized 3D rendering techniques for 3D city models. Examples of specialized real-time 3D rendering include:
* Real-time 3D rendering of road networks on high resolution terrain models.
* Real-time 3D rendering of water surfaces with cartography-oriented design.
* Real-time 3D rendering of day and night sky phenomena.
* Real-time 3D rendering of grid-based terrain models.
* Real-time 3D rendering using different levels of abstraction, ranging between 2D map views and 3D views.
* Real-time 3D rendering of multiperspective views on 3D city models.
Real-time rendering algorithms and data structures are listed by the virtual terrain project.

### Service-based rendering

Service-oriented architectures (SOA) for visualizing 3D city models offer a separation of concerns into management and rendering and their interactive provision by client applications. For SOA-based approaches, 3D portrayal services are required, whose main functionality represents the portrayal in the sense of 3D rendering and visualization. SOA-based approaches can be distinguished into two main categories, currently discussed in the Open Geospatial Consortium:
* Web 3D service (W3DS): This type of service handles geodata access and mapping to computer graphics primitives such as scene graphs with textured 3D geometry models as well as their delivery to the requesting client applications. The client applications are responsible for the 3D rendering of delivered scene graphs, i.e., they are responsible for the interactive display using their own 3D graphics hardware.
* Web view service (WVS): This type of service encapsulates the 3D rendering process for 3D city models at the server side. The server generates views of the 3D scene or intermediate, image-based representations (e.g., virtual panoramas or G-buffer cube maps), which are streamed and uploaded to requesting client applications. The client applications are responsible for re-construction the 3D scene based on the intermediate representations. Client applications do not have to process 3D graphics data, but to provide management for loading, caching, and displaying the image-based representations of 3D scenes and do not have to process the original (and possibly large) 3D city model.

### Map-based visualization

A map-based technique, the "smart map" approach, aims at providing "massive, virtual 3D city models on different platforms namely web browsers, smartphones or tablets, by means of an interactive map assembled from artificial oblique image tiles." The map tiles are synthesized by an automatic 3D rendering process of the 3D city model; the map tiles, generated for different levels-of-detail, are stored on the server. This way, the 3D rendering is completely performed on the server's side, simplifying access and usage of 3D city models. The 3D rendering process can apply advanced rendering techniques (e.g., global illumination and shadow calculation, illustrative rendering), but does not require client devices to have advanced 3D graphics hardware. Most importantly, the map-based approach allows for distributing and using complex 3D city models with having to stream the underlying data to client devices - only the pre-generated map tiles are sent. This way, "(a) The complexity of the 3D city model data is decoupled from data transfer complexity (b) the implementation of client applications is simplified significantly as 3D rendering is encapsulated on server side (c) 3D city models can be easily deployed for and used by a large number of concurrent users, leading to a high degree of scalability of the overall approach."

## Applications

3D city models can be used for a multitude of purposes in a growing number of different application domains. Examples:
* Navigation systems: 3D navigation maps have become omnipresent both in automotive and pedestrian navigation systems, which include 3D city models, in particular, terrain models and 3D building models, to enhance the visual depiction and to simplify the recognition of locations.
* Urban planning and architecture: To set up, analyze, and disseminate urban planning concepts and projects, 3D city models serve as communication and participation medium. 3D city models provide means for project communication, better acceptance of development projects through visualization, and therefore avoid monetary loss through project delays; they also help to prevent planning errors.
* Spatial data infrastructures (SDIs): 3D city models extend spatial data infrastructures and support the management, storage, and usage of 3D models within SDIs; they require not only tools and processes for the initial construction and storage of 3D city models but also have to provide efficient data management and data distribution to support workflows and applications.
* GIS: GIS support 3D geodata and provide computational algorithms to construct, transform, validate, and analyze 3D city model components.
* Emergency management: For emergency, risk, and disaster management systems, 3D city models provide the computational framework. In particular, they serve to simulate fire, floodings, and explosions For example, the DETORBA project aims at simulating and analyzing effects of explosion in urban areas at high precision to support prediction of effects for the structural integrity and soundness of the urban infrastructure and safety preparations of rescue forces.
* Spatial analysis: 3D city models provide the computational framework for 3D spatial analysis and simulation. For example, they can be used to compute solar potential for 3D roof surfaces of cities, visibility analysis within the urban space, noise simulation, thermographic inspections of buildings
* Geodesign: In geodesign, virtual 3D models of the environment (e.g., landscape models or urban models) facilitate exploration and presentation as well as analysis and simulation.
* Gaming: 3D city models can be used to obtain base data for virtual 3D scenes used in online and video games.
* Cultural heritage: 3D city model tools and systems are applied for modeling, design, exploration, and analysis tasks in the scope of cultural heritage. For example, archeological data can be embedded in 3D city models.
* City information systems: 3D city models represent the framework for interactive 3D city information systems and 3D city maps. For example, municipalities apply 3D city models as centralized information platform for location marketing.
* Property management: 3D city model technology can extend systems and applications used in real-estate and property management.
* Intelligent transportation systems: 3D city models can be applied to intelligent transportation systems.
* Augmented reality: 3D city models can be used as reference frame for augmented reality applications.