aboutsummaryrefslogtreecommitdiff
path: root/googlemaps.py~
diff options
context:
space:
mode:
Diffstat (limited to 'googlemaps.py~')
-rw-r--r--googlemaps.py~124
1 files changed, 0 insertions, 124 deletions
diff --git a/googlemaps.py~ b/googlemaps.py~
deleted file mode 100644
index 81a8060..0000000
--- a/googlemaps.py~
+++ /dev/null
@@ -1,124 +0,0 @@
-MIN_SATELLITE_ZOOM = -5
-MIN_MAP_ZOOM = 0
-MIN_OVERLAY_ZOOM = 0
-MIN_RELIEF_ZOOM = 2
-
-def fetch(url):
- import os
- img = os.popen('curl -f "%(url)s"' % vars(), 'r').read()
- if len(img):
- return img
- return None
-
-def image_number_to_sel(x, y, zoom, sel_t = ['q','r','t','s']):
- x = int(x)
- y = int(y)
- bits = range(17-zoom); bits.reverse()
- sel = 't'
- for bit in bits:
- index = 0
- if x & (1<<bit):
- index |= 1
- if y & (1<<bit):
- index |= 2
- sel += sel_t[index]
- return sel
-
-def fetch_satellite_img(x, y, zoom):
- if zoom < MIN_SATELLITE_ZOOM:
- return None
- x = int(x)
- y = int(y)
- num = (x+y)%4
- sel = image_number_to_sel(x, y, zoom)
- url = "http://kh%(num)d.google.com/kh?n=404&v&t=%(sel)s" % vars()
- return fetch(url)
-
-def fetch_map_img(x, y, zoom):
- if zoom < MIN_MAP_ZOOM:
- return None
- x = int(x)
- y = int(y)
- num = (x+y)%4
- mapmode = "w2.69"
- url = "http://mt%(num)d.google.com/mt?n=404&v=%(mapmode)s&zoom=%(zoom)d&x=%(x)d&y=%(y)d" % vars()
- return fetch(url)
-
-def fetch_relief_img(x, y, zoom):
- if zoom < MIN_RELIEF_ZOOM:
- return None
- x = int(x)
- y = int(y)
- num = (x+y)%4
- mapmode = "w2p.71"
- url = "http://mt%(num)d.google.com/mt?n=404&v=%(mapmode)s&zoom=%(zoom)d&x=%(x)d&y=%(y)d" % vars()
- return fetch(url)
-
-def fetch_overlay_img(x, y, zoom):
- if zoom < MIN_OVERLAY_ZOOM:
- return None
- x = int(x)
- y = int(y)
- num = (x+y)%4
- mapmode = "w2t.69"
- url = "http://mt%(num)d.google.com/mt?n&v=%(mapmode)s&zoom=%(zoom)d&x=%(x)d&y=%(y)d" % vars()
- return fetch(url)
-
-def get_image_number(lon, lat, zoom):
- import math
- from math import pi
-
- def deg2rad(a):
- return a * pi/180.
-
- def frac(x):
- return x - math.floor(x)
-
- def h(lat):
- lat = deg2rad(lat)
- # value determined by fitting original google maps
- # output to mercator map formula
- a = 0.0795775
- # mercator projection formula
- return a * math.log((1. + math.sin(lat)) / (1. - math.sin(lat)))
-
- t = (2**(17-zoom))
- off = (2**(16-zoom))
-
- lat = h(-lat)
- lon = (lon / 360.)
-
- x = lon * t + off
- y = lat * t + off
-
- xx = int(x)
- yy = int(y)
-
- px = frac(x) * 256
- py = frac(y) * 256
-
- return (xx, yy, x, y, px, py)
-
-def get_satellite(lon, lat, zoom):
- if zoom < MIN_SATELLITE_ZOOM:
- return None
- img_num = get_image_number(lon, lat, zoom)
- return fetch_satellite_img(img_num[0], img_num[1], zoom)
-
-def get_map(lon, lat, zoom):
- if zoom < MIN_MAP_ZOOM:
- return None
- img_num = get_image_number(lon, lat, zoom)
- return fetch_map_img(img_num[0], img_num[1], zoom)
-
-def get_relief(lon, lat, zoom):
- if zoom < MIN_RELIEF_ZOOM:
- return None
- img_num = get_image_number(lon, lat, zoom)
- return fetch_relief_img(img_num[0], img_num[1], zoom)
-
-def get_overlay(lon, lat, zoom):
- if zoom < MIN_OVERLAY_ZOOM:
- return None
- img_num = get_image_number(lon, lat, zoom)
- return fetch_overlay_img(img_num[0], img_num[1], zoom)