Autonomous Econ

Autonomous Econ

Home
Archive
About

Share this post

Autonomous Econ
Autonomous Econ
Seeing the Economy from Space

Seeing the Economy from Space

A Beginner’s Guide to Using Satellite Data for Economic Insight.

Martin Wong's avatar
Josep Ferrer's avatar
Martin Wong
and
Josep Ferrer
Jun 03, 2025
22

Share this post

Autonomous Econ
Autonomous Econ
Seeing the Economy from Space
2
Share
Cross-post from Autonomous Econ
Last week, I had the chance to write a guest post for Autonomous Econ on how to get started with geospatial data — and how to turn it into economic insight. You can read the full article here! -
Josep Ferrer
satellite view of earth's surface
Photo by NASA on Unsplash

Hi! I’m Josep Ferrer, the author behind DataBites, where I make data science and machine learning feel less intimidating through simple explanations, hands-on examples, and practical insights anyone can use.

Today, I’m teaming up with Martin to explore a fascinating topic: how satellite imagery can help us understand economic activity on Earth.

Ever wondered how economists track construction, agriculture, or energy use without setting foot on the ground?

Satellite data is the answer, but getting started often feels overwhelming.

Which tools should you use?

Do you need to learn GIS?

Is it all buried in complex software?

Good news: it's easier than you think!

In this beginner-friendly guide, I’ll walk you through the basics of geospatial data, what it is, which tools you can use, and how to get started.

As a bonus, I’ll share a simple Python snippet to help you visualize economic land use with OpenStreetMap data.

No need to install complex software or have any GIS experience, just a few lines of Python, and you're ready to explore the economy from above.

Let’s dive in 👇🏻


Autonomous Econ is a newsletter that empowers economists and data analysts with easy-to-follow Python tutorials that deliver big results.

Subscribe and join 3.9k+ others to work smarter through automation and become a savvier analyst.


What is Geospatial data?

Geospatial data refers to information that is tied to a specific location on the Earth’s surface. It encompasses not only geographic coordinates but also descriptive attributes (such as the type or condition of an object or event) and, often, a temporal dimension indicating when the data was recorded or observed.

This type of data can represent both static elements, like the position of roads, the epicenter of an earthquake, or areas with high child poverty, and dynamic phenomena such as vehicle movements, pedestrian flows, or the spread of diseases over time.

What Are the Different Types of Geospatial Data?

Geospatial data generally falls into two main categories: vector data and raster data. Each type has distinct characteristics and is suited for different kinds of geographic analysis and visualization.

Image by Author.

1. Vector Data

Vector data represents geographic features using points, lines, and polygons:

  • Points: Defined by a single coordinate pair (X, Y, and optionally Z for elevation). Used for features like landmarks or GPS locations.

  • Lines (or polylines): Formed by connecting two or more points, representing linear features like roads or rivers.

  • Polygons: Enclosed areas created by connecting multiple points, with the first and last points matching. Used for regions such as lakes, administrative boundaries, or land parcels.

Image by Author.

Each vector element has associated attribute data that provides descriptive information such as a road name or population density.

Vector data is typically compact and ideal for tasks requiring precise geometry. The choice between points, lines, or polygons often depends on the scale, purpose, and detail level required in the GIS application.

2. Raster Data

Raster data represents the world as a grid of pixels or cells, where each pixel has a value corresponding to a geographic attribute such as elevation, temperature, or land cover.

Image by Author.

Common examples include:

  • Satellite imagery

  • Aerial photographs

  • Digital elevation models (DEMs)

Each raster pixel is georeferenced, linking it to a specific location on Earth. While similar in structure to digital photos, raster data carries spatial metadata that enables geospatial analysis.

Raster datasets can be very large, and their resolution depends on pixel size: smaller cells provide finer detail but increase file size and processing demands.


Get access to my Python for Econ Starter Pack when you subscribe. It includes my top educational resources on how to use Python for dashboards, machine learning, web scraping, and generative AI.


What Is Satellite Data?

Satellite data refers to the information captured by Earth-observing satellites orbiting the planet. These satellites collect data in different formats and bands—such as visible light, infrared, and radar, providing a multi-layered view of what’s happening on the ground.

This data is typically categorized as:

  • Raster data – Grid-based images (like photographs or thermal maps)

  • Vector data – Points, lines, and polygons representing objects (e.g., roads, buildings, land parcels)

Thanks to open platforms like Copernicus (EU) and Landsat (NASA/USGS), much of this data is publicly accessible, ready to be turned into insights with just a bit of Python.

So the following natural question is… how do we locate any point within Earth’s surface?

And this leads us to…

Latitude, Longitude, and Coordinate Grid Systems

Understanding latitude and longitude is key to navigating the geographic coordinate system. So let’s try to understand both of them.

Latitude lines run horizontally (east–west) and are parallel to each other.

They measure how far north or south you are from the Equator. Its values range from -90° (South Pole) to +90° (North Pole), and these are your Y-coordinates.

Longitude lines run vertically (north–south) and converge at the poles.

They measure how far east or west you are from the Prime Meridian. Values range from -180° (west) to +180° (east). These are your X-coordinates.

Image from GISGeography.

Together, latitude and longitude form the geographic coordinate system, allowing us to pinpoint any location on Earth with an (X, Y) pair.

Find Any Location on Earth with Coordinates

Coordinates help us pinpoint exact locations on Earth using numbers. In a two-dimensional system, locations are represented by coordinate pairs (X, Y), where X is longitude and Y is latitude, both referenced to a horizontal datum.

When elevation is included, a triplet (X, Y, Z) adds the vertical component, with Z indicating height above a defined vertical datum.

The Coordinate Grid

Latitude and longitude form a global grid based on an ellipsoid, a smoothed 3D model of the Earth’s shape.

A datum tells us exactly how this ellipsoid is placed over the real Earth. It defines where the center is and how the coordinates match up with real locations.

The ellipsoid has two main measurements:

  • The major axis is the distance across the widest part of the Earth (at the equator).

  • The minor axis is the distance from top to bottom (pole to pole).

These measurements define the shape of the ellipsoid used in coordinate systems like WGS84 (World Geodetic System 1984), which is commonly used in GPS and satellite imagery.

Coordinates and Time Zones

Lines of longitude also serve as the basis for time zones, spaced roughly every 15°. Starting from the Prime Meridian (0° longitude), the world is divided into 24 standard time zones.

Image from GISGeography.

Common Formats for Sharing Geospatial Data

The geospatial industry typically uses three main formats: Shapefile, GeoJSON, and GeoPackage. Each comes with its strengths and trade-offs.

(1) Shapefile (ESRI)

A legacy vector format that stores geometry (points, lines, polygons) and attributes across multiple files (e.g., .shp, .shx, .dbf). While widely supported, it:

  • Lacks topology support and timestamps

  • Has a 2GB size limit per file

  • It is nearly 30 years old and outdated for many modern uses

Think of it like a folder of files acting together as a single map layer. Despite its age, it's still common due to broad software support.

(2) GeoJSON

A lightweight, web-friendly format based on JSON. Ideal for:

  • Interchange between GIS tools and web apps

  • Human-readable files that are easy to parse

  • Representing simple features like points, lines, and polygons

However, large GeoJSON files (>10 GB) may become unstable or corrupt. It's great for web integration but less efficient for heavy datasets.

(3) GeoPackage

A modern, all-in-one SQLite-based format developed by OGC1. It supports:

  • Both vector and raster data in a single .gpkg file

  • Spatial indexing for fast performance

  • No file size limits and multiple geometry layers

Compared to Shapefiles and GeoJSONs, GeoPackages are more compact, efficient, and scalable, making them the preferred format in many modern GIS workflows.


Consider upgrading to a paid subscription—it's great motivation for me to keep investing time and energy into these posts.

The core of my articles are free to read, but paid subscribers will occasionally get extra perks, including high value code templates.


Tools and Python Packages to Get Started with Geospatial Data

GIS Software

  • QGIS: A powerful open-source desktop application to create, visualize, and edit geospatial data. It’s widely used in the map-making and analysis industry and comes with extensive tutorials for beginners. You can check it out here.

  • ArcGIS: A commercial alternative by Esri, offering advanced GIS capabilities and enterprise integrations. You can check it out.

If you’re working with geospatial data in Python—whether vector (points, lines, polygons) or raster (grids, satellite imagery)—these libraries form the core toolkit:

Vector Data

  • GeoPandas – Combines the power of pandas and shapely for easy manipulation of geospatial vector data.

  • Shapely – Handles geometric operations like buffering, intersecting, or simplifying shapes.

  • Fiona – Reads and writes spatial vector files efficiently (like shapefiles and GeoJSON).

  • PyProj – Transforms coordinates between different geographic projections and CRS (Coordinate Reference Systems).

Raster & Remote Sensing

  • Rasterio – Makes reading and writing raster files (e.g., GeoTIFF) as easy as working with NumPy arrays.

  • GDAL/OGR – The backbone for geospatial file I/O and transformation (powerful but low-level).

  • RSGISLib – Great for more advanced remote sensing2 workflows and raster analysis.

Mapping & Visualization

  • ipyleaflet – Build interactive maps in Jupyter notebooks with minimal code.

  • geoplot – Statistical plotting on geographic data, built on top of matplotlib and seaborn.

Others Worth Knowing

  • NetworkX – Useful for modeling spatial networks like roads or pipelines.

  • pymap3d – For precise 3D geodetic transformations.

  • Arcpy – Esri’s ArcGIS automation library (requires a commercial license).

💡 Personal Tip: For most beginner-to-intermediate projects, starting with GeoPandas, shapely, and geoplot will cover 80% of your needs.

Why Satellite Data Is Useful for Economists

Economic activity leaves a visible trace—roads get built, cities expand, crops grow or fail. Satellite data lets you monitor these changes in near real-time, often before official statistics are published.

Examples:

  • Urban expansion → Indicates construction booms or housing demand

  • Vegetation loss → Can signal droughts, fires, or agricultural decline

  • Nighttime lights → Proxy for electricity usage and economic activity

These insights are especially powerful when combined with your traditional data toolbox.

5 Real-World Use Cases for Economists

Here’s how satellite data is already reshaping economic analysis:

  1. Construction Activity: Track the growth of urban areas, new housing developments, or industrial zones.

  2. Agricultural Monitoring: Use vegetation indices (like NDVI) to estimate crop health, yield forecasts, or drought impacts.

  3. Energy Consumption: Analyze changes in nighttime light intensity to approximate electricity usage and economic activity levels.

  4. Global Trade & Supply Chains: Monitor port traffic, cargo movement, and maritime congestion for insights into trade flow disruptions.

  5. Environmental Economics: Assess land degradation, deforestation rates, and the economic impact of climate-related changes.

A Hands-On Example: Mapping Economic Activity (with Python and OpenStreetMap)

Let’s put theory into practice.

Below is a simple example that shows how to extract street network data from OpenStreetMap using Python and visualize it, all without needing any GIS software.

We'll use the osmnx library, a powerful tool for accessing and analyzing street networks and geospatial data.

Step 1: Import the Required Libraries

import osmnx as ox
import matplotlib.pyplot as plt

We’re using:

  • osmnx to download and work with OpenStreetMap data.

  • matplotlib to plot the results.

Step 2: Define the Location You Want to Analyze

place_name = "Barcelona, Spain"

Just provide the name of a city, region, or country. OSMnx will handle the geocoding for you.

Step 3: Download the Street Network

G = ox.graph_from_place(place_name, network_type="drive")

This line fetches the drivable road network for the specified location.
You can also choose "walk", "bike", or "all" depending on what kind of infrastructure you want to study.

Step 4: Project the Graph for Accurate Analysis

G_proj = ox.project_graph(G)

This converts the geographic coordinates (lat/lon) into a local projection suitable for measuring distances and areas.

Step 5: Calculate Basic Street Network Statistics

# Get and project the area's geometry
place_geom = ox.geocode_to_gdf(place_name)
place_geom_proj = place_geom.to_crs(ox.settings.default_crs)
area_m2 = place_geom_proj.unary_union.area

# Get basic stats
stats = ox.basic_stats(G_proj, area=area_m2)

print(f"Total street length (km): {stats['edge_length_total']/1000:.2f}")
print(f"Intersection density (per km²): {stats['intersection_density_km']:.2f}")
# -> Output
Total street length (km): 1673.81
Intersection density (per km²): 754171177802.25

We calculate:

  • Total street length in kilometers

  • Intersection density, a proxy for urban complexity or walkability

These indicators can be used to compare cities or track how infrastructure evolves over time.

Step 6: Visualize the Street Network

ox.plot_graph(
    G_proj, 
    node_color='gray',
    node_alpha=0.4,  # Value between 0 (transparent) and 1 (opaque)
    edge_color='black',
    bgcolor='white'
)

This creates a clean black-and-white map of the road network for the specified city. The intensity of the grey corresponds to the number connecting streets at each intersection. You can export this as an image, use it in reports, or even generate styled visualizations.

Image obtained from the code.

Final Thoughts: From Pixels to Policy

Satellite and geospatial data offer a fresh lens for understanding the economy, not just in abstract numbers, but as physical change unfolding across space and time. Roads appear, lights glow brighter, crops turn green (or brown). All of these are signals that complement traditional economic metrics and help fill gaps where conventional data falls short.

In this guide, we've explored:

  • What geospatial and satellite data are

  • The difference between vector and raster formats

  • Coordinate systems and file types you’ll encounter

  • Key Python libraries for working with spatial data

  • And most importantly, a real-world example using OpenStreetMap and Python to extract, analyze, and visualize economic infrastructure in minutes

1

The OGC (Open Geospatial Consortium) is an international organization that develops open standards for geospatial content and services—like file formats, APIs, and protocols.

2

Remote sensing is the process of collecting information about the Earth's surface from a distance, typically using satellites or drones.

22

Share this post

Autonomous Econ
Autonomous Econ
Seeing the Economy from Space
2
Share
A guest post by
Josep Ferrer
Outstand using data -- Data Science, Design and Tech Tech Writer @KDnuggets @DataCamp 👉🏻Inquiries in rfeers@gmail.com
Subscribe to Josep

No posts

© 2025 Martin Wong
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share