Mapa de eventos con Python

Una forma de mostrar ciertos datos geolocalizados en un mapa, de Google, consiste en utilizar el módulo gmplot.

A continuación las instrucciones para obtener un mapa parecido a este:

mapa

 
mapa2

Primero, instale el módulo gmplot:

  1. Mediante la línea de comandos:
    pip install gmplot
  2. O, mediante PyCharm.

Vaya a File > Default Settings …  
paso1

En la ventana que aparece, seleccione la opción de Project Interpreter. Luego, de clic en el símbolo + para agregar un módulo.

paso2

Finalmente, en esta ventana, agregue el nombre del módulo: gmplot. Y, de clic en Install Packages

paso3

Luego, obtenga la posición (latitud y longitud) del cualquier lugar que desee, en el sitio: http://www.coordenadas-gps.com/

Finalmente, las instrucciones en Python para graficar.

import gmplot

#Ubicar el centro del mapa en Ecuador
#Para esto, se necesita la latitud y la longitud de Ecuador:
#latitud: -1.831239
#longitud: -78.18340599999999


#Esta funcion necesita los siguientes argumentos: latitud, longitud, zoom
gmap = gmplot.GoogleMapPlotter(-1.831239, -78.18340599999999, 7)


#diccionario de ejemplos con las latitudes y longitudes
ciudades = {

    "Guayaquil" : {"region":"costa","habitantes":2350915,"coordenada":(-2.1709979, -79.92235920000002)},
    "Quito": {"region":"sierra","habitantes":2239191,"coordenada":(-0.1806532,-78.46783820000002)},
    "Cuenca": {"region":"sierra","habitantes":505585,"coordenada":(-2.9001285, -79.0058965)},
    "Bahia de Caraquez": {"region":"costa","habitantes":20921,"coordenada":(-0.6186619,-80.42736439999999)},
    "Loja":{"region":"sierra","habitantes":214855,"coordenada":(-4.0078909,-79.21127690000003)},
    "Ambato": {"region":"sierra","habitantes":329856,"coordenada":(-1.2543408,-78.6228504)}
}

#procesamos el diccionario para tener dos listas: latitud y longitud
latitud = []
longitud = []

for key in ciudades.keys():
    lat, long = ciudades[key]["coordenada"]
    habitantes = ciudades[key]["habitantes"]

    #agregamos a la lista
    latitud.append(lat)
    longitud.append(long)

    # Marcadores de Google: marker
    #Por cada ciudad con menos de 1000000 (un millon) de habitantes
    if habitantes > 1000000:
        #vamos agregando uno a uno los datos de la latitud y longitud correspondientes
        gmap.marker(lat,long,c='red')
    elif habitantes > 100000:
        gmap.marker(lat, long, c='yellow')
    else:
        gmap.marker(lat, long, c='green')


#Mapa de calor: heatmap
#recibe dos listas: latitud y longitud
#ademas del radio (radius) de calor
#Y, la opacidad (cuan opaco) desea el mapa de calor, en general.
gmap.heatmap(latitud, longitud,radius=30, opacity=0.9)


#graficar en un archivo html
nombreDeArchivo = "ecuador.html"
print("Archivo final: "+nombreDeArchivo)
gmap.draw(nombreDeArchivo)



Esta entrada fue publicada en coding, python y etiquetada , , , . Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *