Utilities for working with geodata with Fiona.
By default, the only prerequisite is Fiona itself.
By default, the package installs without shapely. A small number of functions, marked below, do require shapely. To use these function, install with
pip install fionautil[functionname] or just separately install shapely.
Tools for fetching the driver name, given a file suffix
- From suffix
- field_contains_test (test if a feature's properties has certain key:value pairs)
- togeojson (return a geojson-ready object)
- shapify (requires shapely)
- length (requires shapely)
- endpoints (for polyline features)
- startpoint (for polyline features)
- endpoint (for polyline features)
- azimuth (between the start and end of a polyline)
- roundgeometry - round all coordinates in a geometry to a given precision
Most of these tools mimic builtin python itertools.
- length Total length of linear features in a file's native projection or the given Proj object
- meta (returns a layer's meta attribute)
- meta_complete (returns the meta attribute with addional metadata, e.g. bounds)
- bounds (returns a layer's bounds)
- find (return a feature that matches a particular key=value)
- distance (between two coordinates)
- azimuth (between two coordinates)
- clockwise (shortcut for checking if signed_area is >= 0)
- counterclockwise (shortcut for checking if signed_area is < 0)
- azimuth_distance (returns both azimuth and distance between two points)
- intersect (check if two planar line segments intersect)
- onsegment (check if a point lines on a line segment)
- intersectingbounds (check if two bounding boxes intersect)
- geometry - round all coordinates in a geometry to a specified precision
Utilities for scaling a feature or geometry by a given constant. Goes faster with Numpy installed.
- scale - scales a list of coordinates
- feature - scale the geometry of a feature