def test_api_key(self): cmap = CenterMap( lat=48.858278, lon=2.294489, maptype='satellite', key='abcdefghi' ) url = cmap.generate_url() self.assertEqual( cmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?key=abcdefghi&maptype=satellite&' 'format=png&scale=1¢er=48.858278%2C2.294489&zoom=17&' 'size=400x400&sensor=false&language=en')
def test_api_key(self): cmap = CenterMap(lat=48.858278, lon=2.294489, maptype='satellite', key='abcdefghi') url = cmap.generate_url() self.assertEqual( cmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?key=abcdefghi&maptype=satellite&' 'format=png&scale=1¢er=48.858278%2C2.294489&zoom=17&' 'size=400x400&sensor=false&language=en')
def test_create_map_with_address(self): """Checks the correct url generated with an address""" center_map = CenterMap(address=self.address) # cmap1 = CenterMap(lat=48.858278,lon=2.294489,maptype='satellite') self.assertEqual( center_map.generate_url(), 'https://maps.google.com/maps/api/staticmap?maptype=roadmap&format=png&scale=1¢er=151%20third%20st%2C%20san%20francisco%2C%20ca&zoom=17&size=400x400&sensor=false&language=en')
def test_centermap_sat(self): cmap_sat = CenterMap(lat=48.858278, lon=2.294489, maptype='satellite') self.assertEqual( cmap_sat.generate_url(), 'https://maps.google.com/maps/api/staticmap?maptype=satellite&f' 'ormat=png&scale=1¢er=48.858278,2.294489&zoom=17&' 'size=400x400&sensor=false&language=en')
def test_create_map_with_address(self): """Checks the correct url generated with an address""" center_map = CenterMap(address=self.address) self.assertEqual( center_map.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?maptype=roadmap&' 'format=png&scale=1¢er=151%20third%20st%2C%20san%20francisco' '%2C%20ca&zoom=17&size=400x400&sensor=false&language=en')
def test_channel(self): cmap = CenterMap(lat=48.858278, lon=2.294489, maptype='satellite', clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=', channel='somechannel') self.assertEqual( cmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=satellite&' 'format=png&scale=1¢er=48.858278%2C2.294489&zoom=17&' 'size=400x400&sensor=false&language=en&channel=somechannel&' 'signature=Y-D-iEMbWPfUTjBtKEYDbGUtElY=') vmap = VisibleMap(maptype='terrain', clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=', channel='somechannel') vmap.add_address('Sugarbowl, Truckee, CA') vmap.add_address('Tahoe City, CA') self.assertEqual( vmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=terrain&' 'format=png&scale=1&size=400x400&sensor=false&' 'visible=Sugarbowl%2C%20Truckee%2C%20CA%7CTahoe%20City%2C%20CA&' 'language=en&channel=somechannel&signature=KQvz4Q3rB6Pmr7sJ_sM4qfKQzDo=' ) styles = [{ 'feature': 'road.highway', 'element': 'geomoetry', 'rules': { 'color': '#c280e9' } }] decorated_map = DecoratedMap(style=styles, clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=', channel='somechannel') decorated_map.add_marker( LatLonMarker('37.422782', '-122.085099', label='G')) self.assertEqual( decorated_map.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=roadmap&' 'format=png&scale=1&size=400x400&sensor=false&language=en&' 'markers=%7Clabel%3AG%7C37.422782%2C-122.085099&' 'style=feature%3Aroad.highway%7Celement%3Ageomoetry%7C' 'color%3A0xc280e9%7C&channel=somechannel&signature=IPHCEq1ifL7Chuwu604pMtN6eGw=' )
def road_segmentation(coord): cmap = CenterMap(lat=coord[0], lon=coord[1], size_x=640, size_y=640, zoom=18, scale=2) URL = cmap.generate_url() URL += "&style=feature:all|element:labels|visibility:off" with urllib.request.urlopen(URL) as url: f = io.BytesIO(url.read()) img = np.array(Image.open(f).convert("RGB")) img = rgb2gray(img) cmap_sat = CenterMap(lat=coord[0], lon=coord[1], maptype='satellite', size_x=640, size_y=640, zoom=18, scale=2) img_sat = skimage.io.imread(cmap_sat.generate_url()) threshold = 0.909 mask = (img > threshold - .001) & (img < threshold + .001) mask = np.invert(mask) color_mask = np.zeros(img_sat.shape) color_mask[mask] = [255, 0, 0] alpha = .6 blended = alpha * img_sat + (1 - alpha) * color_mask return exposure.rescale_intensity(blended)
def test_client_id_and_private_key(self): cmap = CenterMap(lat=48.858278, lon=2.294489, maptype='satellite', clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=') self.assertEqual( cmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=satellite&' 'format=png&scale=1¢er=48.858278%2C2.294489&zoom=17&' 'size=400x400&sensor=false&language=en&' 'signature=PsD-OrvyjeIflTpH1p6v5hElJrE=') vmap = VisibleMap(maptype='terrain', clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=') vmap.add_address('Sugarbowl, Truckee, CA') vmap.add_address('Tahoe City, CA') self.assertEqual( vmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=terrain&' 'format=png&scale=1&size=400x400&sensor=false&' 'visible=Sugarbowl%2C%20Truckee%2C%20CA%7CTahoe%20City%2C%20CA&' 'language=en&signature=0_hfvOReb4YQfq7sGyAs0dLEDEo=') styles = [{ 'feature': 'road.highway', 'element': 'geomoetry', 'rules': { 'color': '#c280e9' } }] decorated_map = DecoratedMap(style=styles, clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=') decorated_map.add_marker( LatLonMarker('37.422782', '-122.085099', label='G')) self.assertEqual( decorated_map.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=roadmap&' 'format=png&scale=1&size=400x400&sensor=false&language=en&' 'markers=%7Clabel%3AG%7C37.422782%2C-122.085099&' 'style=feature%3Aroad.highway%7Celement%3Ageomoetry%7C' 'color%3A0xc280e9%7C&signature=bkshPe4g0vRn1Wt3n-rUZvEEN4M=')
def test_channel(self): cmap = CenterMap( lat=48.858278, lon=2.294489, maptype='satellite', clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=', channel='somechannel' ) self.assertEqual( cmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=satellite&' 'format=png&scale=1¢er=48.858278%2C2.294489&zoom=17&' 'size=400x400&sensor=false&language=en&channel=somechannel&' 'signature=Y-D-iEMbWPfUTjBtKEYDbGUtElY=') vmap = VisibleMap(maptype='terrain', clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=', channel='somechannel') vmap.add_address('Sugarbowl, Truckee, CA') vmap.add_address('Tahoe City, CA') self.assertEqual( vmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=terrain&' 'format=png&scale=1&size=400x400&sensor=false&' 'visible=Sugarbowl%2C%20Truckee%2C%20CA%7CTahoe%20City%2C%20CA&' 'language=en&channel=somechannel&signature=KQvz4Q3rB6Pmr7sJ_sM4qfKQzDo=') styles = [{ 'feature': 'road.highway', 'element': 'geomoetry', 'rules': { 'color': '#c280e9' } }] decorated_map = DecoratedMap(style=styles, clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=', channel='somechannel') decorated_map.add_marker(LatLonMarker('37.422782', '-122.085099', label='G')) self.assertEqual( decorated_map.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=roadmap&' 'format=png&scale=1&size=400x400&sensor=false&language=en&' 'markers=%7Clabel%3AG%7C37.422782%2C-122.085099&' 'style=feature%3Aroad.highway%7Celement%3Ageomoetry%7C' 'color%3A0xc280e9%7C&channel=somechannel&signature=IPHCEq1ifL7Chuwu604pMtN6eGw=' )
def test_client_id_and_private_key(self): cmap = CenterMap( lat=48.858278, lon=2.294489, maptype='satellite', clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=' ) self.assertEqual( cmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=satellite&' 'format=png&scale=1¢er=48.858278%2C2.294489&zoom=17&' 'size=400x400&sensor=false&language=en&' 'signature=PsD-OrvyjeIflTpH1p6v5hElJrE=') vmap = VisibleMap(maptype='terrain', clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=') vmap.add_address('Sugarbowl, Truckee, CA') vmap.add_address('Tahoe City, CA') self.assertEqual( vmap.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=terrain&' 'format=png&scale=1&size=400x400&sensor=false&' 'visible=Sugarbowl%2C%20Truckee%2C%20CA%7CTahoe%20City%2C%20CA&' 'language=en&signature=0_hfvOReb4YQfq7sGyAs0dLEDEo=') styles = [{ 'feature': 'road.highway', 'element': 'geomoetry', 'rules': { 'color': '#c280e9' } }] decorated_map = DecoratedMap(style=styles, clientid='gme-exampleid', secret='bbXgwW0k3631Bl2V5Z34gs9vYgf=') decorated_map.add_marker(LatLonMarker('37.422782', '-122.085099', label='G')) self.assertEqual( decorated_map.generate_url(), 'https://maps.googleapis.com/maps/api/staticmap?client=gme-exampleid&maptype=roadmap&' 'format=png&scale=1&size=400x400&sensor=false&language=en&' 'markers=%7Clabel%3AG%7C37.422782%2C-122.085099&' 'style=feature%3Aroad.highway%7Celement%3Ageomoetry%7C' 'color%3A0xc280e9%7C&signature=bkshPe4g0vRn1Wt3n-rUZvEEN4M=' )
def generate_gmaps_links(lat, long, zoom, pixels, num_images, center=True, xy_to_ij=True): """ generates list with google maps static api links paramter defintion as in function 'lat_long_array' """ coord = lat_long_array(lat, long, zoom, pixels, num_images, center=center, xy_to_ij=xy_to_ij) urls = [] for i in range(coord.shape[0]): for j in range(coord.shape[1]): cmap = CenterMap(lat=coord[i, j, 0], lon=coord[i, j, 1], maptype='satellite', size_x=pixels, size_y=pixels, zoom=zoom, key=os.getenv("GMAPS_API_KEY") ) urls.append(cmap.generate_url()) return urls
def map_html(entry): lat, lon = get_lat_lon(entry) with open(os.path.join(file_path, "api_key.txt")) as f: key = f.read() cmap = CenterMap(lat=lat, lon=lon, maptype="terrain", zoom=10, key=key) return "<img src='{}'>".format(cmap.generate_url())
vmap.add_address('Tahoe City, CA') dmap = DecoratedMap() dmap.add_marker(AddressMarker('1 Infinite Loop, Cupertino, CA', label='A')) dmap.add_marker(AddressMarker('1600 Amphitheatre Parkway Mountain View, CA', label='G')) htmlPage = """ <html> <body> <h2>SFMOMA</h2> <img src="%s"/> <h2>La Tour Eiffel</h2> <img src="%s"/> <h2>Tahoe City and Sugarbowl</h2> <img src="%s"/> <h2>Google and Apple</h2> <img src="%s"/> </body> </html> """ % ( cmap.generate_url(), cmap_sat.generate_url(), vmap.generate_url(), dmap.generate_url()) with open("demo.html", "w") as html: html.write(htmlPage) print("demo.html created")
from skimage.color import rgb2gray from PIL import Image import urllib.request import io from skimage import exposure #39.030236,-3.3761257 #38.321221,-3.5573312 #lat=38.6038808, lon=-3.4694234 cmap = CenterMap(lat=37.9039882, lon=-4.7740557, size_x=640, size_y=640, zoom=18, scale=2) URL = cmap.generate_url() URL = "https://maps.googleapis.com/maps/api/staticmap?key=AIzaSyDvgF0JSBrlYLDzY7pPqtcBSgGslmaAlzw¢er=38.043824,%20-3.985887&zoom=18&format=png&maptype=roadmap&style=element:geometry%7Ccolor:0x212121&style=element:labels%7Cvisibility:off&style=element:labels.icon%7Cvisibility:off&style=element:labels.text.fill%7Ccolor:0x757575&style=element:labels.text.stroke%7Ccolor:0x212121&style=feature:administrative%7Celement:geometry%7Ccolor:0x757575%7Cvisibility:off&style=feature:administrative.country%7Celement:labels.text.fill%7Ccolor:0x9e9e9e&style=feature:administrative.land_parcel%7Cvisibility:off&style=feature:administrative.locality%7Celement:labels.text.fill%7Ccolor:0xbdbdbd&style=feature:administrative.neighborhood%7Cvisibility:off&style=feature:poi%7Cvisibility:off&style=feature:poi%7Celement:labels.text.fill%7Ccolor:0x757575&style=feature:poi.park%7Celement:geometry%7Ccolor:0x181818&style=feature:poi.park%7Celement:labels.text.fill%7Ccolor:0x616161&style=feature:poi.park%7Celement:labels.text.stroke%7Ccolor:0x1b1b1b&style=feature:road%7Celement:geometry.fill%7Ccolor:0x2c2c2c&style=feature:road%7Celement:labels.icon%7Cvisibility:off&style=feature:road%7Celement:labels.text.fill%7Ccolor:0x8a8a8a&style=feature:road.arterial%7Celement:geometry%7Ccolor:0x373737&style=feature:road.highway%7Celement:geometry%7Ccolor:0x3c3c3c&style=feature:road.highway.controlled_access%7Celement:geometry%7Ccolor:0x4e4e4e&style=feature:road.local%7Celement:labels.text.fill%7Ccolor:0x616161&style=feature:transit%7Cvisibility:off&style=feature:transit%7Celement:labels.text.fill%7Ccolor:0x757575&style=feature:water%7Celement:geometry%7Ccolor:0x000000&style=feature:water%7Celement:labels.text.fill%7Ccolor:0x3d3d3d&size=640x640&scale=2" with urllib.request.urlopen(URL) as url: f = io.BytesIO(url.read()) img = np.array(Image.open(f).convert("RGB")) # img = rgb2gray(img) skimage.io.imshow(exposure.rescale_intensity(img)) skimage.io.show() threshold = 160 mask = (img > threshold - 10) & (img < threshold + 10) # skimage.io.imshow(mask) # skimage.io.show()
dmap = DecoratedMap() dmap.add_marker(AddressMarker('1 Infinite Loop, Cupertino, CA',label='A')) dmap.add_marker(AddressMarker('1600 Amphitheatre Parkway Mountain View, CA',label='G')) htmlPage = """ <html> <body> <h2>SFMOMA</h2> <img src="%s"/> <h2>La Tour Eiffel</h2> <img src="%s"/> <h2>Tahoe City and Sugarbowl</h2> <img src="%s"/> <h2>Google and Apple</h2> <img src="%s"/> </body> </html> """ % ( cmap.generate_url(), cmap1.generate_url(), vmap.generate_url(), dmap.generate_url()) html = open("demo.html","w") html.write(htmlPage) html.close() print("demo.html created")
def index(request, lang="EN"): #template = loader.get_template('cv_parser/index.html') language = "Français" language_code = "fr" languages = {'language': 'English', 'code': 'us', 'link': 'EN'} if lang == "FR": with open("cv_parser/fr.json", 'r') as config: json_config = json.loads(config.read()) config.close() elif lang == "EN": language = "English" languages = {'language': 'Français', 'code': 'fr', 'link': 'FR'} language_code = "us" with open("cv_parser/en.json", 'r') as config: json_config = json.loads(config.read()) config.close() else: with open("cv_parser/fr.json", 'r') as config: json_config = json.loads(config.read()) config.close() #with open("cv_parser/cache.json","r") as cache_file: # json_cache=json.loads(cache_file.read()) # cache_file.close() #hash_of_adress = json_config["contact"]["adress"].encode("utf-8") #hash_of_adress = hashlib.md5(hash_of_adress).hexdigest() #if json_cache["adress"] != hash_of_adress: try: cmap = CenterMap(address=json_config["contact"]["adress"], zoom=15, key="AIzaSyCKM9tkv_Rc9fMhuwLhwNwvW8C9Y6hNuNg=") requ = req.Request(cmap.generate_url()) pic = req.urlopen(requ) filePath = 'cv_parser/static/cv_parser/images/static_map.png' with open(filePath, 'wb') as localFile: localFile.write(pic.read()) #json_cache["adress"] = hash_of_adress #with open("cv_parser/cache.json","w") as cache_file: # json.dump(json_cache, cache_file) # cache_file.close() except: print( "Error getting map image , put it manually in cv_parser/static/cv_parser/images/static_map.png" ) #hash_of_config = json.dumps(json_config, sort_keys = True).encode("utf-8") #hash_of_config = hashlib.md5(hash_of_config).hexdigest() #logger.info(json_cache[lang.lower()+"_pdf_hash"]) #logger.info(hash_of_config) #if json_cache[lang.lower()+"_pdf_hash"] != hash_of_config: template.create_template(json_config) #logger.info("new json") #json_cache[lang.lower()+"_pdf_hash"] = hash_of_config #with open("cv_parser/cache.json","w") as cache_file: # json.dump(json_cache, cache_file) # cache_file.close() # urllib.urlretrieve(self.url, filePath) return render( request, 'cv_parser/index.html', { 'config': json_config, 'language': language, 'language_code': language_code, 'languages': languages })
cmap = CenterMap(lat=38.6038808, lon=-3.4694234, size_x=640, size_y=640, zoom=18, scale=2, style="feature:all|element:labels|visibility:off") cmap_sat = CenterMap(lat=38.6038808, lon=-3.4694234, maptype='satellite', size_x=640, size_y=640, zoom=18, scale=2) url = cmap.generate_url() url += "&style=feature:all|element:labels|visibility:off" # response = requests.get(url) # img = np.array(Image.open(StringIO(response.content))) # img_sat = io.imread(cmap_sat.generate_url()) # img = io.imread("https://maps.googleapis.com/maps/api/staticmap?maptype=roadmap¢er=38.7012335,-3.4256068&zoom=19&size=1280x1280&style=feature:all|element:labels|visibility:off&key=AIzaSyDvgF0JSBrlYLDzY7pPqtcBSgGslmaAlzw") img = io.imread(url) img_gray = rgb2gray(img) io.imshow(img_gray) io.show() # threshold = threshold_otsu(img_gray) # threshold = img_gray[1083,1108]
dmap = DecoratedMap() dmap.add_marker(AddressMarker('1 Infinite Loop, Cupertino, CA',label='A')) dmap.add_marker(AddressMarker('1600 Amphitheatre Parkway Mountain View, CA',label='G')) htmlPage = """ <html> <body> <h2>SFMOMA</h2> <img src="%s"/> <h2>La Tour Eiffel</h2> <img src="%s"/> <h2>Tahoe City and Sugarbowl</h2> <img src="%s"/> <h2>Google and Apple</h2> <img src="%s"/> </body> </html> """ % ( cmap.generate_url(), cmap1.generate_url(), vmap.generate_url(), dmap.generate_url()) html = open("demo.html","w") html.write(htmlPage) html.close() print "demo.html created"