Unit options
Notes for reviewer
This MR adds additional support for metric/imperial units to pfdf. Formerly, users could use CRS base units or optionally meters when returning/inputting values. This MR expands these options to include kilometers, feet, and miles, and makes space for additional units for future development. The MR also reorganizes some of the backend to facilitate future development, but this does not affect the functionality of the package.
Closes #89 (closed), #98 (closed), #140 (closed), #142 (closed), #143 (closed), #144 (closed), #145 (closed)
Unit Modules
_utils.units
and utils.units
are new and provide the functionality for unit conversion.
Low Level
projection._crs
: base_to_units
and units_to_base
convert between CRS units and user-specified units. They replace the former functions which could only convert between base units and meters.
_validate._misc.units
checks that user-specified units are supported.
Commands with units
Formerly, all of these functions included a base_unit
or meters
option to provide values in the non-default unit system. They have all been updated to use a units
option instead, which allows the user to specify the desired units.
projection.transform.Transform
: dx, dy, xres, yres, resolution, pixel_area, pixel_diagonal
projection.bbox.BoundingBox
: xdisp, ydisp, width, height, buffer, dx, dy
raster._raster.Raster
: dx, dy, resolution, pixel_area, pixel_diagonal, from_points, from_polygons, buffer
watershed
: network
segments._segments.Segments
: init, area, burned_area, developed_area, length