cbgeo - Geocoding Service¶
Local geocoding service using Nominatim with OpenStreetMap data.
Coverage¶
- Texas
- Kentucky
- Michigan
- Iowa
Purpose¶
Provides address-to-coordinates lookups for Campaign Brain applications:
- Populate lat/lng fields in person records
- Enable map functionality in cbmobile walkbooks
Quick Start¶
# Service runs on port 32217
# Swagger docs: http://localhost:32217/docs
# Test search
curl "http://localhost:32217/search?q=Austin,+Texas&limit=1"
# Test reverse geocode
curl "http://localhost:32217/reverse?lat=30.2747&lon=-97.7404"
API Endpoints¶
| Endpoint | Description |
|---|---|
/search |
Forward geocoding (address → coordinates) |
/reverse |
Reverse geocoding (coordinates → address) |
/lookup |
Lookup by OSM ID |
/status |
API health check |
/docs |
Swagger UI documentation |
/redoc |
ReDoc documentation |
Data Location¶
- OSM data:
/mnt/ursa/data/campaignbrain/cbgeo/osm-data/ - PostgreSQL data:
/mnt/ursa/data/campaignbrain/cbgeo/postgresql/ - Logs:
/mnt/ursa/data/campaignbrain/cbgeo/logs/ - Database size: ~29 GB
Systemd Service¶
Related¶
- cbapp Issue #83 - Add lat/lng to person table
- Nominatim Documentation
- Geofabrik Downloads