SE Radio 694: Jennings Anderson and Amy Rose on Overture Maps – Software Engineering Radio
Overture Maps is a collaborative project (backed by Amazon, Meta, Microsoft, and TomTom) that releases open map data. You're right that the data is free but massive - we're talking hundreds of gigabytes of Parquet files.
Accessing Overture Data
There are a few approaches:
1. Direct Download (the heavy approach)
Overture releases data as Parquet files on AWS S3 and Azure Blob Storage. You can query them directly with tools like DuckDB or Athena - which you're already familiar with from your S3/Parquet work.
sql
-- Example DuckDB query against Overture S3 SELECT * FROM read_parquet('s3://overturemaps-us-west-2/release/2024-*/theme=places/type=place/*') WHERE categories.primary = 'car_dealer' AND ST_DWithin(geometry, ST_Point(-73.9857, 40.7484), 0.05) LIMIT 100;
2. Overture Maps Explorer
They have a web-based explorer at explore.overturemaps.org for browsing the data visually, but it's not an API.
3. Third-party APIs
Let me search for what public APIs exist to query this data without downloading everything:
Overture Maps API public query service
1. Third-Party REST API: OvertureMapsAPI.com
ThatAPICompany has built a RESTful API designed for web developers to access Overture Maps data without needing to know Athena, BigQuery, or complex cost optimization strategies. Overturemapsapi
You can filter by lat/long, brand, country, and categories. Overturemapsapi Here's an example for car dealers:
bash
curl -H "x-api-key: DEMO-API-KEY" -X GET -G \
'https://api.overturemapsapi.com/places' \
-d 'lat=40.7128' \
-d 'lng=-74.0060' \
-d 'radius=5000' \
-d 'categories=car_dealer'
The DEMO-API-KEY is a hardcoded key for testing. For production, you'd need your own API key.
2. Google BigQuery (Free Tier)
Overture Maps data is available in BigQuery as a public dataset under bigquery-public-data.overture_maps. Overturemaps This is probably your best bet for free, flexible access:
sql
SELECT id, names.primary AS name, phones.list[0].element AS phone, addresses.list[0].element.freeform AS address, geometry FROM `bigquery-public-data.overture_maps.place` WHERE categories.primary = 'car_dealer' AND ST_DISTANCE( geometry, ST_GEOGPOINT(-74.0060, 40.7128) ) < 10000 -- within 10km LIMIT 50;
BigQuery's free tier gives you 1 TB of querying per month, which is plenty for location-based queries with good spatial filtering.
3. Self-Host the API
The OvertureMapsAPI is open source and you can deploy it to your own GCP account using BigQuery as your datasource. GCP gives you enough free credits with a new account to make thousands of requests.
The DEMO-API-KEY is a hardcoded key for testing. For production, you'd need your own API key.
2. Google BigQuery (Free Tier)
Overture Maps data is available in BigQuery as a public dataset under bigquery-public-data.overture_maps. Overturemaps This is probably your best bet for free, flexible access:
sql
SELECT id, names.primary AS name, phones.list[0].element AS phone, addresses.list[0].element.freeform AS address, geometry FROM `bigquery-public-data.overture_maps.place` WHERE categories.primary = 'car_dealer' AND ST_DISTANCE( geometry, ST_GEOGPOINT(-74.0060, 40.7128) ) < 10000 -- within 10km LIMIT 50;
BigQuery's free tier gives you 1 TB of querying per month, which is plenty for location-based queries with good spatial filtering.
3. Self-Host the API
The OvertureMapsAPI is open source and you can deploy it to your own GCP account using BigQuery as your datasource. GCP gives you enough free credits with a new account to make thousands of requests.
No comments:
Post a Comment