I had several requests to make a tutorial on how to download 3D screenshots from Google Earth. I figured I would share it here in case anyone finds it useful! Cheers.
Hello, I just tried this out and am finding that when I hit okay after refreshing the code in the inject into process, a new code pops up instead. I have seen others express this issue in the comments section on YouTube, but have not yet found anyone posting a solution. Is this because I am using different versions of the programs possibly? Thank you
Hey i would check the github doc for the maps model importer for the most recent versions you should be using. most importantly though, make sure all other instances of Chrome are closed before trying to inject. This should solve your problem - cheers!
you should try adding a different flag to the target, they put this in the comments and it worked for me: C:\Windows\System32\cmd.exe /c “SET RENDERDOC_HOOK_EGL=0 && START “” ^”[INSERT YOUR CHROME PATH HERE]^" --disable-gpu-sandbox --gpu-startup-dialog --disable_direct_composition=1"
thanks! I’ll try it.
Hello, I am having the same issue as Em explained above where the chrome PID continues to produce a new code each time I select ok. I have made sure that the plug-in for Blender is installed and downloaded RenderDoc 1.31 to try instead of the most recent version and the issue is persisting.
Is there an older version of blender of anything that I might need to get the code to work?
Thanks for your help.
fixed it for me cheers!!!
Just so you guys know: there’s an alternative way of downloading Google Earth 3D, which I use since years:
It’s command line based, but quite reliable. It’s advantage is that the scaling remains intact.
Should anyone be interested, and the online docs seem unsufficient, I can give a few tips.
Hi! How is this actually used? Is the code executed in Chrome and then the model becomes available for download?
Here’s the readme from the package:
README.txt (3.7 KB)
It runs from the windows command prompt, and you will need to install Node.js and npm as prerequisites. See the readme.
I put the repo stuff into C:\earth-reverse-engineering\
The interesting part are those 2 .js scripts:
-
lat_long_to_octant.js
…will take the lat long coords from google maps and translate them to ‘octant’ numbers, according to the octant (part of the 3d globe, max. = 18) that you need. -
node dump_obj.js
… will take one octant ID and a detail level (max. = 20) and output it to .obj, including all the texture tiles.
What’s an octant?
The Google globe is stored in a 2x2x2 box (octant) data structure, with each box recursively subdivided into another 2x2x2 box, down to octant level 18. At this level such an octant box holds a piece of the planet’s surface of about 100x100m, and higher octant levels a bigger chunk, of course.
A typical command line will look like this:
node lat_long_to_octant.js 47.531426, 13.684994
…will give this
output
Octant Level: 2
{ n: 90, s: 0, w: 0, e: 90 }
30
Octant Level: 3
{ n: 90, s: 45, w: 0, e: 90 }
306
Octant Level: 4
{ n: 67.5, s: 45, w: 0, e: 45 }
3060
Octant Level: 5
{ n: 56.25, s: 45, w: 0, e: 22.5 }
30604
Octant Level: 6
{ n: 50.625, s: 45, w: 11.25, e: 22.5 }
306041
Octant Level: 7
{ n: 47.8125, s: 45, w: 11.25, e: 16.875 }
3060414
Octant Level: 8
{ n: 47.8125, s: 46.40625, w: 11.25, e: 14.0625 }
30604142
Octant Level: 9
{ n: 47.8125, s: 47.109375, w: 12.65625, e: 14.0625 }
306041427
Octant Level: 10
{ n: 47.8125, s: 47.4609375, w: 13.359375, e: 14.0625 }
3060414273
Octant Level: 11
{ n: 47.63671875, s: 47.4609375, w: 13.359375, e: 13.7109375 }
30604142734
Octant Level: 12
{ n: 47.548828125, s: 47.4609375, w: 13.53515625, e: 13.7109375 }
306041427341
Octant Level: 13
{ n: 47.548828125, s: 47.5048828125, w: 13.623046875, e: 13.7109375 }
3060414273417
Octant Level: 14
{ n: 47.548828125, s: 47.52685546875, w: 13.6669921875, e: 13.7109375 }
30604142734173
30604142734177
Octant Level: 15
{
n: 47.537841796875,
s: 47.52685546875,
w: 13.6669921875,
e: 13.68896484375
}
306041427341734
306041427341770
306041427341774
Octant Level: 16
{
n: 47.5323486328125,
s: 47.52685546875,
w: 13.677978515625,
e: 13.68896484375
}
3060414273417701
3060414273417705
Octant Level: 17
{
n: 47.5323486328125,
s: 47.52960205078125,
w: 13.6834716796875,
e: 13.68896484375
}
30604142734177053
30604142734177057
Octant Level: 18
{
n: 47.5323486328125,
s: 47.530975341796875,
w: 13.6834716796875,
e: 13.68621826171875
}
306041427341770532
306041427341770536
306041427341770572
The you grab the desired octant number and run the second command:
node dump_obj.js 3060414273 14
… whereas 14 (in this example) is the detail level.
Voilà, you get your .obj file plus textures.
So, a low octant number and a high detail level will result in a gigantic piece of geometry.
I often use octant level 17 and detail level 20.
After you load the .obj into Rhino, you will see that the 3d map piece is rotated. To rotate the piece back, I figured you need to rotate around -longitude seen from the top, then 90-latitude seen from the front, and -90 from top again, and you have your piece perfectly leveled.
Complicated? Just follow the readme, and experiment. Once you got it going, it’s a quick and reliable way to get the 3D data.
Hi @Eugen that’s pretty cool, thanks!
I’ll try to get a decreasing map starting from this point:
trying to get it running…
Hi!
I have this nearly working with the new flag added. However, 3D is disabled in Google Maps.
When I press clrt + shift and mouse hover satellite view, it doesn’t change it to 3D.
Any advice? Cheers!
Got this to work with older versions of all software and a bit more tinkering
you should be able to activate “globe view” from the layer options if you click on “other”,
else, you can still make captures from the google earth web app, it should have the 3d buildings activated by default