cl-proj is a geospatial library that provides CFFI-based Common Lisp bindings for the Proj.4 geographic projections library.

Current version provides low-level bindings. Future versions might provide a higher-level wrapper around native functions and data structures.

In addition to Proj4 library bindings this package a number of utility functions, including:

  • Parsing degrees from a string and conversion between degree-minutes-seconds and decimal representations
  • Simplification of polygons/polylines (reducing number of vertices) using the Ramer–Douglas–Peucker algorithm
  • Projecting points from a geographic space onto a screen with the given dimensions and viewport
  • Construction of circular lines with the given radius and center (like missile ranges, etc.)

it also provides bindings to the set of geodesic calculations API from the recent Proj4 distributions.