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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions