Introduction

City Geography Markup Language (CityGML) as Open Geospatial Consortium (OGC) standard is one of the modelling tool used to model and represent components of buildings such as outer shells, openings (windows, doors), outer building installations, interiors (chair, table, decorations, etc.) at different level-of-details (LoD1–LoD4) (Gröger et al. 2007). Furthermore, different LoDs of building models are important for different applications for efficient visualization and analysis purposes. But, direct rendering of these models can increase rendering time due to detailed data associated with buildings Mao et al. (2011). Therefore, generation of multi-scale representation of 3D buildings to fulfill the demands of these applications is a generalization problem. For this purpose, insignificant or detailed pieces of data need to be removed to restrict the amount of data on a certain LoD.

Several methods are applied to restrict the amount of data on a certain LoD by removing complicated edges, points, corners, etc. of 3D building models. In some cases, removal of transitional vertices is made as basis of generalization or larger edges are trimmed or averaged and a shortcut based on displacement is created to replace larger lines with generalized lines. In order to simplify components of 3D building models, generalization strategy is tailored to define which edges or vertices need to be removed or replaced by generalized edges.

Ground plans of 3D building models consist of a combination of features like points, lines and curves. Simplification methods such as point-reduction (Douglas and Peucker 1973), edge move (Buchin et al. 2011) and removal/adjustment of shortest edge (Fan and Meng 2009, 2012; Mao et al. 2011); Sester and Brenner (2004) and (Baig and Rahman 2013) can be applied to simplify ground plans. Edge move is a local operator to preserve the orientation of the edge but can always be performed on a non-convex polygon while preserving area, orientation and topology (Commandeur 2012). Additionally, in edge move, the basis of generalization needs to be defined to determine which edges need to be removed/adjusted. Similarly, adjustment/removal of shortest edges cannot be applied on curves as curves cannot be stored in their original shape in geo-data structures similar to line or polygons. Therefore, independent methods are necessary to simplify specific parts of ground plan.

In this paper, a framework based on three-step strategy is proposed. These steps include simplification, aggregation and reconstruction operations. Size and shape of generalized buildings are restricted to CityGML generalization specifications. The main part of this research is simplification of ground plans. For this purpose, a new simplification approach is proposed to restrict number of lines, curves and corners of ground plan of 3D building model on a certain LoD. In case of curved shapes, vertices of edges are taken into account for simplification instead of edges while non-curved shapes are simplified based on removal of shortest edge approach. Curved parts of ground plans are transformed down to the level of points and certain transitional points are removed to generate generalized edges while edges are considered for non-curved shapes.

With the aim to complete generalization, simplified structures of ground plans of walls and roofs need to be adjusted accordingly. For this purpose, height of the bounding box or length of highest wall at LoD1 is considered.

Algorithms for generalization with the aim to derive LoD1 are implemented and tested on a number of buildings of Malaysian city of Putrajaya.

Generalization specifications of CityGML are discussed in Sect. 2 followed by a framework and workflow based on three-step strategy for generalization of 3D building models in Sect. 3. Implementation and result are described in Sect. 4. Finally, the concluding remarks are presented in Sect. 5.

CityGML generalization specifications

The important aspect of CityGML is generalization specifications provided for different LoDs. They are characterized by differing accuracies and minimal dimensions of objects. Table 1 shows all object blocks as generalized features with ground plans of at least 6 m × 6 m have to be considered in LoD1 while 4 m × 4 m in LoD2. In the detailed model at LoD3, the minimal size of side of generalized object should be 2 m × 2 m. Generalization specifications of CityGML for LoD1 are made as basis of generalization in this paper.

Table 1 CityGML specifications for generalization of LoDs (adopted from (Gröger et al. 2007)

Generalization framework and workflow

The fundamental structure of the proposed 3D generalization framework is shown in Fig. 2. It consists of following four operations: extraction of exteriors from CityGML dataset; projection of exteriors as ground plans; generalization of ground plans and re-projection as generalized LoD. Generalization operation is the main part of this study which operates on ground plans.

CityGML schemas use the groundsurface type to define the ground plan of a building. On the other hand, it can be derived from the exterior shells of buildings modelled in CityGML by projecting the wall on the ground and connecting the footprint into a closed polygon (Fan and Meng 2012). However, this method is based on the exterior shell generated by their algorithm which is quite complex and time consuming (Mao et al. 2011).

In our case, firstly, outliers of 3D buildings decomposed down to the level of nodes at LoD3 except doors and windows are separated. An example of outer shell reconstructed from coordinates of nodes extracted from CityGML is presented in Fig. 1 in a three-dimensional space. Secondly, coordinates of nodes of ground plans are projected onto the ground and stored in a data structure without height or “z” values. Thirdly, algorithms for generalization with the aim to restrict lines, curves and corners of ground plan on a certain LoD are implemented using MathWorks libraries of Matlab. Arrangement of original and generalized points and edges based on generalization specifications of CityGML (see Table 1) is described in Sect. 3.1. Lastly, in order to complete generalization, simplified structures of ground plans and roofs are adjusted accordingly at LoD1 as part of reconstruction process. For this purpose, height of the bounding box or length of highest wall is considered as height of the building at LoD1 and walls with lower height are stretched to the bounding box or plane of flat roof.

Fig. 1
figure 1

An example of exterior (right) of a building (left) in a three-dimensional space

Fig. 2
figure 2

A framework for 3D generalization

Generalized structures are converted to LoD1 and exported with the aim to visualize using LandXplorer CityGML Viewer 2009.

Simplification of 2D footprints

Generalization based on simplification of footprints is one of the efficient methods to modify or eliminate insignificant details from 3D buildings. Footprints of 3D building models may contain corners, offsets and intrusions/extrusions. Therefore, generalization strategy is adopted based on certain characteristic of neighbourhood and a threshold value to reduce transitional points, selection and replacement of corners, edges, offsets, etc. However, the fundamental criteria to remove/adjust potential points, edges and polygons are still subject to the research. Besides selecting points (Douglas and Peucker 1973) and edges (Sester and Brenner 2004) by a threshold value, angles in Fan and Meng (2012) and areas in (Bose et al. 2006) are made as a basis of simplification operation.

In this study, to avoid removal/addition of important parts of buildings, geometry-based rules based on CityGML generalization specification (see Table 1) are imposed. Additionally, in certain cases similar to (Fan et al. 2009), an important object, which lies on the edge need not to be removed. If more than one smaller parts make a pattern consecutively and which are smaller than threshold, all of them needs to be taken into consideration collectively similar to (Baig and Rahman 2013). Features should be treated together if the removal or the modification can affect the neighbouring feature or if there is an overlapping between the two smaller features.

Two cases for simplification of two types of neighborhood of ground plans e.g. edges and curves are described in this study. Extracted ground plans down to the level of transitional vertices and points are processed for this operation. An example of simplification of a building with different types of features (curves and lines) is presented in Fig. 3. Original features of footprint of are shown in blue while generalized lines are highlighted in red.

Fig. 3
figure 3

Simplification of footprint of 3D building of Ministry of Agriculture and Agro-Based Industry, Putrajaya. a Original building of Ministry of Agriculture and Agro-Based Industry at LoD3 with different types of neighbourhood (curves, edges, and points). b Original edges (blue) of footprint of building are replaced with generalized edges (red). (Color figure online)

Case 1: shortest edge

Removal of shortest edge consists of three steps: selection of shortest edge (s n ); testing to determine whether this edge is shorter than the CityGML generalization specification at LoD1; and extension of neighboring larger edge. Simplification process for removal of smallest edge s n taking neighbouring edges like s n−1, s n+1 and s n−2 into account is illustrated in Fig. 4. Larger neighboring edge s n−2 is extended until it intersects s n+1. A new edge s n−2, s n is produced. Due to extension of s n−2, size of associated vertical edge s n+1 is decreased. The challenge due to removal of shortest edge is to adjust the neighboring edges while maintaining the length, orientation and association with each other. s n+1 and s n−1 may be parallel and s n+1 is shorter than s n−1 or vice versa or they can be non-parallel. In this case, simplification process is tailored to address these challenges. This process is repeated to remove other smaller edges. Result of simplification of footprint of a building model is presented in Fig. 5.

Fig. 4
figure 4

Removal of smallest edge by extending neighbouring edges

Fig. 5
figure 5

Result of simplification process: original footprint of Jabatan Pendaftaran Negara Putrajaya (JPNP) (left) and simplified footprint (right) based on removal of shortest edges

Case 2: curved shapes

Building footprint contain curves which cannot be stored in their original shape in geo-data structures similar to line or polygons. Therefore, elements of curves are described by a large number of nodes. Simplification process of a curve is presented in Fig. 6. Certain transitional nodes (red color) are selected based on a threshold value. Then, original curved lines (blue) formed by two points are replaced with a generalized lines (red) represented as s n , s n2, s n3, s n4, s n5 and s n6. Alternatively, number of nodes can be reduced based on point reduction (Douglas and Peucker 1973) method but this could result in poor representations of the original curves. Simplification of a footprint of Ministry of Finance (see Fig. 7a) with curved surface is presented in Fig. 7b. Original curved lines with discrete nodes (green dots) are heighted in blue while generalized line in blue.

Fig. 6
figure 6

Simplification of curved line based on point reduction

Fig. 7
figure 7

Simplified building footprint of Ministry of Finance, Putrajaya. a Original building of Ministry of Finance at LoD3. b Curved line with discrete nodes (green dots) and generalized line (red). (Color figure online)

Aggregation of ground plans

“Direct-merge” and “Snap-merge” are two aggregation operators introduced by (Bundy et al. 1995) to move two objects near to each other for aggregation purpose. A method developed by (Anders 2005) is quite suitable for aggregation of buildings located on a straight line with same orientation. This method preserves the location of original ground plans, and creates the new by prolonging the existing ones. A number of aggregation techniques (see Fig. 8) are applied based on P-Tree like edge collapse (Garland), Convex envelope, envelope cuboids (Coors 2003). Glander and Döllner (2007) introduced cell-based clustering to merge building blocks.

Fig. 8
figure 8

A comparison of three aggregation methods: edge collapse (top), convex envelope (middle) and envelope cuboid (bottom) based on P-Tree (Coors 2003)

In this work, in order to aggregate buildings closer within a certain threshold value (e.g. 10 m, etc.), convex envelope technique based on P-Tree is applied. The indices of the points in a data set that comprise the convex hull for the set are identified. A new polygon is created based on indices of identified points. Figure 9 shows aggregation of ground plans of two buildings based on this method.

Fig. 9
figure 9

Aggregation of ground plans of two buildings applying convex envelope based on P-Tree, aggregated boundary (green) and original edges (red). (Color figure online)

Reconstruction of generalized models

In order to complete generalization and reconstruction of generalized building models, simplified structures of ground plans of walls and roof are adjusted accordingly. A building in LoD3 has detailed roof structures while LoD2 contains distinctive roof structures. LoD1 is the well known building-blocks without any roof structures. Polygons of flat roofs (at LoD1) do not overlap any other polygons. Planes of flat roof may be similar with the ground plan except in rare cases where length of walls varies. The projection of flat roof outline and the ground plan are enclosed within each other therefore polygons are not distorted during projection and reconstruction become easy. In order to reconstruct building at LoD1, height of the bounding box or length of highest wall is considered as height of the building and walls with lower height are stretched to the bounding box or plane of flat roof. Figure 10 shows reconstructed 3D building at LoD1 from simplified footprint.

Fig. 10
figure 10

Reconstruction of generalized 3D building

Implementation and results

This research focused on derivation of LoD1 from outlier of 3D buildings modeled at LoD3 in CityGML. In order to achieve this objective, generalization of 3D buildings is implemented in a MATLAB (version Matlab 7.6.0, MathWorks) operated on a Core ™ i7 CPU @ 2.40 GHz, 4.00 GB RAM and Microsoft Windows 2007. A number of 3D building models of Putrajaya city of Malaysia are used to test the proposed algorithms.

Implementation process is divided into following four operations: (1) projection, (2) simplification, (3) aggregation of ground plans and (4) reconstruction of generalized LoD. Decomposed 3D building outliers down to the level of vertexes is used for further processing. Vertices of 2D faces are used to calculate length to remove smaller edges or corners of curved shapes. Nodes of edges are moved, adjusted and merged using programming routines of MathWorks for simplification purposes. The output of simplification process was stored into arrays and converted into XML-based CityGML format. Additionally, for better visualization, generalized models were visualized in LandXplorer CityGML Viewer.

Initially, footprints of two buildings such as Jabatan Pendaftaran Negara (JPN) and Ministry of Finance at Malaysian city of Putrajaya having complicated structures with off-sets and curved shapes are projected, simplified and reconstructed. Subsequently, the generalization procedures were applied and tested on a dataset containing 23 buildings of Malaysian city of Putrajaya around MaCGDI (Malaysian Center for Geospatial Data Infrastructure). Reduction in the size of generalized building models is calculated. Result of generalization (data reduction) as a result of new experiments is presented in Table 2 based on different threshold values (e.g. 1–6). Additionally, a graph is presented in Fig. 11. The results shows that percentage of data reduction is inverse promotional to value of threshold for minimum length of edges but other aspects like designing of building plan cannot be ignored. Furthermore, computing time is proportional to the threshold values as well.

Table 2 A comparison of threshold values (m), data reduction (%) and computing time (sec)
Fig. 11
figure 11

A comparison of threshold values and data reduction

The result of all proposed simplification and aggregation procedures presented in this paper, to derive LoD1 of building models of Putrajaya city of Malaysia are visualized in LandXplorer CityGML Viewer V. 2009. Buildings located closer to viewing point of a user seem less generalized as compared to those locating far from user in street view.

Concluding remarks

The aim of this study was to develop a strategy for data reduction of 3D city models from higher level- of-details to lower level-of-details. We investigated and implemented generalization operations (e.g. simplification, aggregation and reconstruction) to obtain this objective.

Data file of original buildings modeled in CityGML cannot be loaded in Matlab directly. Therefore, only nodes of exteriors of buildings from these source files were extracted and loaded for further processing.

A new method for simplification of curves along with intrusion and extrusion is included in this paper. Differential changes and ratios are important but are not taken into account. A part of this paper is an extension of our previous paper (Baig and Rahman 2013) (e.g. Case 1).

Based on vertices, the edges were generated to be used for implementation of Case 1 and aggregation purposes. These methods were implemented and tested with the aim to reduce complexity of ground plans of 3D buildings.

Secondly, all buildings were generalized into LoD1 with footprints or ground plans. Convex envelope technique was applied to aggregate building footprints.

Further research on generalization and adjustment of distinctive roof structures with walls of buildings at LoD2 would be an addition in future.