गूगल मैप्स स्पष्ट मानचित्र टाइल ऑफ़लाइन उपयोग या उन्हें कैशिंग न करे, लेकिन मुझे लगता है कि माइक्रोसॉफ्ट बिंग मैप्स है इसके खिलाफ स्पष्ट रूप से कुछ नहीं कहा, और मैं तुम्हें व्यावसायिक रूप से आपके प्रोग्राम का उपयोग करने की योजना बना नहीं कर रहे हैं लगता है (?)
फिर, आप इसका इस्तेमाल कर सकते हैं। यह एक कैश बनाता है, पहले स्मृति से टाइल लोड कर रहा है, अन्यथा फोम डिस्क, इंटरनेट से, हमेशा पुन: उपयोग के लिए डिस्क पर सबकुछ कैश करता है। निस्संदेह आपको यह समझना होगा कि इसे कैसे ट्विक करना है, विशेष रूप से टाइल निर्देशांक और ज़ूम स्तर को कैसे प्राप्त करें, और इसके लिए मैं दृढ़ता से this site का सुझाव देता हूं। अच्छी पढ़ाई!
#!/usr/bin/env python
# coding: utf-8
import os
import Image
import random
import urllib
import cStringIO
import cairo
#from geofunctions import *
class TileServer(object):
def __init__(self):
self.imdict = {}
self.surfdict = {}
self.layers = 'ROADMAP'
self.path = './'
self.urltemplate = 'http://ecn.t{4}.tiles.virtualearth.net/tiles/{3}{5}?g=0'
self.layerdict = {'SATELLITE': 'a', 'HYBRID': 'h', 'ROADMAP': 'r'}
def tiletoquadkey(self, xi, yi, z):
quadKey = ''
for i in range(z, 0, -1):
digit = 0
mask = 1 << (i - 1)
if(xi & mask) != 0:
digit += 1
if(yi & mask) != 0:
digit += 2
quadKey += str(digit)
return quadKey
def loadimage(self, fullname, tilekey):
im = Image.open(fullname)
self.imdict[tilekey] = im
return self.imdict[tilekey]
def tile_as_image(self, xi, yi, zoom):
tilekey = (xi, yi, zoom)
result = None
try:
result = self.imdict[tilekey]
except:
filename = '{}_{}_{}_{}.jpg'.format(zoom, xi, yi, self.layerdict[self.layers])
fullname = self.path + filename
try:
result = self.loadimage(fullname, tilekey)
except:
server = random.choice(range(1,4))
quadkey = self.tiletoquadkey(*tilekey)
print quadkey
url = self.urltemplate.format(xi, yi, zoom, self.layerdict[self.layers], server, quadkey)
print "Downloading tile %s to local cache." % filename
urllib.urlretrieve(url, fullname)
result = self.loadimage(fullname, tilekey)
return result
if __name__ == "__main__":
ts = TileServer()
im = ts.tile_as_image(5, 9, 4)
im.show()
यह http://code.activestate.com/recipes/496966-download-satellite-images-from-nasas-site/ मदद कर सकता है – Benjamin
वहाँ गूगल मानचित्र/पृथ्वी, याहू नक्शा, आदि के लिए कोड कर रहे हैं? – user186477
निशुल्क बीयर या "फ्री" जैसे फ्री स्पीच में "फ्री"? – Spacedman