Loved by learners at thousands of companies
A good proportion of the data out there in the real world is inherently spatial. From the population recorded in the national census, to every shop in your neighborhood, the majority of datasets have a location aspect that you can exploit to make the most of what they have to offer. This course will show you how to integrate spatial data into your Python Data Science workflow. You will learn how to interact with, manipulate and augment real-world data using their geographic dimension. You will learn to read tabular spatial data in the most common formats (e.g. GeoJSON, shapefile, geopackage) and visualize them in maps. You will then combine different sources using their location as the bridge that puts them in relation to each other. And, by the end of the course, you will be able to understand what makes geographic data unique, allowing you to transform and repurpose them in different contexts.
Introduction to geospatial vector dataFree
In this chapter, you will be introduced to the concepts of geospatial data, and more specifically of vector data. You will then learn how to represent such data in Python using the GeoPandas library, and the basics to read, explore and visualize such data. And you will exercise all this with some datasets about the city of Paris.Geospatial data50 xpRestaurants in Paris100 xpAdding a background map100 xpIntroduction to GeoPandas50 xpExplore the Paris districts (I)100 xpExplore the Paris districts (II)100 xpThe Paris restaurants as a GeoDataFrame100 xpExploring and visualizing spatial data50 xpVisualizing the population density100 xpUsing pandas functionality: groupby100 xpPlotting multiple layers100 xp
One of the key aspects of geospatial data is how they relate to each other in space. In this chapter, you will learn the different spatial relationships, and how to use them in Python to query the data or to perform spatial joins. Finally, you will also learn in more detail about choropleth visualizations.Shapely geometries and spatial relationships50 xpCreating a Point geometry100 xpShapely's spatial methods100 xpSpatial relationships with GeoPandas50 xpIn which district in the Eiffel Tower located?100 xpHow far is the closest restaurant?100 xpThe spatial join operation50 xpParis: spatial join of districts and bike stations100 xpMap of tree density by district (1)100 xpMap of tree density by district (2)100 xpChoropleths50 xpEqual interval choropleth100 xpQuantiles choropleth100 xpCompare classification algorithms100 xp
Projecting and transforming geometries
In this chapter, we will take a deeper look into how the coordinates of the geometries are expressed based on their Coordinate Reference System (CRS). You will learn the importance of those reference systems and how to handle it in practice with GeoPandas. Further, you will also learn how to create new geometries based on the spatial relationships, which will allow you to overlay spatial datasets. And you will further practice this all with Paris datasets!Coordinate Reference Systems50 xpGeographic vs projected coordinates100 xpWorking with coordinate systems in GeoPandas50 xpProjecting a GeoDataFrame100 xpProjecting a Point100 xpCalculating distance in a projected CRS100 xpProjecting to Web Mercator for using web tiles100 xpSpatial operations: creating new geometries50 xpExploring a Land Use dataset100 xpIntersection of two polygons100 xpIntersecting a GeoDataFrame with a Polygon100 xpOverlaying spatial datasets50 xpOverlay of two polygon layers100 xpInspecting the overlay result100 xp
Putting it all together - Artisanal mining sites case study
In this final chapter, we leave the Paris data behind us, and apply everything we have learnt up to now on a brand new dataset about artisanal mining sites in Eastern Congo. Further, you will still learn some new spatial operations, how to apply custom spatial operations, and you will get a sneak preview into raster data.Introduction to the dataset50 xpImport and explore the data100 xpConvert to common CRS and save to a file100 xpStyling a multi-layered plot100 xpAdditional spatial operations50 xpBuffer around a point100 xpMining sites within national parks100 xpApplying custom spatial operations50 xpFinding the name of the closest National Park100 xpApplying a custom operation to each geometry100 xpWorking with raster data50 xpImport and plot raster data100 xpExtract information from raster layer100 xpThe end50 xp
Joris Van den Bossche
Open Source Software Developer; Core Developer of Pandas, GeoPandas and scikit-learn
Joris is an open source python enthusiast and currently working as a freelance developer and teacher. Joris has an academic background in air quality research at Ghent University and VITO (Belgium), and recently, he worked at the Université Paris-Saclay Center for Data Science (at Inria), working both on data science projects as contributing to Pandas and scikit-learn. He regularly gives Python data analysis workshops and is a core contributor to Pandas and the maintainer of GeoPandas.
Senior Lecturer in Geographic Data Science
Dani Arribas-Bel is interested in computers, cities, and data. He is a senior lecturer in Geographic Data Science at the Department of Geography and Planning of the University of Liverpool. He holds honorary positions at the University of Chicago's Center for Spatial Data Science, the Center for Geospatial Sciences of the University of California Riverside, and the Smart Cities Chair of Universitat the Barcelona. Dani's research interests lie at the intersection of urban studies, computational methods and new forms of data. He is member of the development team of PySAL, the Python library for spatial analysis.