INVESTIGATING THE ENRICHMENT OF A 3D CITY MODEL WITH VARIOUS CITYGML MODULES

: Recent developments in the massive 3D acquisition area made possible the generation of dense and precise 3D data, ranging from the representation of a simple building to a whole city. Nowadays, increasing urbanization, rapid growth of urban areas, and subsequently development of mega cities, are among the most important changes occurring worldwide. Therefore, developing techniques to manage these cities seems quite necessary. The aim of this paper is to investigate the enrichment of a 3D City Model with additional attributes, via appropriate CityGML Modules. The paper focuses on addressing the challenging issues that derive from a complex virtual 3D city modeling. More specifically, the paper investigates a complex built-up area, presenting and analyzing its constituting structures. Within this framework, the following CityGML modules are investigated: Bridge, Transportation Complex, CityFurniture, Land Use and Vegetation. To this purpose, the BIM-Standard software Trimble SketchUp and the data conversion tool FME are used. The processes of both modeling and converting are analyzed in detail. General conclusions and future research considerations are presented.


INTRODUCTION
Nowadays, it is undeniable fact that numerous applications, like urban planning and facility management, disaster management and personal navigation, require additional information, i.e. classification and relationship of components, about the city objects given in a standardized representation (Kwan and Lee, 2005).The enrichment of 3D models with semantic information help to comprehend the capacities of spatial features of the cities more effectively (Sadidi, 2015).Virtual 3D city models are used to represent single buildings, city quarters, urban districts, cities and regions.Usually such models cover, not only buildings, but also other real world objects such as infrastructure, vegetation and terrain.The quality of city models varies in geometrical accuracy, in semantic richness and in realism of its appearance (Benner, 2013).Semantic 3D city models comprise, besides the spatial and graphical aspects, particularly the ontological structure including thematic classes, attributes, and their interrelationships.Objects are decomposed into parts due to logical criteria (and not due to graphical considerations) which follow structures that are given or can be observed in the real world.The semantic modeling of cities requires the appropriate qualification of 3D data.This can be done by an automated process or by manual interpretation.Anyhow, it increases the efforts needed to create and maintain the 3D city model.From an economic viewpoint, the semantic modeling of cities only makes sense, if the data can be used by different customers within multiple applications.However, this requires a common information model for the different users and applications.CityGML was developed in order to reach a common definition and understanding of the basic entities, attributes, and relations within a 3D city model.By providing a core model with entities which are relevant to many disciplines, the city model can become a central information hub to which different applications attach their domain specific information (Kolbe, 2009).CityGML is organized in 13 thematic modules that enable a vertical scaling of a city model.This modularization is carried out by different XML-Schemas with different namespaces.The benefit of vertical modularization is the valid creation of thin CityGML instance models without implementing the whole standard.The most important and widely used of these thematic modules is the Building module containing semantic classes to represent buildings, i.e. houses or garages and the fundamental Core module.The Bridge and the Tunnel modules are modelled as the Building module, while the others are less detailed.However, as mentioned, in order to define objects and relations, and represent a virtual complete 3D City model, all modules, including the Transportation, the LandUse, the Vegetation and the CityFurniture are of major importance.

METHODOLOGY
The methodology developed in this paper investigates the transformation of an integrated 3D City Model to a CityGML format.Initially, a short presentation and analysis of the CityGML Modules that are used in this paper is presented.The role of those modules is explained as well as the structure of the semantics and their geometrical characteristics.Then, the methodology is applied to a case study and for each CityGML Module that is implemented to the 3D Model, the modeling and the transformation procedures are separately and analytically presented.The methodology is evaluated in terms of geometrical visualization and maintenance of the model's semantic and topological information.The software used is Trimble SketchUp, a 3D modeling software and FME, a conversion software.The results derived, form the ground for further research.The methodology is schematically presented in the following workflow.
Figure 1: Workflow of the procedure

OVERVIEW OF CITYGML MODULES
CityGML is an open data model and XML-based format for the storage and exchange of virtual 3D city models.CityGML consists of a core module and thematic extension modules.The CityGML core module defines the basic concepts and components of the CityGML data model.It is to be seen as the universal lower bound of the overall CityGML data model and a dependency of all thematic extension modules.Thus, the core module is unique and must be implemented by any conformant system.Based on the CityGML core module, each extension module contains a logically separated thematic component of the CityGML data model.Since the core module is contained in each extension module, its general concepts and components are universal to all extension modules.The following thirteen thematic extension modules were introduced by version 2.0 of the CityGML standard: Appearance, Bridge, Building, CityFurniture, CityObjectGroup, Generics, LandUse, Relief, Transportation, Tunnel, Vegetation, WaterBody and TexturedSurface (OGC 12-019, 2012, pp. 18-19).For the purposes of this paper, the following modules are investigated: Bridge, CityFurniture, LandUse, Transportation and Vegetation.The theoretical background is derived from the OGC 12-019 (2012) and the information have been adjusted to fit the research purposes of this paper accordingly.More specifically, information such as the available LoDs of each Module, the Geometry Types and the Feature Attributes are presented in order to constitute the basis of creating the 3D Model and successfully converting it to CityGML format.

CityGML Bridge
The bridge model represents the semantic, geometric and visual aspects of bridges and bridge parts in four levels of detail from LoD 1 up to LoD 4. The bridge model of CityGML is defined by the thematic extension module Bridge and is represented by an object of the class Bridge.This class inherits its attributes and relations from the abstract base class _AbstractBridge.The spatial properties are defined by a solid for each of the four LoDs (relations lod1Solid to lod4Solid).The bridge module is similar to the building module in terms of semantics and the geometrical enrichment increases from LoD1 to LoD4.The geometry type of a Bridge Module can be a multi surface representation in cases where the prerequisites of a solid representation are not met (lod1MultiSurface to lod4MultiSurface).The line where the bridge touches the terrain surface is represented by a terrain intersection curve, which is provided for each LoD (relations lod1TerrainIntersection to lod4TerrainIntersection). (OGC 12-019, 2012, pp.99-100).The semantic attributes of an _AbstractBridge are class, function, usage and is_movable.The attribute class is used to classify bridges.The attribute function allows for representing the utilization of the bridge that is independent of the construction.Possible values may be railway bridge, roadway bridge, pedestrian bridge, aqueduct, etc.The attribute usage portrays the current use of the bridge that is not described by the attribute function.The values of those attributes are defined in code lists.(OGC 12-019, 2012, pp. 101).Parts that are separate constructions of the Bridge, such as ramps, can be identified separately and be represented as BridgePart.BridgePart is a subclass of _AbstractBridge and therefore has the same attribute types and shares the same relations.A bridge can consist of multiple BridgeParts.Also, a bridge is consisted of numerous structural elements that are not BridgeParts and can be represented with the features BridgeInstallation and BridgeConstructionElement. Bridge elements which do not have the size, significance or meaning of a BridgePart can be modelled either as BridgeConstructionElement or as BridgeInstallation.In this research paper, all three classes are used in order to emphasize on the function of different bridge elements.Elements that are considered essential for the structural stability of the Bridge are modelled as BridgeConstructionElement, for example structural elements like pylons, anchorages etc.The geometry type of those features is represented with a lodXGeometry.The semantic attributes are class, function, and usage.On the contrary, BridgeInstallation represents an element of the bridge which can be eliminated without collapsing of the bridge (e.g.stairway, antenna, railing).BridgeInstallations occur in LoD 2 to 4 only and are geometrically represented as lod2-4Geometry.The concept of ImplicitGeometry can be applied to BridgeInstallations.The class BridgeInstallation contains the semantic attributes class, function and usage.The attribute class gives a classification of installations of a bridge.With the attributes function and usage, nominal and real functions of the bridge installation can be described (OGC 12-019, 2012, pp.103-105).

CityGML CityFurniture
City furniture objects are characteristic objects of a city that assist to its functionality and provide general services to its residents.They are immovable objects like lanterns, traffic lights, traffic signs, flower buckets, advertising columns, benches, delimitation stakes, or bus stops.The modelling of city furniture objects is used for visualisation purposes such as, city traffic, or determination of the optimal mass transportation network for a specific region, but also for analysing local structural conditions.The recognition of special locations in a city model is improved by the use of these detailed city furniture objects, and the city model itself becomes more alive and animated.The city furniture model of CityGML is defined by the thematic extension module CityFurniture.City furniture objects can be represented in city models with their specific geometry, but in most cases the same kind of object has an identical geometry.The class CityFurniture may have the attributes class, function and usage.The class attribute allows an object classification like traffic light, traffic sign, delimitation stake, or garbage can, and can occur only once.The function attribute describes the thematic area the city furniture object belongs to (e.g.transportation, traffic regulation, architecture), and can occur multiple times.The attribute usage denotes the real purpose of the object.(OGC 12-019, 2012, pp.137).The geometry type of CityFurniture objects in LoD 1-4 may be represented by an explicit geometry (lodXGeometry where X is between 1 and 4) or an ImplicitGeometry object.The concept of ImplicitGeometry states that the geometry of a prototype city furniture is stored only once in a local coordinate system and referenced by other city furniture features.As in the Bridge Module, in order to specify the exact intersection of the DTM with the 3D geometry of a city furniture object, the latter can have a TerrainIntersectionCurve (TIC) for each LOD.(OGC 12-019, 2012, pp.138).In the 3D Model, CityFurniture such as traffic signs, lights and bus stops have been implemented with regards to rendering the model as close as possible to the reality.

CityGML LandUse
LandUse objects can be used to describe areas of the earth's surface dedicated to a specific land use, but also to describe areas of the earth's surface having a specific land cover with or without vegetation, such as sand, rock, mud flats, forest, grasslands, etc. Land use and land cover are different concepts; the first describes human activities on the earth's surface, while the second refers to its physical and biological cover.However, the two are interlinked and often mixed in practice.Moreover, according to Çağdaş (2013) conceptualization, the term Land is a better fit than LandUse, since OGC (2012) proposes to use of this feature to define the 'area of the earth's surface'.LandUse objects in CityGML represent both concepts: They represent parcels, spatial planning objects, recreational objects and objects describing the physical characteristics of an area, in 3D.For the purposes of this paper, the LandUse is used to describe area of the earth's surface.The semantic attributes of LandUse object are class, function, and usage.The class attribute represents the classification of land use objects, like settlement area, industrial area, farmland etc., and can occur only once.The attribute function defines the purpose of the object or their nature, like e.g.cornfield or heath, while the attribute usage can be used, if the object is actually used differently from the function.Both attributes can occur multiple times.In the 3D Model, the semantic attribute: class has been filled from the CityGML code list for every surface.The LandUse object is defined for all LoD 0-4 and may have different geometries in any LoD.The surface geometry of a LandUse object is required to have 3D coordinate values and must be a MultiSurface geometry type.The surface might be assigned with appearance properties like textures or colors.(OGC 12-019, 2012, pp.141).

CityGML Transportation
The transportation model of CityGML represents the semantical, geometrical and topological aspects of the transporting network of a model in 5 levels of detail, from LoD 0 up to LoD 4. In LoD 0 transportation features are represented as a linear geometry.For the rest LoDs, transportation features must be geometrically described by 3D surfaces.The main class is TransportationComplex, which represents, for example, a road, a track, a railway, or a square.A TransportationComplex is composed of the parts TrafficArea and AuxiliaryTrafficArea.The Road consists of several TrafficAreas for the sidewalks, road lanes, parking lots, and of AuxiliaryTrafficAreas below the raised flower beds.(OGC 12-019, 2012, pp.124).The road is represented as a TransportationComplex, which is further subdivided into TrafficAreas and AuxiliaryTrafficAreas.The TrafficAreas are those elements, which are important in terms of traffic usage, like car driving lanes, pedestrian zones and cycle lanes.The AuxiliaryTrafficAreas are describing further elements of the road, like kerbstones, middle lanes, and green areas.For the purposes of this paper, the feature Road that has been implemented is consisted of several Traffic and AuxilliaryTrafficAreas.Every TransportationComplex has the attributes class, function and usage.The attribute class describes the classification of the object, function describes the purpose of the object, for example country road, or airport, while the attribute usage can be used, if the actual usage differs from the function.In addition, both TrafficArea and AuxiliaryTrafficArea inherit the attributes class, function, usage, and surfaceMaterial.The attribute class describes the classification of the object both for Traffic and auxilliaryTraffic Areas.Regarding TrafficArea the attribute function describes, if the object for example may be a car driving lane, a pedestrian zone, or a cycle lane, while the usage attribute indicates which modes of transportation can use it (e.g.pedestrian, car, tram,).The function attribute of the AuxiliaryTrafficArea defines, for example kerbstones, middle lanes, or green areas.The possible values can also be specified in code lists.(OGC 12-019, 2012, pp.125).In LoD 0 the transportation complexes are modelled by line objects, while starting from LoD 1 a TransportationComplex provides an explicit surface geometry, that reflects the shape of the network.In LoD 2 to LoD 4, it is further subdivided thematically into TrafficAreas, which are used by transportation, such as cars, trains, public transport, airplanes, bicycles or pedestrians and in AuxiliaryTrafficAreas, which are of minor importance for transportation purposes, for example road markings, green spaces or flower tubs (OGC 12-019, 2012, pp.126).In the generated model the Roads are one-way roads and an avenue that is divided by green area that serves the role of AuxilliaryTrafficArea.

CityGML Vegetation
Vegetation features serve an important role in a city model.They provide detailed representation of the 3D model, enhance its realism and its scientific purpose as they support the recognition of the surrounding environment..The vegetation model may be used as a basis for various environmental simulations such as forest fire, urban aeration or micro climate.The vegetation model of CityGML distinguishes between solitary vegetation objects like trees and vegetation areas, which represent biotopes like forests or other plant communities.Single vegetation objects are modelled by the class SolitaryVegetationObject, whereas for areas filled with a specific vegetation the class PlantCover is used.For the purposes of this paper only the SolidaryVegetaionObject class has been implemented.The geometry representation of a PlantCover feature may be a MultiSurface or a MultiSolid, depending on the vertical extent of the vegetation.A SolitaryVegetationObject may have the attributes class, function, usage, species height, trunkDiameter and crownDiameter.The attribute class contains the classification of the object or plant habit, e.g.tree, bush, grass, and can occur only once.The attribute species defines the species' name and can occur at most once.The optional attributes function and usage denotes the intended respectively real purpose of the object, for example botanical monument, and can occur multiple times.The attribute height contains the relative height of the object.(OGC 12-019, 2012, pp.132).The geometry of a SolitaryVegetationObject may be defined in LoD 1-4 explicitly by a GML geometry having absolute coordinates, or alternatively by an ImplicitGeometry.Solitary vegetation objects represent the necessity of the implicit geometry type, since the shape of most types of vegetation objects, such as trees of the same species, can be treated in most cases as identical (OGC 12-019, 2012, pp.133).
The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XLII-2/W2, 201611th 3D Geoinfo Conference, 20-21 October 2016, Athens, Greece This contribution has been peer-reviewed.doi:10.5194/isprs-archives-XLII-2-W2-3-2016 The following table corresponds the features that were applied in the 3D Model of this research with the available LoDs and Geometry Types.
Table 1: LoDs and Geometry Types of the applied Features

CASE STUDY
The Case Study presents and delves into the different CityGML Modules within a specific area of the Hellenic region that is consisted of four blocks.The Buildings are modeled in LoD2 and LoD3.The Bridge is modeled in LoD 3, while the rest of the modules are modeled in LoD 2. Emphasis is given on generating a model that responds to the characteristics of the area of interest in terms of avenues, one way streets, vegetation, bus stops, traffic signs etc.Every CityGML Module is explicitly analysed and both the modeling and the transformation procedures are respectively presented.

Building Module
The Building Module requires few changes.In Trimble SketchUp, as soon as the new buildings are modelled, the appropriate layer naming should be assigned for the rest of the block.In the FME Workbench, the new layers need to be added as well as more Building features, which result in the manual procedure of assigning the correct gml_id's to the objects of the Model.Furthermore, the feature types Bridge and Road have been implemented, with the latter inheriting all the attributes from the TransportationComplex Feature Type as stated from the CityGML Standard.The key to the process is using the SketchUp_Layer_Name to set the gml_id and gml_parent_id to keep the parent-child relationships.The generation of the feature types is accordingly presented in figure 2.

Bridge Module
The modeling and the transformation of the Bridge Module shows substantial similarities to the process of the Building Module.In Trimble SketchUp, the Bridge can be designed based on the same modeling principles used for the modeling of the Building.The 3D Warehouse provides a wide variety of bridges, which is an efficient tool for designing a Bridge.However, the downside of this method is that most models are not designed based on the CityGML Standards, so it might be proven confusing for the user to characterize the elements of the Bridge accordingly.As soon as the Bridge is modeled, the appropriate layer naming is assigned in a similar way to the Building Module (e.g.LoD3_Brdg1_WallSurface).The Bridge modelled for the purposes of this paper is a LoD3 Bridge, thus includes the BridgeInstallation, the BridgePart and the BridgeConstructionElement Feature Type.The conversion with the FME workbench requires the creation of the appropriate Bridge transformers.First of all, the Feature Types Bridge, BridgePart, BridgeConstructionElement and BridgeInstallation need to be created.This is achievable by adding output Feature Types from the workbench tool list.As soon as the Feature Types are created, specific Transformers, such as the CityGMLTransformer need to be edited, in order to include the feature roles and attributes for the new Feature Types that were created.Therefore, in order to add a new feature role to the CityGMLGeometrySetter custom transformer, the definition of the ROLE published parameter needs to be edited, which can be achieved by right-clicking on the parameter in the Navigator panel and then choose Edit Definition.In figure 4, a part of the workbench that converts elements of the Bridge Module is illustrated.In the CityGMLGeometrySetter the LoD3Geometry has been selected for the BridgeConstructionElement and the BridgeInstallation, while the LoD3MultiSurface has been selected for the BridgePart.Additionally, for the BridgeConstructionElement the Outer Bridge Construction role has been created and selected, for the BridgePart, the consistsofBridgePart feature role has been created and selected and for the BridgeInstallation the OuterBridgeInstallation feature role has been created and selected.Concerning the boundary surfaces of the Bridge, the LoD3MultiSurface Geometry and the boundedby feature role have been selected.The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XLII-2/W2, 2016 11th 3D Geoinfo Conference, 20-21 October 2016, Athens, Greece

Transportation Complex Module
The Transportation Complex Module is divided into four thematic subclasses.this paper, the subclass Road is used, which is further composed by the subclasses TrafficArea and AuxilliaryTrafficArea.As a result, the modeling of the Transportation Complex is accordingly designed.The 3D Warehouse provides various types of Roads, RailWays, Squares and even more complex systems, such as Avenues that are divided by green areas.As a result, during the layer assignment, the correct identification of the different areas is of significant importance.Figure 5 presents the TransportationComplex that was modeled for the purposes of this paper.

LandUse Module
In Trimble SketchUp, there are various methods for modeling the LandUse Module.The first method is with Geolocation via Google Earth.Trimble SketchUp provides a terrain and a snapshot of the selected area, which can be used as the LandUse Module.However, the downside of this method, is that the terrain cannot be edited or split, a crucial ability in order to assign different types of LandUse in the model.The second method is modeling the LandUse Module based on the user's perspective.This method allows for a more accurate representation of a model's land use, compared to the geolocation with Google Earth.Furthermore, the different land uses can be precisely distinguished, thus providing a more informative base ground for the rest of the model.

RESULTS AND CONCLUSIONS
In terms of results and conclusions, it can be stated that a 3D City Model that includes significantly more than one Buildings, as well as numerous CityGML Modules is considerably more complex in terms of modeling and especially transformation to a CityGML format with the current methodology.More specifically, in terms of modeling, the procedure is user-friendly, since a lot of basic modeling patterns are repeated.However, a thorough understanding of CityGML prerequisites is essential in order to avoid unexpected complications during the transformation procedure.On the other hand, the conversion process requires a considerable amount of time for experimentation with the numerous transformers that are provided in FME, in order to generate a workbench that is able, not only to maintain, but also to process essential information for a CityGML Model.Therefore, as a theoretical background, a strong knowledge of CityGML is required, while in terms of practical implementation, the experimentation both for modeling and transformation processes is essential.The result of the methodology is a geometrically, semantically and topologically concrete 3D Model.Moreover, since various CityGML Modules are implemented, it can be characterised as a solid tool for generating more complex models in order to investigate their functionality in various scientific and application fields.Furthermore, the flexibility and the abilities of the FME Workbench allow the creation and the customisation of every Module that has been examined in this paper.Regarding further research, there are numerous issues that need to be tackled.First of all, a routine that includes the geometry type:ImplicitGeometry in the elements of the 3D Model should be investigated, as it is not yet implemented in the current model.Additionally, the modeling of Tunnel Module in Trimble SketchUp, provides a great interest because of its special interaction with the land field.Another issue that needs to be examined is the TerrainInteresection between the Elements of the Model and its Surface, as described in the CityGML Standard.Furthermore, the conversion of the manual procedure into a semiautomatic one seems to be an intrigue task.This can be achieved, firstly, by creating a plug-in for Trimble SketchUp that assigns the layers to the objects automatically.The amount of time that is required to execute this task would be greatly reduced, thus making it more efficient for complex city models.During the transformation procedure, a routine could be generated that reduces the editing of the workbench manually and thus render the whole methodology more time-efficient.Finally, the ability to experiment on an integrated, complex 3D City Model, may potentially lead to the development of various ADEs, in order to semantically enrich the modules of the CityGML that are not as detailed as the Building Module while also addressing even more explicitly the complexities of a real City.

Figure 2 :
Figure 2: The Feature Types of the Model

Figure 4 :
Figure 4: Conversion of the Bridge Elements

Figure 5 :
Figure 5: Transportation Complex A transportation complex component must be split into TrafficArea and AuxilliaryTrafficArea, so that, at the later stages of the transformation, the appropriate feature types and general information based on the CityGML Standard can be assigned.In the FME Workbench the feature: Road inherits the attributes of the feature: TransportationComplex and the TrafficArea and AuxilliaryTrafficArea Feature types are used.The conversion of the Transportation Module to the CityGML format is presented.In the CityGMLGeometrySetter Transformer, a LoD2MultiSurface Geometry and a feature role: TrafficArea and AuxilliaryTrafficArea have been respectively selected.The AttribueCreator Transformer includes the attribute gml:name.

Figure 6 :
Figure 6: Conversion of the TransportationComplex

Figure
Figure 7: LandUse Inside the FME Workbench, the LandUse Feature Type is assigned to the corresponding surfaces.In the CityGMLGeometrySetter a LoD2MultiSurface Geometry and a feature role: CityObject have been selected, while the AttributeCreator inserts the attributes class, function and usage with specific codes, based on the CityGML codelist.Figure5presents a part of the workbench, regarding the LandUse Feature.

Figure 8 :
Figure 8: Transformation of LandUse 4.5 CityFurniture Module In Trimble SketchUp the 3D Warehouse is a solid tool to customize the model in terms of realism.Different kinds of CityFurniture are used, such as Traffic Signs, Traffic Lights and Bus Stations.The CityFurniture objects have been assigned in different layers, in order to facilitate the conversion in the later stage of the methodology.

Figure 9 :
Figure 9: CityFurnitureIn the FME WorkBench, the Feature Type CityFurniture is used, however the creation of appropriate feature type is necessary.The LoD2Geometry and the feature role: CityObject have been selected, while the AttributeCreator inserts the attribute gml:name.

Figure
Figure 10: Transformation of CityFurniture4.6Vegetation ModuleIn Trimble SketchUp the 3D Warehouse provides many options for visually illustrating the different vegetation of a landscape.Different kinds of Vegetation object have been implemented, in order to emphasise the complexity of a 3D City Model.

Figure 11 :
Figure 11: Vegetation Inside the FME WorkBench, the Vegetation Object Feature Type is used well as the class, function and usage.The LoD2Geometry and the feature role: CityObject have been selected in the CityGMLGeometrySetter, while the AttributeCreator inserts the attribute gml: name.

Figure 12 :
Figure 12: Transformation of Vegetation4.7 VisualisationThe final model in Trimble SketchUp is presented in figure13, while the CityGML Model is visualized via the FME Data Inspector and the FZK Viewer as presented in figures 14 and 15 respectively: