In v2, shapely is deprecating the ability to add attributes to a shape. This breaks a lot of things, because we store properties in a 'properties' dictionary as an attribute of the shape.
The better way to deal with this is geopandas and the GeoDataFrame, which is a pandas DataFrame that includes a "geometry" or other column that includes shapely objects.
The goal of this issue is to refactor the entire codebase to use GeoDataFrames instead of shapely objects with dictionaries.
all file_managers that currently return fiona objects should now return GeoDataFrames.
all fiona file reading can now happen using existing geopandas readers.
CRS is now a property of the dataframe, and the CRS should get set there.
All River objects will store a GeoDataFrame, and the node of the tree will refer to an index or the row itself? TBD
SplitHUC::polygons() will return a GeoDataFrame; properties of the HUC will be stored internally as a GeoDataFrame.
In v2, shapely is deprecating the ability to add attributes to a shape. This breaks a lot of things, because we store properties in a 'properties' dictionary as an attribute of the shape.
The better way to deal with this is geopandas and the GeoDataFrame, which is a pandas DataFrame that includes a "geometry" or other column that includes shapely objects.
The goal of this issue is to refactor the entire codebase to use GeoDataFrames instead of shapely objects with dictionaries.