Skip to main content


Foreign function interface to PROJ coordinate transformation software

Changes for 0.05 - 2023-12-01

  • Add new PJ_COORD struct member accessors. Instead of calling $c->xyz->x(), you can now simply call $c->xyz_x(), which is faster and more likely to remain stable with future updates. The old syntax is now discouraged, but there are currently no plans to remove it.
  • Deprecate creating PJ_COORD union member structs with new(). Unions are not well supported by FFI:😛latypus. For best forward compatibility, creating new PJ_COORD values should only be done by using proj_coords().
  • Internal change: The PJ_COORD implementation is now based on the vector union member. This means the fastest way to access coordinates is now via $c->v(...) instead of $c->xyzt->...