Visualizing Geospatial Data in Python
Learn to map location data in Python with GeoPandas and folium, join points to neighborhoods, and build choropleths using Nashville open data.
Geospatial data is best understood by reading each record’s physical location against its geographical context. GeoPandas, working with pandas and Matplotlib, turns columns of latitude and longitude and city boundary files into layered maps. Spatial joins tie each point to the area that contains it, so counts and densities can be compared across a city. Open data from Nashville gives the practice a real setting, with chicken locations, public art, neighborhood outlines and building permits by council district.
What You Will Achieve
- Plot longitude and latitude records as a styled scatterplot layered over shapefile polygons
- Switch a GeoDataFrame to another coordinate reference system and spatially join points to the neighborhoods they fall in
- Measure a neighborhood’s area and centroid, then calculate how far nearby points sit away from that center
- Build area-normalized choropleths and folium street maps with markers and popups
Program Overview
Points, Polygons, and Two-Layer Maps
Starts with location points as scatterplots, then adds shapefile regions underneath to form a two-layer map.
- Scatterplots of longitude and latitude
- Styling point layers
- Shapefiles and their geometries
- Points drawn over polygons
GeoJSON, Projections, and Spatial Joins
Moves to GeoJSON neighborhood plots and colormaps, explains projections, and links point data to the polygons around it.
- GeoJSON and colormaps
- Projections and coordinate reference systems
- GeoDataFrames built on plain DataFrames
- Aggregating points within polygons
GeoSeries Measures, Folium Maps, and Choropleths
Uses GeoSeries attributes and methods for measurement, creates folium street maps, and closes with choropleths of building permit density.
- Area, centroid and distance calculations
- Folium street maps, markers and popups
- Choropleths in geopandas and folium
- Permit density by council district
Certificate Awarded (Paid)
Job Outlook
These mapping skills apply wherever analysts report on location data, such as city open data work, comparisons between neighborhoods or districts, and maps of permits or public assets.
Good for: Analysts who already work with tables in Python and want to place their records on maps and tie them to neighborhoods or districts.
Keep in mind: Every exercise runs on Nashville’s open data, so the methods are shown on one city’s shapefiles, GeoJSON files and coordinate systems.
Bottom line: Layered maps, spatial joins, GeoSeries measurements and choropleths in both geopandas and folium, all practiced on one city’s open data.
Frequently Asked Questions
Which Nashville datasets do the exercises use?
The exercises draw on the city's open data portal: chicken locations, public art, neighborhood boundaries, council districts and building permits, which feed the final permit density choropleth.
Which mapping libraries appear besides GeoPandas?
Matplotlib and pandas are used alongside it for plotting, and folium builds street maps with markers and popups. The choropleth chapter builds the same kind of map in both geopandas and folium.
How are coordinate reference systems handled?
The second chapter introduces projections and coordinate reference systems and has you change the system a GeoDataFrame uses. A later lesson returns to the topic when areas in square kilometers meet geometry stored in decimal degrees.
Which file formats does the course work with?
You read shapefiles for region polygons and GeoJSON for neighborhood outlines, and you also turn an ordinary DataFrame with longitude and latitude columns into a GeoDataFrame ready for plotting and joins.
User Reviews
Write your review
You must be logged in to post a review.
Reviews can only be posted by registered learners. Log in or create a free account, then you will return here to post.


There are no reviews yet.