Geospatial data shows a number of interesting features. Interactive visualization of geospatial data can provide a wealth of information about the data and area and much more functionality in the data. Python has so many packages to visualize geospatial data. My favourite is Folium. In this article, I’ll walk you through how to visualize geospatial data using Python.
I will use a Google Colab for this task. If you are using an IDE, you can install the Folium library using the command – pip install folium, in your terminal. If you are using colab then you can easily install this package with a command – !pip install folium in the cell itself.
Visualize Geospatial Data Using Python
Now, let’s import folium package and start with the task of visualizing geospatial data:
import folium folium.Map()
Here is the world map. As you can see, we can easily zoom in and zoom out, and also move around in the above map. You may want to visualize the map of a specific location like a country or a city.
The latitude and longitude of that specific location can be provided as a parameter to get the map of that particular location. Let’s visualize Florida in this map, as to explore much on geospatial data, I have data from Florida:
folium.Map(location = [27.664827, -81.516], zoom_start = 4)
Visualize Geospatial Data Using Dataset
Now, let’s use some data to visualize geospatial data. You can easily download the data that I will use in this task from here. Now let’s read the data using pandas package in Python:
import pandas as pd florida_incidents = pd.read_csv('Florida_Subsidence_Incident_Reports.csv')
The dataset is quite large. The X and Y columns in the data represent the latitudes and longitudes for different locations in Florida. I will visualize these locations by creating a group representing the characteristics.
florida_incidents = florida_incidents.iloc[0:100, :] florida = folium.Map(location= [27.665, -81.516], zoom_start = 7) incidents = folium.map.FeatureGroup() for lat, lng, in zip(florida_incidents.Y, florida_incidents.X): incidents.add_child( folium.CircleMarker( [lat, lng], radius=5, color='yellow', fill=True, fill_color='blue', fill_opacity=0.6)) florida.add_child(incidents)
To present these locations more beautifully, we can use markers:
latitudes = list(florida_incidents.Y) longitudes = list(florida_incidents.X) for lat, lng in zip(latitudes, longitudes): folium.Marker([lat, lng]).add_to(florida) florida.add_child(incidents)
As you can see, the above output represents a very nice presentation of geospatial data. These type of visualizations can be used in presentations and creating reports about the specific locations. You can play with the code my manipulating with the latitudes and longitudes and by using different datasets.
I hope you liked this article to visualize Geospatial data using Python and Folium. Feel free to ask your valuable questions in the comments section below. You can also follow me on Medium to learn every topic of Machine Learning.