Skip to content

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

sudo systemctl status cbgeo
sudo systemctl restart cbgeo
journalctl -u cbgeo -f