Recently, I ‘ve been very excited with Nokia’s 3D webGl mapping platfom. It’s really exciting that they achieved a Google Earth-like experience, using no plugin at all, just pure WebGL (supprted by Chrome and Firefox, more to come.)

Digging a little deeper, it seems that C3 Technologies, a SAAB spin-off,  is responsible for generating the 3D models in an automatic way, however there isn’t a lot of information available online since Apple bought them 6 months ago. A nice video that explains the technology behind the 3D extraction process can be found here.

Having launched a streetview-like service in Greece, I do appreciate all innovations in the Web-GIS field and in this case, Nokia has really set the bar higher, so I just had to take a closer look at their service. It seems that I wasn’t the only one, and looking for more information I found @praeclarum’s really good write-up describing how to grab the geometry of the 3d models, as well as Michal’s post with similar results.

Picking @praeclarum’s code up, I forked his code to add the functionality to texture the 3D geometries with photorealistic textures. You could see the resulting Collada file in any 3D viewer like Sketchup.

The code is available here (Github), has some Windows-specific headers, but should be very easy to compile in other platforms as well.

Next steps

What would be very interesting would be to find out how does the tiling scheme Nokia uses actually works. It seems for the 2D maps it’s using the same Spherical Mercator-based tiling scheme Google and Bing also use. However this is not the case for the 3D n3m files.

For example, the Statue of Liberty area can be seen:

Google Maps:
zoom=19, x= 154308, y=197167

Nokia Maps Satellite:
zoom=19, x= 154308, y=197167 

Nokia Maps 3D:
zoom 19, x= 154308, y=??? 327120 ??? 

The URL parameters for the 3D n3m file don’t follow the same tiling scheme of the other 2.
Let me know your thoughts on this. Any feedback on the above would be very helpful.