Análisis geoespacial | Introducción a Folium

Contenidos

Este artículo fue publicado como parte del Blogatón de ciencia de datos

Introducción

A menudo nos encontramos con algunas situaciones en las que es mejor mostrar los datos en un mapa para una mejor comprensión. Los datos con los que tratamos en nuestra vida cotidiana generalmente se limitan a filas y columnas, gráficos de barras, gráficos circulares e histogramas.

Pero, hoy en día, con más recursos de recopilación de datos y más poder computacional, es posible que las empresas también utilicen datos de ubicación y mapas para satisfacer sus necesidades de datos y análisis.

90170folium-6886899

Importancia de los mapas y los datos basados ​​en la ubicación

Los mapas y los datos de ubicación facilitan la visualización de datos y patrones ocultos, que antes podrían haber sido irreconocibles en hojas de cálculo / Excel.

Por ejemplo, un conjunto de datos contiene ubicaciones de entrega de alimentos en una ciudad, junto con los costos de los pedidos, los artículos pedidos y otros parámetros. Estos datos, cuando se visualizan en un mapa, ayudarán a identificar factores como la distancia, la proximidad, los grupos, etc.

Los datos basados ​​en la ubicación trazados en mapas le brindan la opción de mostrar mucha más información y con una visibilidad más fácil.

¿Qué es el análisis geoespacial?

El análisis geoespacial es una técnica de creación y análisis de visualizaciones basadas en mapas a partir de datos GPS, sensores, dispositivos móviles, imágenes de satélite y otras fuentes. Los elementos visuales pueden ser mapas, cartogramas, gráficos, etc.

Los mapas reconocibles hacen que sea fácil de entender y actuar. Los eventos basados ​​en la ubicación son fácilmente comprensibles mediante el análisis geoespacial. Los aspectos de la ubicación a menudo dictan varias tendencias.

Por ejemplo, un área residencial en una ciudad que tiene propiedades más caras probablemente tendrá personas con ingresos más altos y gastarán mayores cantidades de dinero.

Aplicaciones y usos del análisis geoespacial

Hay varios usos del análisis geoespacial.

Se pueden utilizar para mapear recursos naturales o rastrear fenómenos meteorológicos como lluvia, nieve o humedad, presión del aire, etc. Con la ubicación del fenómeno meteorológico pasado, se pueden analizar tendencias y comprender / predecir instancias futuras.

También para los datos de telecomunicaciones, podemos usar el análisis geoespacial y comprender la fuerza de la conexión, la extensión de los suscriptores y otros parámetros. Las fortalezas de la red fluctúan con el tiempo y el uso de mapas para visualizar los datos es la forma más eficiente.

También podemos utilizar mapas para trazar varios datos comerciales, las ventas de una tienda por los puntos de venta, por ejemplo, todos los Mc Donalds en una ciudad o región pueden trazar sus ventas en el mapa. Esto ayudará a analizar las ubicaciones más rentables y a tomar mejores decisiones.

La planificación urbana y la planificación urbana también pueden contar con la ayuda de técnicas de análisis basadas en mapas. La creciente población en las ciudades a menudo ha aumentado las necesidades de electricidad y agua, y la demanda y la oferta en las grandes ciudades siguen variando.

Los ayuntamientos y las corporaciones municipales sí tienen los datos necesarios en muchos casos, pero no una buena forma de visualizar y analizar los datos. Si se tiene la demanda de electricidad por región en una ciudad, trazada en un mapa, se puede determinar qué regiones necesitan una actualización urgente y más oferta. Todos los aspectos de la planificación urbana se pueden realizar fácilmente con un análisis geoespacial adecuado.

Introducción al folio

Folium es una biblioteca de Python que se puede utilizar para visualizar datos geoespaciales. Los sencillos comandos de Folium lo convierten en la mejor opción para realizar gráficos en mapas. Folium tiene varios conjuntos de mosaicos integrados de Mapbox, OpenStreetMap y Stamen y también admite conjuntos de mosaicos personalizados.

Instalación de Folium:

pip install folium

Ahora, después de instalar Folium, comenzamos.

import numpy as np
import pandas as pd

Importamos NumPy y pandas.

# Create a map
kol = folium.Map(location=[22.57, 88.36], tiles="openstreetmap", zoom_start=12)
kol

Creamos un mapa básico de Kolkata en Python.

63932screenshot_1-3333456

Se puede acercar y alejar y mover, compartiré el enlace del cuaderno en vivo de Kaggle al final del artículo. Tracemos ahora algunos lugares interesantes. En folium, trazar ubicaciones si conoce las coordenadas del mapa es muy fácil.

#add marker for a place

#victoria memorial
tooltip_1 = "This is Victoria Memorial"
tooltip_2 ="This is Eden Gardens"

folium.Marker(
    [22.54472, 88.34273], popup="Victoria Memorial", tooltip=tooltip_1).add_to(kol)

folium.Marker(
    [22.56487826917627, 88.34336378854425], popup="Eden Gardens", tooltip=tooltip_2).add_to(kol)

kol

Echemos un vistazo a la trama.

44779screenshot_2-5621174

Ahora, agreguemos un tipo diferente de marcador a nuestro mapa.

folium.Marker(
    location=[22.55790780507432, 88.35087264462007],
    popup="Indian Museum",
    icon=folium.Icon(color="red", icon="info-sign"),
).add_to(kol)

kol

Aquí están los resultados del código anterior. Para conocer los tipos de marcadores, puede consultar la documentación.

48219screenshot_3-4246575

Veamos ahora un tipo diferente de mapa, Stamen Toner.

kol2 = folium.Map(location=[22.55790780507432, 88.35087264462007], tiles="Stamen Toner", zoom_start=13)
kol2

Ahora, veamos la salida generada.

16087screenshot_4-7828890

Agregar marcadores al mapa sirve para etiquetar e identificar algo. Con el etiquetado, se puede marcar cualquier punto de interés en particular en el mapa.

Agreguemos ahora círculos a nuestro mapa.

#adding circle

folium.Circle(
    location=[22.585728381244373, 88.41462932675563],
    radius=1500,
    popup="Salt Lake",
    color="blue",
    fill=True,
).add_to(kol2)

folium.Circle(
    location=[22.56602918189088, 88.36508424354102],
    radius=2000,
    popup="Old Kolkata",
    color="red",
    fill=True,
).add_to(kol2)


kol2

Echemos un vistazo a la salida.

59992screenshot_5-6173143

El mapa se puede mover e interactuar. El uso de círculos se puede utilizar con fines de zonificación y marcado de zonas en el caso de datos de la vida real.

Trabajemos ahora en el mapa de la India.

# Create a map
india = folium.Map(location=[20.180862078886562, 78.77642751195584], tiles="openstreetmap", zoom_start=5)
india

Para, elegir cualquier lugar específico en el mapa, podemos cambiar las coordenadas y editar el parámetro zoom_start.

47739screenshot_6-1223772
#adding 3 locations, Mumbai, Delhi and Kolkata
loc= [(19.035698150834815, 72.84981409864244),(28.61271068361265, 77.22359851696532) ,
      (22.564213404457185, 88.35872006950966)]

Tomaremos tres ciudades de la India y trazaremos una línea entre ellas.

folium.PolyLine(locations = loc,
                line_opacity = 0.5).add_to(india)

india

Echemos un vistazo a la salida.

16882screenshot_7-4369238

De esta forma, podemos trazar algunos datos básicos basados ​​en coordenadas.

Ahora, trabajemos con un conjunto de datos de Kaggle, teniendo los centros de población de los estados de la India según los datos del censo de 2011. Sigamos adelante.

df_state=pd.read_csv("/kaggle/input/indian-census-data-with-geospatial-indexing/state wise centroids_2011.csv")
df_state.head()

Los datos se ven así:

36282screenshot_8-7811339

Los datos tienen 35 entradas, ahora grafiquemos los datos.

#creating a new map for India, for all states population centres to be plotted
# Create a map
india2 = folium.Map(location=[20.180862078886562, 78.77642751195584], tiles="openstreetmap", zoom_start=4.5)
#adding the markers

for i in range (0,35):
    state=df_state["State"][i]
    lat=df_state["Latitude"][i]
    long=df_state["Longitude"][i]
    folium.Marker(
    [lat, long], popup=state, tooltip=state).add_to(india2)

india2

Ahora, echemos un vistazo a la trama.

23686screenshot_9-6427366

Se genera la trama y la ubicación de cada uno de los marcadores es el centro de población del respectivo estado / UT.

Conclusión

Al utilizar mapas, podemos comprender y analizar los datos de manera más fácil y eficiente. Con Folium, obtenemos una manera fácil de trazar puntos en el mapa y darle sentido a nuestros datos.

Sobre mí

Hola, soy Prateek Majumder, soy un entusiasta de la ciencia de datos y el análisis. Puedes conectarte conmigo en:

Linkedin

Github

Kaggle

Código completo del ejercicio en Kaggle

Gracias.

Los medios que se muestran en este artículo no son propiedad de DataPeaker y se utilizan a discreción del autor.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.