Пример #1
0
 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&center=48.858278%2C2.294489&zoom=17&'
         'size=400x400&sensor=false&language=en')
Пример #2
0
 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&center=48.858278%2C2.294489&zoom=17&'
         'size=400x400&sensor=false&language=en')
Пример #3
0
 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&center=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&center=48.858278,2.294489&zoom=17&'
            'size=400x400&sensor=false&language=en')
Пример #5
0
    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&center=151%20third%20st%2C%20san%20francisco'
            '%2C%20ca&zoom=17&size=400x400&sensor=false&language=en')
Пример #6
0
    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&center=48.858278,2.294489&zoom=17&'
            'size=400x400&sensor=false&language=en')
Пример #7
0
    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&center=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='
        )
Пример #8
0
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)
Пример #9
0
    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&center=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=')
Пример #10
0
    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&center=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='
        )
Пример #11
0
    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&center=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='
        )
Пример #12
0
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
Пример #13
0
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())
Пример #14
0
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")
Пример #15
0
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&center=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()
Пример #16
0
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")

Пример #17
0
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
        })
Пример #18
0
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&center=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]
Пример #19
0
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"