## 2 Materials and Methods
### Integrated BIM-GIS Platform Layer
#### 2.3.2 CityGML Schema  
CityGML is a neutral open and XML-based format to store, represent, and exchange the virtual 3D city model in the GIS domains. It is not limited to the shape and graphical presentation but also contains the object semantics. It has been developed by Open Geospatial Consortium (OGC) to support the spatial data exchange and provide a common neutral data format definition to the 3D city data models and features [44]. It includes the geometric and thematic definition of a city object or feature. All objects have a base class and inheritance from _CityObject. The model geometric definition in the CityGML represents the shape and topology, while the thematic definition provides geometric model's application in different contexts such as buildings, sites, tunnels, and roads. Many objects have been modeled in the CityGML, whereas models that are not defined can be represented using generic models and attributes [45]. Furthermore, the model definition is extendible in the CityGML using the concept of application domain extension (ADE). This study uses the CityGML utility network ADE, which provides a promising representation of the utility network due to the following characteristics: (1) it represents simultaneously all types of networks such as sewer, electrical, and telecommunication; (2)  
Figure 5: (a) 2D electromagnetic scan processing; (b) 3D visual processing and interpretation. it provides topologic and topographic representations in 3D of the underground utilities; (3) it represents the utility model at the feature and network levels in a hierarchical manner; (4) it shows the relationship between utility network and other city models; (5) it has applicability to all types of areas and is not limited to only urban areas; and (6) it provides a neutral, open data model where utility data can be integrated and shared seamlessly among stakeholders. The research employs the core module of the CityGML utility network for electricity, sever, and water supply networks. Figure 6 shows the employment of the CityGML utility network core module for the electricity network. As cables are used to transport electric current, cable class is utilized to represent the electricity network. The cable class has an inheritance relationship with the superclasses AbstractNetworkFeature and AbstractDistributionElement, which shows that the cable class contains all the properties of these superclasses. Different kind of cables can be represented with the same class as it contains the feature class description. The attribute of the classes is used to distinguish between different types, such as attribute status representing the state of the electricity cable whether it is in use or not. Furthermore, the connectedCityObject attribute is used to connect the below-ground objects with the above-ground, and yearOfConstruction represents the construction date of the utility, which is very useful during the inspection and maintenance stages as it describes the lifecycle. Figure 7 represents a UML class diagram that shows the mapping of the sewer and water supply network classes to the core module of CityGML utility network ADE. The AbstractPipe class is used to show the sewer and water supply network with feature class  
Figure 6: UML class diagram showing employment of the CityGML utility network core module for the electricity network. Note: \"*** UML notation used to representation the cardinal relationship among CityGML classes that shows the number of occurrence or possibilities. descriptions that distinguish among different types. Moreover, it has an inheritance relationship with the superclass AbstractNetworkFeature and AbstractDistributionElement. The network pipes can have different shapes, and therefore AbstractPipe was assigned subclasses of RectangularPipe, RoundPipe, and OtherShapePipe. The attributes in these classes provide extra features to the class, as isGravity attribute has a Boolean data type that shows either the network is flowing under gravity or not.