How benjbaron/geonames works
This repository documents a GeoNames city-search product and includes a Jupyter data pipeline plus its generated CSV outputs. The main in-repository workflow filters GeoNames cities and postal-code records, matches them using loose coordinate precision, then assembles final feature attributes. The README also describes a browser search client hosted on another branch and an Algolia-backed suggestion service. Source excerpts were not provided, so relationships below rely only on README statements; the README excerpt does not establish how pipeline outputs reach Algolia.
Main entry points: GeoNames Cities Pipeline.ipynb Filter postal codes · postcodes.csv Postal-code patterns · output Country CSV outputs
Components 12
Data preparation
- GeoNames data
- Postal-code data
- Filter city features
GeoNames Cities Pipeline.ipynb - Filter postal codes
GeoNames Cities Pipeline.ipynb - Postal-code patterns
postcodes.csv
City matching
- Coordinate matching
GeoNames Cities Pipeline.ipynb - Aggregate matches
GeoNames Cities Pipeline.ipynb - Join feature attributes
GeoNames Cities Pipeline.ipynb - Country CSV outputs
output
Search service
- Search web client
- Algolia search
Other components
- Search user
Connections 10
- GeoNames data → Filter city features: filters cities
README.md - Postal-code data → Filter postal codes: filters records
README.md - Postal-code patterns → Filter postal codes: checks patterns
README.md - Filter city features → Coordinate matching: matches features
README.md - Filter postal codes → Coordinate matching: matches features
README.md - Coordinate matching → Aggregate matches: aggregates matches
README.md - Aggregate matches → Join feature attributes: joins attributes
README.md - Join feature attributes → Country CSV outputs: produces files
README.md - Search user → Search web client: enters search
README.md - Search web client → Algolia search: requests suggestions
README.md