In recent years, volunteered geographic information is developed rapidly and is considered as an important and new source for spatial information. In the beginning, only two-dimensional (2D) data were shared in voluntary databases, but recently, users have begun to collect and record three-dimensional data such as height, shape of roof, number of levels, doors and windows information. Three-dimensional models are used in many fields such as urban management, navigation, disaster management, and traffic modelling. Existence of three-dimensional digital data results in increasing of accuracy, efficiency, and improvement of results of many spatial analyses. OpenStreetMap (OSM) is one of the most important projects in the area of voluntary spatial data that has potential to store three-dimensional geospatial data. The mission of OSM is to create a free online map which covers all over the world. Each user, without the need to any license, can create, share, edit, and improve spatial data in OSM by three levels of editors (iD, Potlatch and JOSM). Geometric data might be shared in the form of node, way, and relation in OSM database. Moreover, semantic information in the form of key-value pairs could attach to geometric data. Many research have focused on extraction of three dimensional models from OSM data. CityGML standard format compared to other existing 3D formats has greater potential for displaying three-dimensional information, especially three-dimensional models of cities. In this research, an algorithm is proposed for automatic extraction of three-dimensional information from the OSM database and creation a three-dimensional model in the level of detail (LOD) 4. The output of this algorithm is three-dimensional models of Iranian buildings in CityGML format, which may be used as an input to many spatial analysis and applications.
To implement the proposed algorithm in this paper, java programming language and NetBeans software are used. At first, intended range/building is selected and extracted in .osm format from OSM database. Then, the intended range will be introduced to java program for future process. Our case study in this research is the new building for school of electrical and computer engineering at University of Tehran, located in Tehran, Iran. This building has 9 levels and many interior and exterior doors and windows. The program needs some key-value pairs such as number of levels, levels height, windows height, and door height for creation of the three-dimensional model. After extraction essential key-value pairs from OSM data, the process for construction 3D model of building starts. For each level, all of the walls, windows, and doors are constructed one after another. Various levels of the building with interior partition, interior and exterior doors, and windows to be created by proposed algorithm. After construction of the levels of the building, the building's roof is created by using semantic and geometric information. At the end, the output 3D model of building(s) is stored in CityGML format.
One advantage of this method is minimal use of semantic information for creation of three-dimensional models. The algorithm also focuses on improving the demonstration of the output, while maintains topological relations between features. The results of this research could be used for development of three-dimensional virtual cities based on voluntary information of VGI databases.