I am trying to figure out how to dynamically create expanded regions of interest based on polygon geometries in geopandas until some threshold is satisfied (essentially custom regions across the contiguous US).
I have a geopandas dataframe with the following columns:
unitspaces_geodf[['unit_space_count', 'city', 'state_code', 'latitude', 'longitude', 'cbsa_code', 'geometry']]
geometry is the corresponding polygon for the
cbsa_code (generated from a shape file).
I can get a total count of
unit_space_count by grouping the dataframe on
Based on the
sum() value of
unit_space_count in each
cbsa_code (let's say a threshold of 100) I want to determine the next nearest
geometry and then combine the two geometries (and concatenate the
unit_space_count is above the threshold. This is essentially creating a new neighborhood/region. Then remove these two (or more)
cbsa_code entries from the pool of available entries to concatenate with.
So in the example above, the last line of the
groupby clause shows a
12660 and the total
For this record, I want to determine the nearest neighbor (using the
geometry column and hopefully an out-of-the-box geopandas or shapely method) to generate a new combined
cbsa-code (something like
12620 happened to be the nearest neighbor) and a new
unit_space_count of 1268 (1196 + 72).
I think I may need to first create a map of all the grouped values to see which regions should be joined with which, but after that I need help with determining how to do these calculations.