Skip to content

PROJ 9.2.0

Compare
Choose a tag to compare
@kbevers kbevers released this 01 Mar 10:06
· 729 commits to master since this release

9.2.0 Release Notes

Updates

  • Database

    • EPSG updated to EPSG 10.082 (#3609)

    • ESRI objects updated to v3.1.0 (#3575)

    • Added Slovenian geoid model SLO-VRP2016/Koper (#3610)

  • Projections

    • Added generic Space Oblique Mercator (#3338)

    • Inverse eck4: Add checks for projection domain (#3625)

  • Transformations

    • Added support for NADCON5 grids and transformation method (#3510)

    • Added option ONLY_BEST=YES (#3535)

      When enabled only use the best possible transformation between two CRS's can be
      instantiated. If the best possible transfomations can't be instantiated it will
      fail instead of opting for the next best transformation.

      With ONLY_BEST=YES a transformation will fail if a needed grid is unavailable.

      The option can be toggled in proj.ini and with --only-best in cs2cs.

    • Implement 'Similarity transformation' (EPSG:9621) and import related
      tranformations from EPSG (#3578)

    • Optimise transformations between GDA94, GDA2020 and WGS84 (#3621)

  • Performance improvements

    • Pass PJ_COORD by reference for fwd4d and inv4d callbacks (#3503)

    • Improved of inverse meridian length calculations (#3516)

    • Avoid very poor performance on a geographic CRS whose datum name is the alias of an official one (#3624)

  • Well-Known Text improvements

    • Support WKT:2019 COORDINATEMETADATA[] construct (#2711)

    • implement alterCSLinearUnit for CompoundCRS (#3325)

    • Implement alterCSLinearUnit for BoundCRS (#3327)

    • Added PJ_TYPE_DERIVED_PROJECTED_CRS (#3488)

    • Added support for ISO19111 CoordinateMetadata class (#3562)

    • Update WKT import to support WKT2 corrigendum (#3573)

    • WKT import: Make axis direction and range meaning enumeration case
      insensitive as mandated by spec (#3577)

    • Implement AffineCS and handle it in WKT (#3579)

    • WKT1 parser: Support inf as inverse flattening value (#3626)

  • PROJJSON

    • Version number changed to 0.6

    • Added an additional optional source_crs property in abridged_transformation (#3454)

    • Added support for ISO19111 CoordinateMetadata class (#3562)

    • Implement AffineCS and handle it in PROJJSON (#3579)

  • C/C++ API

    • C API: add proj_get_domain_count(), proj_get_area_of_use_ex() and proj_get_scope_ex() (#3588)

    DEPRECATIONS

    The following functions have been deprecated and will be removed in a future version.

    • C API function proj_rtodms. Use proj_rtodms2 instead (#3431)

    • C experimental API function proj_create_conversion_tunisia_mapping_grid().
      Use proj_create_conversion_tunisia_mining_grid() instead (#3559)

    • C++ API function createTunisiaMapingGrid(). Use createTunisiaMiningGrid() instead (#3559)

    • Added explicit NaN handling to proj_trans and gie (#3603)

  • CMake

    • Added uninstall target (#3362)

    • Adopted use of TIFF:TIFF and CURL::libcurl targets (#3374)

  • Security improvements

    • Replaced uses of sprintf with the safer snprintf (#3421, #3431)
  • Various other improvements

  • Implemented platform independent mutex for better results on lesser used platforms (#3425)

  • Improved name and remarks in descriptions of some vertical transformations (#3334)

  • Implemented stricter matching by name to avoid false positives (#3487)

  • Improved numerical accuracy of the meridian length calculations and its inverse (#3516)

  • Added PROJ_IGNORE_CELESTIAL_BODY=YES environment variable that allows better matching of
    non-earth shaped ellipsoids to other celestial bodies (#3569)

Bug fixes

  • rtodms(): fix potential buffer overflow not dealt with (#3441)

  • NetworkFile::open(): fix memory leak in unlikely error code path (#3443)

  • When importing LOCAL_CS["foo"], generates a non-empty name for the datum (#3491)

  • Avoid unit mix-up in CRS::alterCSLinearUnit for DerivedProjectedCRS (#3499)

  • WKT to PROJ conversions: Map 'Lambert Azimuthal Equal Area (Spherical)' to +proj=laea +R_A (#3526)

  • ProjectedCRS::identify(): Relax trust in id/authority in definition to identify (#3532)

  • Fix instantion of http://www.opengis.net/def/crs/IAU/2015/xxx URNs (#3569)

  • Fix proj_normalize_for_visualization() on a transformation with FORCE_OVER=YES (#3570)

  • createBoundCRSToWGS84IfPossible(): Do not report +towgs84 for a CRS with multiple extents,
    such as EPSG:6316 (#3587)

  • pj_get_suggested_operation(): handle longitudes outside of [-180,180] for coordinate
    operation selection (#3595)

  • WKT1 parser: only emit warning when encountering invalid UNKNOWN WKT1 axis direction (#3618)

  • projinfo: fix long option name --source-crs (#3601)