[SoC] Final Report (Week 12) - 3D OSM Plugin API for ESA-NASA Web WorldWind

Candan Eylül Kilsedar candaneylul.kilsedar at polimi.it
Mon Aug 21 19:07:47 PDT 2017

The title of the project is 3D OSM Plugin API. This project is developed to enhance ESA-NASA Web WorldWind.


The project creates an API to visualize OSM (OpenStreetMap) data on ESA-NASA Web WorldWind virtual globe. Once the tag and type of the OSM data is set, which are listed at http://wiki.openstreetmap.org/wiki/Map_Features, any OSM data can be visualized with a style that can be set by the user. The OSM data in GeoJSON format can be set either by using a bounding box, a local file, or by providing the data itself. The project however focuses on the 3D visualization of OSM buildings and performance in terms of rendering. To achieve the improved performance, Polygons and MultiPolygons are triangulated to construct the buildings using the earcut algorithm (https://github.com/mapbox/earcut). Height to the buildings can be assigned using the OSM database, a property in a GeoJSON file or an arbitrary value. Additionally, the API supports visualizing 3D OSM buildings as a heatmap. Lastly, the API divides the data into sectors, caches the data corresponding to each sector, and manages their state, of whether to add to the globe or not, based on their visibility to the user.

The state of the API before and after the project:

Before this project the OSM data could be visualized on ESA-NASA Web WorldWind virtual globe only as imagery. The project also enables the use of vector data. Moreover, the rendering performance of the 3D Polygons and MultiPolygons is improved, given the data is provided in GeoJSON format. Lastly, basic implementation of sectorizing (tiling) GeoJSON data has been performed.

The next steps:

At high zoom levels, as many sectors of the layer are not visible, they are not rendered, which improves the performance. At lower zoom levels, all the sectors are rendered, as a result the performance gain is lost. To improve the performance also at lower zoom levels, the tiling should be implemented on the fly for the visible data only, and for lower zoom levels the geometries should have less complexity.

Permanent links:
* Code: https://github.com/kilsedar/3dosm
* For documentation check https://kilsedar.github.io/3dosm/ and autogenerated documentation which can be found in the "out" folder in GitHub.
* More information can be found at http://osm.eoapps.eu/. An example application developed for NASA Europa Challenge can be found at http://osm.eoapps.eu/application/. A video of this application is available at https://www.youtube.com/watch?v=2RqJUSr02zs&t=1s.
* Weekly reports to OSGeo can be found at https://wiki.osgeo.org/wiki/GSoC_2017_-_3D_OSM_Plugin_API_for_ESA-NASA_Web_World_Wind.
* An image to showcase the project: https://raw.githubusercontent.com/kilsedar/3dosm/master/examples/screenshots/newYork_2.png

Best Regards,

Candan Eylül Kilsedar
PhD Student, Politecnico di Milano
Department of Civil and Environmental Engineering
GEOlab, Milan/Italy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20170822/f0e5df2d/attachment.html>

More information about the SoC mailing list