Skip to content

improve geocoding process flow and modularity #46

@kollerbud

Description

@kollerbud

current workflow to add new addresses format processor is a bit convoluted. Example, changes need to be made to process
"W BRAYTON ST & S STATE ST (0 E) & W 126 PL (120 W)", in order to geocode:

  1. location_format_processing.py: potentially new Regex pattern, then add new type to "LocationFormat", new function to break down to string to individual streets
  2. location_geocoding.py: update LocationGeocoder to accept the new LocationFormat type, then function to output (potentially) new Geometry
  3. geocoder_api/geocoder_local: also output Geometry shape

Idea:
consolidate responsibilities between scripts, consistent with data types in location_structures.py:

  • location_format_processing.py: only responsible to breakdown string formats to a list of individual streets/intersections:
    • [Intersection("W BRAYTON ST", "S STATE ST"), Street("120 W BRAYTON ST")] or [Intersection(""W BRAYTON ST & S STATE ST", Intersection(" S STATE ST & W 126 PL ")]
  • this list then send to geocoder_api/local.py to get list of coordinates,
  • coordinates then send to location_geocoding.py to output proper Geometry object

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions