Rethinking GIS Towards The Vision Of Smart Cities Through CityGML

: Smart cities present a substantial growth opportunity in the coming years. The role of GIS in the smart city ecosystem is to integrate different data acquired by sensors in real time and provide better decisions, more efficiency and improved collaboration. Semantically enriched vision of GIS will help evolve smart cities into tomorrow’s much smarter cities since geospatial/location data and applications may be recognized as a key ingredient of smart city vision. However, it is need for the Geospatial Information communities to debate on “Is 3D Web and mobile GIS technology ready for smart cities?” This research places an emphasis on the challenges of virtual 3D city models on the road to smarter cities.

The successful utilization of 3D city models for business processes of the tasks of modern city management, such as urban planning, reveals the benefits of 3D city models and they are widely used in almost every field.As a consequence of that 3D technologies covered the whole production chain of city modeling, 3D city models have become standard component for city management tasks and virtual globes have become new medium to display and interact with the city models.
Presently the main use of 3D city models is still focused on visualization capabilities and is inadequate for performing many types of 3D spatial analysis.However, today's applications request for common, semantic rich spatial information models to serve a wide range of use cases beyond visualization, for instance enabling a variety of GIS analytics.Unfortunately, applying 3D GIS analysis capabilities in virtual 3D city model applications is still rare.
However, semantic 3D city models describe city entities by objects with thematic and spatial attributes and their interrelationships.Web-based semantic rich 3D virtual city models provide a common platform to integrate city level information between different domains and to share 3D georeferenced information across domains for better understanding urban processes and designing innovative solutions.Highly accurate, up-to-date, 3D virtual models allow 3D data flow along the city management processes from plan and design to maintenance.3D city models can be updated by governments, companies and citizens using a variety of human and technical sensors (in-situ and remote).If the new data/information is added from different domains, the usefulness of the common semantic rich city model will continue to increase as additional applications and workflows are developed.
With the advancement in 3D technologies for city modeling, virtual 3D city models can be customized to employ vertical applications via more specific 3D computational analyses, like solar potential analysis of roof surfaces, urban noise distribution, building shadowing, storm water runoff, flood modeling, the visibility impacts of new development or urban growth simulations based on a variety of what-if scenarios.Due to their efficiency, numerous GIS-based applications, smart eservices and advanced tools are being developed as smart urban technologies for representing and analyzing 3D city.
In smart cities data being produced by sensors is enormous and there is a strong need to time these data streams and build applications and services to take smart decision by performing analysis of these data streams in real-time.Web-based GIS has also capabilities for analyzing sensor data in real-time and visualizing it on interactive dynamic maps to support real-time decision-making.Spatial informatics technologies, such as GIS services, Location-based Services, can be utilized to develop geo-based services for smart city applications.

PROBLEM DEFINITION
The motivation of this study is to design a conceptual approach allowing the user to achieve the following research objectives: There is no mainstream solution yet which handles all these challenges.The goal of this study is an attempt to conceptualize a method in order to manage increasingly complicated 3D city models for different kinds of vertical applications by focusing on smart cities.This paper draws a conceptual framework to the formulation of a 3D semantic web GIS for a complex 3D city information models accessible on a WebGL based virtual globe by a HTML5 enabled web browser compliant to OGC Web Services based on NoSQL database.The development of such a robust and adaptive GIS-based system can be valuable for the GIS community to be well prepared for building smart cities.
Figure 1 presents the high-level client-server architecture of the proposed framework designed in the study.It is composed of different frameworks, standards, components, technologies and their interaction with each other based on RESTful SOA architecture.
Although there are many points to be considered, two points, in particular, have been concentrated in this research.These are 3D visualization framework on the client-side and storage framework on the server-side.OGC web services allow fast retrieval of large amount of data/information requested by the client from the servers.

Data Acquisition
Geospatial data such as 3D city models, digital terrain models, point clouds, aerial images, 2D/3D geometries, TIN, DEM and metadata are inherently heterogeneous and oftentimes very large (Kramer and Gutbell, 2015).Hence, an Urban Spatial Data Infrastructure (Urban SDI or City Information Infrastructure) is a prerequisite for a city model in order to organize 3D geospatial data and generate 3D models of city objects.Such an infrastructure can be used to visualize virtual 3D city models based on the various data from different sources in different resolutions, e.g.detailed 3D textured city models.
Recent technological advances in sensor and platform technologies, such as nadir and oblique high resolution stereo cameras, aerial and terrestrial laser scanners, have greatly improved the 3D data collection techniques.This development provides new sources for constructing building models and generating the terrain to meet the requirements of 3D city modeling and mapping.Aerial photogrammetry, satellite imagery, and LiDAR are often the primary sources for creating building models and digital terrain models.Other common source of data is information from various types of terrestrial measurements, GNSS, 2D GIS databases, unmanned aerial vehicles/drones and mobile mapping.Geographic information generated by citizens, VGI, has emerged as an additional information source.

3D Object Reconstruction
Various approaches can be used for creating 3D models/3D urban maps (including building models, terrain models and landscape models) based on different data sources at different scale and qualities.Table 1 summarizes these diverse methods for 3D city object reconstruction.
The approach to use will greatly depend on the requirements of the application and how they will be utilized, the type and quality of the input datasets available, the LOD desired (ESRI, 2014).Depending on the accuracy and resolution of the desired 3D urban map, a combination of a variety of technical means can be used for the 3D digital city construction procedure to generate the map in an efficient, timely, and cost-effective manner.

City Modeling for Representation
A city in itself is very complex (Mao et al., 2012) since a 3D city is in general a vast collection of features, networks and surfaces (Reitz and Schubiger-Banz, 2014).To transform this huge amount of data into useful information and support future developments and applications, it is needed to structure 3D data into a geometric and semantic data model (Prandi et al., 2015).There are many approaches to model 3D city for the purpose of processing, analysis and visualization (Reitz and Schubiger-Banz, 2014).Two common information models to allow modelling of much of this complexity include OGC's CityGML as an open standard, and ESRI's 3D City Information Model (3DCIM) as a proprietary city model format (ESRI, 2014).Although there are many possibilities, it is considered as prerequisite that all data must be converted to an information model of CityGML on the back-end since CityGML provides an open common platform to integrate city level information from different resources.
CityGML is a common information model for the representation of 3D urban objects (OGC, 2012).It is realized as an open data model and XML-based format for the storage and exchange of virtual 3D city (OGC, 2009) with all its appropriate information.It encodes the geometry, topology, semantics and appearance of 3D city objects (Rodrigues et al., 2013).It covers broad thematic fields of city objects: geometrical and topological aspects can be accurately described and linked with their semantic part (Prandi et al., 2015).3D models incorporate a very important aspect in their visualization, namely appearance i.e. the observable characteristics of their surfaces (Kolbe, 2009).
Semantics and geometry modeling obeys to a coherent model with two hierarchies in which objects are linked, this way it is possible to query/analyze the city model either by thematic or geometrical object properties or both simultaneously (Kolbe, 2009).
CityGML extends the GML standard with semantic and appearance aspects of 3D city models and introduces the concept of Levels Of Detail (from LOD0 to LOD4) in which objects become more detailed, both geometric and thematically, while the LOD increases (Kolbe, 2009).Meanwhile, the CityGML files can contain multiple representations for each object in different LODs simultaneously and show the generalized objects over different scales (Mao et al., 2012) according to the needs of users.Different modes of representation of a same city (high detail when objects are close by and low detail when objects are further away) in a model improve efficiency of navigating through a model (Kofler, 1998, Pasman andJansen 2002).
Although it is possible to render 3D views directly from CityGML a client may still have difficulty visualizing several of Gigabytes, which includes fully textured buildings models, a terrain model and aerial imagery.(Rodrigues et al., 2013, Gaillard et al., 2015, Mao et al., 2012, Prandi et al., 2015, Chatuverdi, 2014).Hence, CityGML models are essential to represent and analyze 3D city objects, but not to present or visualize 3D city models directly (Rodrigues et al., 2013, Mao et al., 2012).Additionally, the detailed and complex structure of CityGML based on heavy XML causes pressure for efficient visualization of CityGML files since reading XML based schemas is complex in JavaScript applications (Gaillard et al., 2015, Mao et al., 2012).In order to visualize CityGML data on the web, parsing methods capable of retrieve information from CityGML and recode it to a more presentation friendly format, namely X3D, JSON and KML/COLLADA, are used (Rodrigues et al., 2013, Chatuverdi, 2014) while maintaining the richness, in terms of semantic information, of models contained in CityGML files (Gaillard et al., 2015).

City Modeling for Presentation
3D city models can be built with procedural modeling based on existing 2D GIS vector data and terrain data.Procedural modeling is performed with semantic rules to automatically generate virtual 3D city models.This approach can shorten the modeling cycle, reduce modeling costs and combine with 2D GIS data perfectly without data conversion (Hu et al., 2013).Semantic rules of 3D modeling can be encoded by Computer Generated Architecture (CGA) Shape Grammar and are defined in a text file.Semantic rule file contains a series of definitions, based on the elements (such as shapes and textures), attributes and relationships, and operations (such as extrude and split), which make 2D graphics turn to 3D graphics.Therefore, the key step in procedural modeling process is the creation of the rule files (Hu et al., 2013).
3D web content can be used in different contexts and for various purposes.Hence, creation, modification and customization of interactive 3D web content in a semantic way to specific requirements of the different content consumers simplifies dissemination of content on the web.Mappings of scene-independent domain-specific ontologies (e.g.describing city models) to content definition ontologies (e.g.3D computer graphics) enable semantic modeling of interactive 3D web content and on-demand generation of interactive 3D web content.The domain specific ontologies (OWL classes and properties) providing elements and properties that are equivalent to the components and properties specified in the semantic 3D content representation (OWL classes and properties).Semantic 3D content is encoded using the semantic web standards (RDF, RDFS and OWL) and this mapping can be achieved by using a sematic editor, e.g.Protégé.In such a way, on-demand 3D content generation can be implemented using domain ontologies by taking into account the meaning of content elements at different levels of abstraction.(Walczak and Flotynski, 2015) The issue of extending GIS services with semantic web technologies, i.e. geospatial semantic web technology, is a promising application area for the construction of semantic web GIS.Although semantic annotations, geo-ontologies and reasoning have been utilized in numerous GIS applications, using ontologies and reasoning in 3D web GIS is unusual.The current situation of the 3D geospatial semantic web technologies prevent the use of GIS in smart city applications pervasively and efficiently.

Generalization of 3D city models
The CityGML models are often extremely detailed and should be generalized presentation (Mao et al., 2012).For the problem of handling several LODs in the visualization of city models, generalization process can be employed by converting the model from higher LoDs to lower LoDs (Mao et al., 2012).The different levels of details are stored in the multiple representation data structure and this structure supports realtime generalization for dynamic real-time visualization.In 3D city visualization, multiple representation of the city is essential to reduce the loading time of 3D models and to improve the visual efficiency (Mao et al., 2014).

City Modeling for Representation
HTML5 is an open standard format to develop platformindependent web applications (W3C, 2014).It involves several useful elements such as canvas, scalable vector graphics, geolocation, web workers and web sockets.HTML5 utilizes the canvas element for visualizing 3D contents.Web worker allows the scripts to run in background along with the processing at main page.This functionality improves the processing speed at client side.The web-based 3D GIS application is developed to be run on top of an HTML5 browser utilizing WebGL, which is an extension of HTML5 canvas element, without any need to install any third-party plugin.(Chatuverdi, 2014)

WebGL frameworks for 3D geospatial applications on the web
WebGL is a cross-browser, cross-platform, royalty-free web standard (by the Khronos group) for a low-level 3D graphics API (JavaScript API) based on OpenGL ES 2.0, exposed through the HTML5 Canvas element as Document Object Model interfaces (Khronos, 2014).It allows the programmer to access the GPU directly from the browser via JavaScript (Gaillard et al., 2015).The WebGL specification provides hardware accelerated 3D functionality on the web, which helps in improving the performance of the application while working with 3D contents/3D objects (Chatuverdi, 2014).
Numerous libraries offering high-level API on top of WebGL, low-level 3D graphics API, have appeared recently.(https://www.khronos.org/webgl/wiki/User_Contributions) in order to avoid complex low level programming and provide ease of development.Some of the important pre-defined WebGL libraries worth mentioning are: Three.js,Babylon.js,Scene.js,GLGE, and X3DOM.
However, the frameworks differ in their range of features, their way to define 3D content and their purpose for different applications.There is no visualization framework yet which fits all needs of the geospatial community.The selection of the right framework highly depends on the use case and a requirement analysis.(Kramer and Gutbell, 2015) All these WebGL-based libraries with the help of CesiumJS API based on Web-GL enabled web browser which does not require the installation of any plugins may be used to render 3D city objects of CityGML file within HTML5 canvas element and perform various GIS analyses on the globe.The high level approach Cesium is a Javascript based virtual globe on the web utilizing WebGL (Cesium, 2016).

3D VISUALIZATION FRAMEWORK
The emerging standards and technological advancements in CityGML, OGC services, HTML5, JavaScript, GeoJSON, WebGL and increasing capacity of client devices allow to generate robust 3D geospatial web applications.Based upon those, a web client can be developed to visualize the geometric and semantic information of the 3D city models.Addition to 3D city model visualization, querying and analyzing can be performed on the client side through a web-based virtual scene.
A web graphical interface can be implemented for improving representation, visualization, navigation, interaction and animation through large 3D models in 3D environments.It exploits virtual globe technology, such as CesiumJS, WebGL Earth, Open Web Globe, MapGL.These spinning globes can be accessed using the web browser without having to install any software locally.
The web graphical interface enables interaction with 3D objects and relate them to get information about features from GIS databases (Rodrigues et al., 2013).The client can select the 3D model geometries and retrieves the information on the storage environment by means of OGC web services, like WFS, WMS, 3DP, W3DS, deployed on the middleware.All the functionalities such as parsing of geometries and 3D analyses can be implemented by the client using JavaScript (Chatuverdi, 2014).
To make a realistic render, photorealistic textures, color, transparency and illumination conditions such as light, shading, reflection etc. can be added to the geometry of the 3D content.Additionally, 3D modelling of trees and waterbody is produced based on its location to visually enrich the final virtual 3D scene (Padsala and Coors, 2015).
In order to create a complete landscape the terrain data is combined with geo-referenced imagery such as orthophotos and topographic maps.Rendering high resolution terrain data with imagery is not easy task because of this large amount of data.Similarly, the original CityGML dataset is several of Gigabytes, which includes fully textured buildings models, a terrain model and aerial imagery.This is too much to be loaded and displayed at once in the web browser (Kramer and Gutbell, 2015).In order to manage visualization of this large amount of data first the dataset must divided into rectangular grid of tiles.In the tile-based approach, tiles can be loaded into memory ondemand and discard when they were not needed anymore.Then, streaming algorithm must be implemented, which allows loading tiles depending on the current camera position.When the camera is moved in any direction the streaming algorithm checks if more tiles need to be loaded or if those that are now out of sight can be removed from the scene graph.(Kramer and Gutbell, 2015) The major advantage of expanding streaming approach to tiling process is that it allows progressive visualization, which means, only the area required to be visualized will be fetched from the server (Chatuverdi, 2014).This facilitates covering larger areas easily.
The biggest limitation to handle very large city models is GPU memory amount.Memory of the device fills up with the usage of voxels, triangles, polygons and surfaces.This means even though the streaming algorithm removes tiles from the scene graph when they are not visible anymore, they will not be removed from the browser's memory and the graphics card.This causes the memory to fill up rather quickly and finally makes the browser crash after a couple of minutes of browsing through the scene.(Kramer and Gutbell, 2015) Memory management must be implemented through low-level API that allows for low-level access to the 3D renderer, which frees resources when the algorithm removes tiles from the scene.Furthermore, cache systems are implemented both at application and middleware level, textures are compressed, the resolution of textures (mostly aerial images) are reduced and lightweight formats, like C3D, are used to stream geometry data to the client in order to improve loading time and speed up GPU rendering process.(Prandi et al., 2015) The texture of the element is a representation of exterior of the modeling object, which is saved as a regular formats, like JPEG or PNG, or an OBJ file (Hu et al., 2013).The usage of traditional image file formats on the GPU takes a lot of space on the VRAM since the GPU needs to decompress JPEG files in the VRAM in order to be able to use them.Since textures are such a big part of the data, different formats, such as DDS, ETC, or ASTC, can be used to solve the problem of limited texture memory.Such files are larger than JPEG files on the disk, but can be read by the GPU while compressed, saving a lot of graphical memory.(Gaillard et al., 2015) 3D city model visualization framework should support LOD levels (both for geometry and textures) to improve memory usage, loading times and performance.LOD switching is the practice of displaying different geometric representations of the same object at different times, less detailed representation when the object is far away; more detailed when it closer the observer.This effect is normally achieved by tiling approach.Each tile can have multiple LOD representations and can switch between these representations independently.(Beck, 2004) The webbased client enables streaming of 3D content for real-time rendering in the browser with the adaptation of multiple representations of dynamic LODs based on user viewpoint.

3D CITY MODEL STORAGE
It is needed to choose a suitable storage environment for multiple representation structures of 3D city models to handle different layers and LODs.The CityGML dataset are produced traditionally as single files.Today, object-relational databases are the most used means to storage 3D model building information and these databases are extended with dedicated city model tools such as 3DCityDB and DB4Geo.The more recent approach for storing 3D information is NoSQL databases.
For the various spatial operations, firstly the geometric and the thematic characteristics of objects and their spatial relationships should be integrated in a database.However, current DBMSs do not support the organization and implementation of 3D objects in their geometrical models and topological models (Stoter and Zlatanova, 2003).Current trend is to develop specific ad hoc solutions for using 3D geo-information on top of the objectrelational databases such as PostGIS and Oracle Spatial.Storage specific extensions for 3D city models, such as 3DCityDB and DB4Geo, facilitates complex modeling of the semantic part of the CityGML and also making specific queries (Mao et al., 2014, Prandi et al., 2015) by implementing CityGML schema in an SQL table schema (Kunde, 2013).In order to mature 3D GIS, a 3D geometrical model should be fully supported by DBMSs based on OGC specifications for 3D features, which still have to be completed (Stoter and Zlatanova, 2003).
The 3D city database is an open source geodatabase schema, which provides the functionality to store, manage and represent virtual 3D city models on top of a standard relational database (3DCityDB, 2016).By importing the CityGML to the 3D city database, all the city objects are stored in their respective tables (Chatuverdi, 2014).One of the main features of 3DCityDB is the possibility to export the geometric information of the city models in different format such as the KML/COLLADA or other optimized graphical formats, which is a format more suitable for visualization purpose if compared to CityGML (Prandi et al., 2015).However, the CityGML schema is complex and leads to hundreds of tables in the database but most of these tables may not be used in most applications, and such a storage method has limitations for big data processing (Mao et al., 2014).For data intensive applications an alternative storage method is the combination of NoSQL databases and cloud computation (Mao et al., 2014).There's more than one type of NoSQL database and a large number of individual NoSQL DBMSes, some of the most popular ones, Hadoop/Hbase (Wide Column Store / Column Families), MangoDB (Document Store Database).
Cloud computation method such as Map-Reduce can be deployed on NoSQL database to increase the analysis speed.It is suitable for big data applications such as 3D city model generalization and visualization.MongoDB supports Map-Reduce analysis and geospatial indexes, which can speed up the 3D city model related spatial search.(Mao et al., 2014) The proposed storage framework is needed to be capable of integrating geometric and thematic characteristics of objects and topological relations of objects, like adjacency, inclusion, overlapping etc.

3D SPATIAL FUNCTIONS
3D city models can be queried interactively, according to some given conditions by the users, to find various different information about 3D city objects corresponding with the attribute data using topology.
3D city applications on the web can employ 3D analyses, like line-of-sight, flood modeling, noise distribution, air flow analysis, simulating urban growth scenarios.
In the context of applications related to 3D city models, (Moser et al., 2010) have categorized 3D GIS analysis in four broad aspects: Spread/flow analysis, 3D density, visibility analysis, proximity and overlay analysis.These analyses utilize 3D operations like 3D intersection, 3D difference, 3D buffer, 3D union on virtual 3D city models.(Moser et al., 2010, Prandi et al., 2015) These on-the-fly 3D spatial analyses can be applied on 3D city objects directly on the client-side.Other functionalities, like updating or modifying 3D city objects by adding a new feature/object or deleting an existing feature/object, can be performed on the web.

CONCLUSION
GIS (or Urban Information System, Urban GIS) for smart cities should be an integrated cross-sectoral platform to collect, store, manage, analyze and visualize spatiotemporal information for sustainable urbanization.Despite of the all advancements of GIS in the management of the urban environments in 3D, GIS technology is still lacking of utilizing semantic web technologies and spatial intelligence in GIS solutions.As a result of this, the shortage prevents the transition from existing GIS to Smart City GIS.Consequently there is no any holistic geospatial solution to the smart cities.

Figure
Figure1.Three level architecture for the 3D geospatial applications on the web