Google Earth Cache Builder

2006.11.30

**Not working currently due to changes in Google Earth and I haven't had the time to update



A handy tool for car pcs. A cache builder for Google Earth so you can use it offline.

It's written in perl, so after installing perl (if you don't have it on your system already), you'll just have to install the required modules.

ge_cachbuild.pl -lat [pos] -lon [pos] -range [meters] -hkm [km] -vkm [km] -sleep [sec]
  -lat   (Northwest corner in decimal degrees) ex: 42.832778
  -lon   (Northwest in decimal degrees) ex: -72.983889
  -range (Range in meters) ex: 600
  -hkm   (Int number of kilometers to scan West to East) ex: 15
  -vkm   (Int number of kilometers to scan North to South) ex: 10
  (Optional)
  -sleep (Int number of seconds to sleep before moving), default 3
  -hres  (Int horiztonal block to resume at)
  -vres  (Int horiztonal block to resume at)

* To resume where you left off, supply the last -hres, -vres parameters that were output.


Once started, it writes out invalid KML to $KML_FILE Add $KML_FILE as a network link to refresh once a second and check the "Fly to" option.

You should get an error about an invalid token. Click ignore (this prevents it happening mid-run)

Next it will overlay an image over the area to be scanned, if it's the desired area, hit "y" to continue or "n" to quit.

Google earth screenshot

The overlay will disappear and scanning begins. Make sure you enable all layers you want cached!, also turning down the details will allow the cache to hold more.

Install Tips
---------------------------------------------------------------------------------
Just untar (or use winzip) the file into an appropriate directory of your choosing.

A few things you'll need to do first before it will work.

# The KML network link file, need a fully qualified path
my $KML_FILE     = '/home/lee/cachebuild.kml';

# The overlay file, need a fully qualified path! my $OVERLAY_FILE = '/home/lee/ge_cachebuild/cachebuild.gif';

# The icon file, need a fully qualified path! my $ICON = '/home/lee/ge_cachebuild/cachebuild-icon.gif';


Point them to some place reasonable on your system, using FULLY QUALIFIED NAMES examples: my $KML_FILE = 'C:\ge_cacher\nutwurk-link.kml';

Don't forget to quote the value.

You'll need to have perl, but you'll also need to install the following modules.

Geo::Distance
Geo::Forward


For linux users it's easy (I think Mac is the same???)
> perl -MCPAN -e shell
> install Geo::Forward
> install Geo::Distance


If it asks to install any prerequisites, just say yes.

For windows, it will depend on your perl distro. Look at the appropriate docs on installing modules

Here is a decent Perl for Windows https://www.activestate.com/Products/ActivePerl/

I banged this out pretty quick, I'll probably make some changes (specifying SE lat/long instead of width and height to scan, for instance)

Download Source (version 1.02)

Note: This is not sanctioned by anyone. I believe it's within the spirit of the TOS for Google Earth, but use at your own risk, and be nice, don't hammer their services (by sleeping less between calls, etc). And maybe stating the obvious, but Google Earth and everything related to it is the property of Google Inc.

Scroll to top