helpful utilities for working with geodata with Fiona
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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_file
  • 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)
  • compound


  • endpoints (for polyline features)
  • startpoint (for polyline features)
  • endpoint (for polyline features)
  • azimuth (between the start and end of a polyline)
  • disjointed
  • explodepoints
  • explodesegments
  • exploderings
  • countpoints
  • countsegments
  • roundgeometry - round all coordinates in a geometry to a given precision


Most of these tools mimic builtin python itertools.

  • ffilter
  • ffilterfalse
  • fmap
  • fchain
  • freduce
  • fslice
  • fzip
  • 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)
  • signed_area
  • 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
  • feature


Utilities for scaling a feature or geometry by a given constant. Goes faster with Numpy installed.

  • geometry
  • scale_rings
  • scale - scales a list of coordinates
  • feature - scale the geometry of a feature