coalition.stakeholders.services =============================== .. py:module:: coalition.stakeholders.services Attributes ---------- .. autoapisummary:: coalition.stakeholders.services.logger Classes ------- .. autoapisummary:: coalition.stakeholders.services.GeocodingService Module Contents --------------- .. py:data:: logger .. py:class:: GeocodingService Service for geocoding addresses and assigning legislative districts .. py:attribute:: nominatim .. py:method:: geocode_address(street_address: str, city: str, state: str, zip_code: str) -> django.contrib.gis.geos.Point | None Geocode an address using PostGIS Tiger geocoder first, then fall back to Nominatim if needed .. py:method:: assign_legislative_districts(point: django.contrib.gis.geos.Point) -> dict[str, coalition.regions.models.Region | None] Find congressional and state legislative districts for a given point using spatial queries .. py:method:: geocode_and_assign_districts(stakeholder: coalition.stakeholders.models.Stakeholder, update_fields: bool = True) -> bool Geocode stakeholder address and assign legislative districts Assumes all stakeholders have complete addresses :returns: True if geocoding and district assignment succeeded, False otherwise