An Unusual Method To Capture Global Scenes In 3D

3D scene in Blender of data from Google Maps [Source: YouTube]

3D scene in Blender of data from Google Maps [Source: YouTube]

I’m looking at an unusual project called “Maps Models Importer”, which is apparently able to scoop 3D model information from Google Maps. 

Google is well known for their 3D information, which is presented in either Google Maps or Google Earth. These include not only 3D terrain information, but also data for buildings in many major cities. The information is also fully textured. 

Obtaining 3D models of buildings and landscapes is a tricky business. The most recent tool I’ve used for this was from CADMAPPER , which provided a slick interface for extracting 3D data for some areas. However, their free version had significant limitations. 

The new tool, Maps Models Importer, might best be described as a bit of a hack, as there are multiple technical steps required to make it work. And even then it’s a bit touchy. 

Maps Models Importer

A 3D scene in Google Maps [Source: YouTube]

A 3D scene in Google Maps [Source: YouTube]

The strategy used by the tool is to inject a hack into the Google Chrome browser that provides access to the 3D buffers created when a 3D scene is viewed through Google Maps.

Then, a second program, RenderDoc, reaches into Google Chrome to pull out a copy of the buffered data and stores it as a separate file. However, this file is not in any usable format, at least for the moment. 

The third step is to install the Maps Models Importer plugin into a copy of Blender, a popular open source 3D modeling tool. This enables Blender to open the file saved by RenderDoc. Once in Blender, it’s possible to do any 3D manipulation you require, as it is just another 3D model at that point. 

Corresponding 3D model in Blender based on Google Map data [Source: YouTube]

Corresponding 3D model in Blender based on Google Map data [Source: YouTube]

One approach could be to export the file from Blender to another more familiar 3D modeling tool by selecting one of Blender’s export formats. 

There’s a rather swift video describing how all this works. Be ready on the pause button if you want to catch the details:

As with most hacks, everything must be “just so” in order for it to work. For example, you must have very specific versions of RenderDoc, Google Chrome and Blender installed, otherwise it won’t work. You also must use only Google Maps and not Google Earth, even though they likely use the same underlying data. And even then you may not be able to get it working.

I gave it a valiant attempt, but found that RenderDoc could not properly connect to Google Chrome and my progress stalled. 

However, if you are able to get all the pieces just right, in theory you should be able to export 3D data of any structure or landscape on the planet to a manipulatable 3D file. In the video you can see several examples of how this was done, and it seems to work well.

There are subsequent videos in the series to show methods of processing the data. For example, one can bring the color texture along, which might be of interest to those with full color 3D printers only. 

Maps Models Importer Issues

While I was unable to get this system working, it’s likely that some readers will be able to do so. 

If you do so, it may be worth considering that this hack is very likely against Google’s terms of service, where you might be effectively stealing a copy of their 3D data. Therefore we cannot recommend you make use of this system, particularly if you intend on doing so for commercial purposes. 

Google has made the data available in viewable form only for the public, but it may be there is a small demand from the 3D printing community for some form of official 3D model export. Even so, it’s likely Google will not be providing this functionality in the foreseeable future. 

Via GitHub