Python | Agregar marcadores a ubicaciones de volcanes usando el paquete folium

Python es un lenguaje multipropósito y sus utilidades van más allá de la programación normal. Se puede usar para desarrollar juegos, rastrear Internet o desarrollar modelos de aprendizaje profundo. 
Usaremos la biblioteca de Python llamada folium (con Pandas) junto con el conjunto de datos Volcanoes_USA (que contiene los datos necesarios utilizados en este proyecto). El script creará una página web guardada. Al abrirlo, el usuario será dirigido a Google Maps, donde se marcarán las ubicaciones de los volcanes, sus colores establecidos según la elevación.

Configuración: 
primero, instale bibliotecas como folium, pandas y el conjunto de datos mencionado anteriormente: 

pip3 install folium
pip3 install pandas

Ahora, debe descargar el conjunto de datos requerido, Volcanoes_USA.txt . Recuerde descargar esto en el mismo directorio en el que guardará el script de Python. Además, elimine los apóstrofes «‘» de los valores de la columna ‘NOMBRE’ en el conjunto de datos, siempre que estén presentes.

Funciones predefinidas:  

  • Mean() : una función de pandas que puede calcular la media de los valores de una array/serie. 
  • Map() : genere un mapa base de ancho y alto dados con conjuntos de mosaicos predeterminados o una URL de conjunto de mosaicos personalizada. 
  • Marcador() : cree un marcador de folleto de stock simple en el mapa, con texto emergente opcional o visualización de Vincent. 

Funciones definidas por el usuario: 

  • color() : se usa para asignar color al marcador de acuerdo con la elevación del volcán. 

A continuación se muestra la implementación: 

Python3

#import the necessary packages
import folium
import pandas as pd
 
# importing the dataset as a csv file,
# and storing it as a dataframe in 'df'
df=pd.read_csv('Volcanoes.txt')
 
# calculating the mean of the latitudes
# and longitudes of the locations of volcanoes
latmean=df['LAT'].mean()
lonmean=df['LON'].mean()
 
# Creating a map object using Map() function.
# Location parameter takes latitudes and
# longitudes as starting location.
# (Map will be centered at those co-ordinates)
map5 = folium.Map(location=[latmean,lonmean],
        zoom_start=6,tiles = 'Mapbox bright')
         
# Function to change the marker color
# according to the elevation of volcano
def color(elev):
    if elev in range(0,1000):
        col = 'green'
    elif elev in range(1001,1999):
        col = 'blue'
    elif elev in range(2000,2999):
        col = 'orange'
    else:
        col='red'
    return col
     
# Iterating over the LAT,LON,NAME and
# ELEV columns simultaneously using zip()
for lat,lan,name,elev in zip(df['LAT'],df['LON'],df['NAME'],df['ELEV']):
    # Marker() takes location coordinates
    # as a list as an argument
    folium.Marker(location=[lat,lan],popup = name,
                  icon= folium.Icon(color=color(elev),
                  icon_color='yellow',icon = 'cloud')).add_to(map5)
                   
# Save the file created above
print(map5.save('test7.html'))

Producción: 

Referencia: 
http://python-visualization.github.io/folium/docs-v0.5.0/modules.html
 

Publicación traducida automáticamente

Artículo escrito por faraaz3ali y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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