Is there any way to extract polygon data from Google maps into kmz or shp?

Here the website: http://www.vodafone.co.nz/network/coverage/

note: I only want 3G coverage of the country


Actually, it appears that don't use polygons, KMZ, or shape files, but an actual image overlay.

If you visit https://s1-vodafone.cloud.eaglegis.co.nz/arcgis/rest/services/coverage-maps/Mobile_3G_0_T_FF5400/MapServer/tile/6/39/62 you will see:

enter image description here

which the map of their coverage for zoom level 6, y=39, x=62

Using my own http://test.barrycarter.info/gettile.php (there are MANY other ways to do this) and zooming/scrolling a bit, we see:

enter image description here

and confirm that y=39, x=62 (at zoom level 6) is indeed part of New Zealand. If you were to shrink the red-shaded PNG file, you should be able to overlay it on my snapshot of my google maps program.

EDIT: I'm guessing the OP has long since solved the problem, but here are some additional thoughts, purely for verbosity reasons.

I confirmed the overlays occur at zoom level 10, but not at zoom level 11. More specifically:

enter image description here

enter image description here

  • The westernmost zoom 10 tiles are near the not-quite-so-aptly named South Island, with an x value of 985.

enter image description here

  • The southernmost zoom 10 tiles are near the aptly-titled Big South Cape Island with a y value of 665:

enter image description here

  • Finally, the northermost zoom 10 tiles are on Three Kings' Island (google won't show the name unless you zoom in one level deeper though) with a y value of 615:

enter image description here - Thus, we need to download all tiles where x is between 985 and 1019 (inclusive) and y is between 615 and 665 (inclusive) for a total of 35*51 or 1785 tiles.

  • The Perl script below will do this for you (when piped to sh):

perl -le 'for $x (985..1019) {for $y (615..665) {print "curl -o 10,$x,$y.png https://s1-vodafone.cloud.eaglegis.co.nz/arcgis/rest/services/coverage-maps/Mobile_3G_0_T_FF5400/MapServer/tile/10/$y/$x"}}'

Notice that vodafone uses /$y/$x in that order, instead of the more normal /$x/$y order.

  • Note that many of these PNG files are blank, and it turns out that Vodafone stops at y=664 (which is reasonable, since only a small portion of "mainland" New Zealand reaches into y=665), so the y=665 files will all be HTML files saying "not found".

  • If you'd prefer not to download the files yourself, I've downloaded and zipped them at: https://www.dropbox.com/s/9nqhp6caqkxcxf0/20161120.zip?dl=0

  • I didn't check carefully, but the resulting images appear to have 4 colors:

    • #000000 (black): no coverage

    • #88e200 (shade of dark orange): poor signal

    • #af3b00 (different shade of dark orange): medium signal

    • #c74200 (strong orange): good signal

(color descriptions courtesy http://www.colorhexa.com/)

  • The next is to convert each pixel to a latitude/longitude area, which I do in the "slippy2latlon" subroutine in https://github.com/barrycarter/bcapps/blob/master/bclib.pl

  • Note from the extrema images above, each individual gridbox is less than 20.14 miles wide. Since there are 256 pixels to a gridbox, the resolution is 20.14/256*5280 or about 415 feet per pixel.

  • @PolyGeo I'm not allowed to offer personal help? – barrycarter Nov 20 '16 at 15:46
  • It is fine to include contact details and such offers in your user profile so that they can be found by anyone who visits that and wishes to contact you. However, the idea of our questions and answers are that they are processed entirely on the site so that the learnings from both are available to all future visitors to this Q&A. Text which directs users away from the Q&A is removed. – PolyGeo Nov 20 '16 at 21:38
  • @PolyGeo That makes sense, but, in this case, the devil is in the details. I don't think anyone else would be interested in the specific workings on this specific example. My answer tells how to get the data-- the steps re actually obtaining and understanding it in this specific case seem less useful. – barrycarter Nov 20 '16 at 22:32

There are sites that allowed you to download part of New Zealand. Here are the links :




  • OK, but how do you get the Verizon coverage area from this? That's what the OP sought. – barrycarter Nov 20 '16 at 23:28
  • Well if you looked at the legal terms if it is okay to extract from the Google Maps and why would this person need it for what purpose ? – PROBERT Nov 20 '16 at 23:31
  • You understand that the OP is looking for polygons of Vodafone (not Verizon's, my mistake) coverage area, right? Not the polygons of the underlying map itself. – barrycarter Nov 20 '16 at 23:53
  • Don't know what you mean OP ? – PROBERT Nov 21 '16 at 2:27
  • @PROBERT OP means Original Poster – kttii Nov 21 '16 at 14:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.