Making use of OpenStreetMap data with Python
summary
Practical, concrete steps for using OpenStreetMap with Python including parsing quirks, storage and search choices. Covers node/way/relation geometry, streaming parsing to avoid memory blowups for a 240 GB unzipped planet.osm, reprojection with Shapely + proj4 to build Points and LineStrings, and simple dict-backed import strategies versus Osmosis/Imposm. Search uses trigrams, Soundex/double metaphone and edit distance with Solr/SQLite/PostGIS tradeoffs. Routing notes compare NetworkX prototypes, memory hits, and contraction hierarchies reimport ~2 days vs a 20 GB in‑house index.
AI-written summary · about
chapters (26)
- 0:00Introduction
- 1:06What is OpenStreetMap
- 2:53Why use OpenStreetMap
- 3:59OSM data formats
- 5:24Nodes ways relations
- 9:25Importing OSM data
- 11:14Projecting OSM data
- 13:02Parsing nodes
- 13:43Parsing ways
- 14:48Parsing relations
- 15:52OSM parsing tools
- 17:20Map rendering
- 19:26Maps with Mapnik
- 20:30Styling maps with XML and symbolizers
- 23:01Geocoding OSM data
- 26:40Fixing geocoding input
- 30:23Geocoding algorithms
- 34:22Grouping routing OSM
- 38:42Routing algorithms
- 41:15Advanced routing
- 42:16Q&A session part one
- 43:01Q&A session part two
- 45:19Q&A session part three
- 46:24Q&A session part four
- 47:54Q&A session part five
- 49:20Closing
related talks
01h 41mOpenStreetWhat? Mapping The World With Open Data
48mOpenStreetMap for the Web
22mUnderstanding our cities with FOSS4G
43mLocate all the things
13mReimagining Public Transport: An OSM-based Street Supply Tool
33mAdd geocoordinates to your addresses in PostgreSQL
45mThe OpenStreetMap Project = Data + Community
21mActual trees, not b-trees: or how I found PostgreSQL through PostGIS
