コード例 #1
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')
コード例 #2
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.googleapis.com/maps/api/staticmap?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)

        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')
コード例 #4
0
ファイル: test_motionless.py プロジェクト: exislow/motionless
    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
ファイル: test_motionless.py プロジェクト: ryancox/motionless
 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')
コード例 #6
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='
        )
コード例 #7
0
def generate_metadata_gmaps(name, lat, lon, zoom, pixels, gmaps_key):
    """
    Generates metadata of provided parameters for image
    :param name: string
        name identifier of the image group, e.g. name of city
    :param label: int
        one of 0,1,2,3,4 where 0 maximum natural and 4 maximum man-made
    :param lat: float
        central lat coordinate
    :param lon: float
        central lon coordinate
    :param zoom: int
        google maps api zoom
    :param pixels: int
        maximum of 640
    :param gmaps_key: string
        Google Maps API key
    :return:
    """
    img_metadata = {}
    img_metadata["name"] = name
    img_metadata["lat"] = lat
    img_metadata["lon"] = lon
    img_metadata["zoom"] = zoom
    img_metadata["pixels"] = pixels
    meters_per_px = zoom_in_meters_per_pixel(zoom, lat)
    image_size = meters_per_px * pixels
    img_metadata["meters_per_px"] = meters_per_px
    img_metadata["img_size"] = image_size
    url = CenterMap(lat=lat, lon=lon, maptype='satellite', size_x=pixels, size_y=pixels, zoom=zoom,
                    key=gmaps_key).generate_url()
    img_metadata["url"] = url
    img_metadata["filename"] = name + '_' + str(lat) + '_' + str(lon) + '_' + str(zoom) + '_' + str(pixels) + '.png'
    img_metadata["saved_dt"] = datetime.datetime.today()
    return img_metadata
コード例 #8
0
 def test_api_key_client_id_exclusive(self):
     self.assertRaises(
         ValueError, lambda: CenterMap(lat=48.858278,
                                       lon=2.294489,
                                       maptype='satellite',
                                       key='abcdefghi',
                                       clientid='gme-exampleid'))
コード例 #9
0
def download_and_save_image(name, lat, lon, zoom, pixels, gmaps_key, folder='', save_image=True):
    """
    Downloads and returns an image from Google Maps static API
    :param lat: float
        central lat coordinate
    :param lon: float
        central lon coordinate
    :param zoom: int
        google maps api zoom
    :param pixels: int
        maximum of 640
    :param gmaps_key: string
        Google Maps API key
    :param folder: string
        where to save the image
    :param save_image: bool
        whether to save the image
    :return:
    """
    url = CenterMap(lat=lat, lon=lon, maptype='satellite', size_x=pixels, size_y=pixels, zoom=zoom,
                    key=gmaps_key).generate_url()
    image = Image.open(BytesIO(request.urlopen(url).read()))

    fname_suffix = name + '_' + str(lat) + '_' + str(lon) + '_' + str(zoom) + '_' + str(pixels) + '.png'
    if save_image:
        image.save(folder + fname_suffix, "PNG")
    return image
コード例 #10
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=')
コード例 #11
0
def download_image(lat, lon, zoom, pixels, gmaps_key, crop_px=20, name='', dataset='', folder='', plot_image=False, save_image=True):
    """
    Downloads and returns (optionally plots) an image from Google Maps static API
    :param lat: float
        central lat coordinate
    :param lon: float
        central lon coordinate
    :param zoom: int
        google maps api zoom
    :param pixels: int
        maximum of 640
    :param gmaps_key: string
        Google Maps API key
    :param crop_px: int
        number of pixels to crop for each border
    :param name: str
        name identifier of the image group, e.g. name of city
    :param dataset: str
        dataset identifier
    :param folder: string
        where to save the image
    :param plot_image: bool
        whether to plot the image
    :param save_image: bool
        whether to save the image
    :return:
    """

    metadata = {}
    metadata["lat"] = lat
    metadata["lon"] = lon
    metadata["zoom"] = zoom
    metadata["pixels"] = pixels
    metadata["name"] = name
    metadata["dataset"] = dataset

    meters_per_px = zoom_in_meters_per_pixel(zoom, lat)
    image_size = meters_per_px * pixels
    metadata["meters_per_px"] = meters_per_px
    metadata["img_size"] = image_size

    # download image
    url = CenterMap(lat=lat, lon=lon, maptype='satellite', size_x=pixels+2*crop_px, size_y=pixels+2*crop_px, zoom=zoom, key=gmaps_key).generate_url()
    metadata["url"] = url
    image = Image.open(BytesIO(request.urlopen(url).read()))
    image = ImageOps.crop(image, (crop_px, crop_px, crop_px, crop_px)) # borders: left, up, right, bottom

    metadata["filename"] = name + '_' + str(lat) + '_' + str(lon) + '_' + str(zoom) + '_' + str(pixels) + '.png'
    if save_image:
        image.save(folder + metadata["filename"], "PNG")
    metadata["saved_dt"] = datetime.datetime.today()

    if plot_image:
        image.show()
        plt.show()

    return image, metadata
コード例 #12
0
ファイル: test_motionless.py プロジェクト: ryancox/motionless
    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='
        )
コード例 #13
0
ファイル: test_motionless.py プロジェクト: ryancox/motionless
    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='
        )
コード例 #14
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
コード例 #15
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)
コード例 #16
0
"""Examples of the various maps that can be created with motionless."""
from __future__ import print_function
from motionless import AddressMarker, DecoratedMap, CenterMap, VisibleMap

cmap = CenterMap(address='151 third st, san francisco, ca')

cmap_sat = CenterMap(lat=48.858278, lon=2.294489, maptype='satellite')

vmap = VisibleMap(maptype='terrain')
vmap.add_address('Sugarbowl, Truckee, CA')
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>
コード例 #17
0
ファイル: demo.py プロジェクト: takeflight/motionless
from motionless import AddressMarker, LatLonMarker,DecoratedMap, CenterMap, VisibleMap

cmap = CenterMap(address='151 third st, san francisco, ca')

cmap1 = CenterMap(lat=48.858278,lon=2.294489,maptype='satellite')

vmap = VisibleMap(maptype='terrain')
vmap.add_address('Sugarbowl, Truckee, CA')
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(), 
    cmap1.generate_url(), 
コード例 #18
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
        })
コード例 #19
0
 def test_client_id_requires_secret(self):
     self.assertRaises(
         ValueError, lambda: CenterMap(lat=48.858278,
                                       lon=2.294489,
                                       maptype='satellite',
                                       clientid='gme-exampleid'))
コード例 #20
0
 def test_channel_requires_client_id(self):
     self.assertRaises(
         ValueError, lambda: CenterMap(lat=48.858278,
                                       lon=2.294489,
                                       maptype='satellite',
                                       channel='somechannel'))
コード例 #21
0
from motionless import CenterMap
from skimage.color import rgb2gray
from scipy import ndimage as ndi
from PIL import Image
import requests
import numpy as np
from io import StringIO
from skimage import io

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)
コード例 #22
0
import numpy as np
from motionless import CenterMap
import skimage.io
from skimage import color
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)
コード例 #23
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())