-------------------
New Features
~~~~~~~~~~~~
- Add a new class called ``GeoBSpline`` that generates B-splines from a set of
coordinates. The ``spline`` attribute of this class has five attributes:
``x`` and ``y`` coordinates, ``phi`` and ``radius`` which are curvature and
radius of curvature, respectively, and ``distance`` which is the total distance
of each point along the B-spline from the starting points.
- Add a new class called ``Coordinates`` that validates a set of lon/lat coordinates.
It normalizes longitudes to the range [-180, 180) and has a ``points`` property
that is ``geopandas.GeoSeries`` with validated coordinates. It uses spatial indexing
to speed up the validation and should be able to handle large datasets efficiently.
- Make ``transform2tuple`` a public function.
Internal Changes
~~~~~~~~~~~~~~~~
- The ``geometry`` and ``geo_crs`` arguments of ``gtiff2xarray`` are now optional.
This is useful for cases when the input ``GeoTiff`` response is the results of
a bounding box query and there is no need for a geometry mask.
- Replace the missing values after adding geometry mask via ``xarray_geomask`` by the
``nodatavals`` attribute of the input ``xarray.DataArray`` or ``xarray.Dataset``.
Therefore, the data type of the input ``xarray.DataArray`` or ``xarray.Dataset``
is conserved.
- Expose ``connectivity`` argument of ``rasterio.features.shapes`` function in
``xarray2geodf`` function.
- Move all private functions to a new module to make the main module less cluttered.