Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: OSGeo/PROJ

PROJ 9.7.0

15 Sep 07:05

Choose a tag to compare

Updates

  • Implement 'exact' authalic latitude->geographic latitude and use it in +proj=aea/cea/laea/eqearth/healpix/rhealpix (#4441)

  • Implement uniform conversions between auxiliary latitudes (#4446)

  • WKT2 parser: recognize DEFININGTRANSFORMATION (but ignore it) (#4484)

  • Database: add values from alias_name table that were removed in older EPSG releases, to improve
    recognizing old WKT strings (#4490)

  • proj_trans_bounds(): sample points within the source grid to avoid missing extent such as world-wide
    coverage from EPSG:4326 to ESRI:54099 (Spilhaus) (#4513)

  • Enable -Wimplicit-fallthrough, -Wdeprecated-copy-dtor, -Wweak-vtables,
    -Wdocumentation-unknown-command when possible (#4516)

  • Geostationary projection: speed up inverse spherical and ellipsoidal computation (#4523)

  • WKT importer: better error message when BBOX is invalid (e.g south_lat > north_lat) (#4525)

  • Added proj_geod_direct for PJ trasformation object (#4532)

  • Support exporting Mercator (Spherical) on a sphere as Mercator_1SP in WKT1 (#4555)

  • Database: update to EPSG v12.022 (#4562)

Bug Fixes

  • proj_trans_bounds(): avoid erroring out, in some cases, when PJ* object is directly constructed
    from a PROJ pipeline (#4512)

  • Fix issue related to D_Unknown_based_on_WGS_84_ellipsoid datum name (#4515)

  • proj_trans_bounds(): fix 9.6.2 regression when going from long/lat crossing antimeridian to
    projected (#4526)

  • opt_parse: avoid potential heap-buffer-overflow when parsing non-ASCII characters (affect
    cct and gie) (#4530)

  • gie: fix memory leak on non existing input file (#4531)

  • Database: referene nl_nsgi_nllat2018.tif and nl_nsgi_bongeo2004.tif grids (#4534)

  • Fixes related to WKT import/export of DerivedGeodetic/GeographicCRS (#4536)

  • Fix tolower()/toupper() implementation to not lead to undefined behavior (#4539)

  • IAU2015 CRS: fix wrong code for coordinate system of North Polar and South Polar CRSs (#4545)

  • createOperations(): fix a case involving 2 CompoundCRS, one with TOWGS84, and the 2
    verticalCRS differing by units (#4552)

  • On SQLite query error, show first the error msg than the sql query (#4553)

  • Allow geodesic inverse for meridional points on prolate ellipsoid (#4560)

PROJ 9.6.2

06 Jun 12:19
7c3d4a1

Choose a tag to compare

Updates

  • Update EPSG to 12.013

Bug Fixes

  • Database: change ESRI deprecated records back to their deprecated state (#4519)

  • ProjectedCRS::identify(): more robust identification of old ESRI names using _IntlFeet (#4518)

  • Fix issue related to D_Unknown_based_on_WGS_84_ellipsoid datum name (#4514)

  • proj_trans_bounds(): sample points within the source grid to avoid missing extent such as world-wide coverage from EPSG:4326 to ESRI:54099 (Spilhaus) (#4513)

  • proj_trans_bounds(): avoid erroring out, in some cases, when PJ* object is directly constructed from a PROJ pipeline (#4512)

PROJ 9.6.1

02 Jun 14:05

Choose a tag to compare

Updates

  • Update EPSG to 12.012 (#4498)

  • Add an option to ship PDB files (#4505)

Bug Fixes

  • Deal with South Orientated TMerc presented as regular TMerc but with Scale_Factor=-1 (#4427)

  • Add missing 'limits' and 'algorithm' includes (#4444)

  • CMake: avoid detection of C23 #embed on too old compilers (#4463)

  • createOperations(): for NAD83(CSRS)[x] to NAD83(CSRS)[y], do not go through NAD83 (#4467)

  • Add missing include for uint32_t on Windows with gcc 15.1 (#4478)

  • getGeoidModels: use vertical_crs.datum_code to get vcrss that uses different units (#4480)

  • FileManager::open_resource_file(): honour known URLs from grid_alternatives that don't point to cdn.proj.org (#4481)

  • Database: update ESRI to ArcGIS Pro 3.5 (#4493)

  • createOperationsCompoundToGeog(): avoid bringing non-sensical transformations (#4494)

  • Bug correction in Wagner VI projection parameters (#4453)

  • C++: Fix bare isnan() to std::isnan() (#4472)

  • Database: fix duplicated entries with auxiliary database (#4482)

  • Use std::abs instead of abs for NetBSD (#4486)

  • Fix Windows build when both EMBED_RESOURCE_FILES and USE_ONLY_EMBEDDED_RESOURCE_FILES are set (#4508)

PROJ 9.6.0

15 Mar 08:40

Choose a tag to compare

Updates

  • projinfo: display whether an operation is time-dependent (#4255)

  • Add CMake options EMBED_RESOURCE_FILES and USE_ONLY_EMBEDDED_RESOURCE_FILES for proj.db and proj.ini embedding (#4265, #4274)

  • Database: ingest deprecated ESRI names to be able to better import old WKT ESRI (#4282)

  • proj_factors(): enhance speed when called repeatedly on same compound or projected CRS (#4289)

  • Add Airocean projection (formerly Dymaxion) (#4303)

  • createOperations(): Optimization by avoiding database lookups for CRS (typically PROJ strings) using unknown datums (#4320)

  • PROJJSON export: for a Projected CRS, add an explicit type=GeographicCRS/GeodeticCRS members to the base_crs member (#4331)

  • proj_trans_bounds(): make it work when target CRS is a CompoundCRS (#4333)

  • createOperations(): do Helmert transformation in 2D when one of source or target CRS is compound (#4337)

  • Map EPSG method 'Vertical Offset by Grid Interpolation (asc)' to +proj=vgridshift (#4344)

  • Add support for 'Coordinate Frame rotation full matrix (geocen)' and Coordinate Frame rotation full matrix (geog2D)' methods (#4348)

  • Add a CMake EMBED_RESOURCE_DIRECTORY option to embed .tif/.json files in to libproj (#4349, #4373)

  • Take into account new EPSG methods 'Cartesian Grid Offsets by TIN Interpolation (JSON)' and 'Vertical Offset by TIN Interpolation (JSON)' (#4353)

  • Added an option native_ca to proj.ini and an environment variable PROJ_NATIVE_CA to be able to configure curl to use the operating system CA store. (#4356)

  • Database: add an optional step_direction column to the concatenated_operation_step table (#4357)

  • Database: replicate EGM2008 grid transformation record to WGS 84 realizations (#4363)

  • Improve ETRFxxx to ETRFyyy, and WGS 84 (xxx) to WGS 84 (yyy) (#4364)

  • Build: Update to C++17 version (#4366, #4369)

  • Add bash completion script for projinfo (#4371)

  • Dispatch content of 4D_api.cpp into multiple .cpp files (#4393)

  • Add proj_trans_bounds_3D() (#4394)

  • Database: add a engineering_datum and engineering_crs tables; import few related EPSG records (#4396)

  • NKG transformations: Add support for EUREF-FIN in Finish transformations (#4399)

  • Add Spilhaus projection (#4401)

  • Export ESRI:54099 WGS_1984_Spilhaus_Ocean_Map_in_Square as PROJ string (#4402)

  • Database: update to EPSG v12.004 (#4413)

  • proj_download_file(): invalidate in-memory caches related to downloaded file (for the current context) (#4414)

Bug Fixes

  • createObjectsFromName(): be more tolerant about N/S vs North/South, absence of zone or height (#4318)

  • createFromPROJString: avoid repeated openings of proj.db and proj.ini and lookup of 'epsg' (#4334)

  • Debugging/internals: append sub-grid index to grid name when opening a multi-grid TIFF file (#4381)

  • createOperations(): use more appropriate operation when using a 'PROJ {grid_name}' geoid model, based on matching the vertical datum (#4379)

  • proj_clone(): properly propagate errorIfBestTransformationNotAvailable and other flags from source object (#4382)

  • Inverse +proj=cass: fix non-convergence on inputs where easting=false_easting or northing=false_northing (#4386)

  • Fix typo in parameter for ITRF97 in ITRF2014 file (#4408)

  • Retry on "SSL connection timeout" (#4419)

PROJ 9.5.1

01 Dec 11:58

Choose a tag to compare

Updates

  • Database: update to EPSG v11.022 (#4254, #4275, #4297, #4312)

  • Speed-up dramatically proj.db build time (#4280)

  • Database: ingest deprecated ESRI names to be able to better import old WKT ESRI (#4282)

Bug fixes

  • findsOpsInRegistryWithIntermediate(): Restrict to using known source/target CRS that have the same originating authority (#4252)

  • isTimeDependent(): Do not mark "static" Coordinate Frame helmert transformations as time-dependent, only time-dependent ones (#4259)

  • Fix clang-19 "warning: empty paragraph passed to '@throw' command [-Wdocumentation]" (#4263)

  • WKT importer: fix nullptr dereference on invalid VERTCS[] (#4266)

  • Fixed sql_filelist.cmake relative path issue (#4296)

  • Fail consistently on network error and grid transformations (#4302)

  • Fix -Wshadow warnings between parammappings.cpp and singleoperation.cpp with unity builds (#4304)

  • Removed leftover setting of CMAKE_REQUIRED_FLAGS (#4322)

  • WKT1 ESRI export: fix wrong mapping of Lambert Cylindrical Equal Area to Behrmann (#4328)

  • Numerous documentation fixes (#4248, #4267, #4291, #4293)

PROJ 9.5.0

15 Sep 12:22

Choose a tag to compare

PROJ 9.5.0 Release Notes

Updates

  • Database: add constraint for unicity of CRS and operation names (#4071)

  • Make a few more functions that accept a PJ* to actually acccept a const PJ* (#4074)

  • Database: Increase consistency in trigger checks (#4080)

  • Speed-up +proj=cart +inv (#4087)

  • Added EPSG:9656 "Cartesian Grid Offsets" operation method, and imported related records (#4094)

  • Add a WKTParser::grammarErrorList() method so that proj_create_from_wkt() can behave as documented (#4108)

  • CRS::stripVerticalComponent(): Redirect it to demoteTo2D(std::string(), nullptr) (#4127)

  • Add proj_context_set_user_writable_directory() to public API (#4144)

  • CMake: for Windows builds, defaults PROJ DLL to be just proj_${PROJ_MAJOR_VERSION}.dll (#4167)

  • Add toWGS84AutocorrectWrongValues() method and use it in PROJ.4 and WKT1 CRS import (#4172)

  • WKT import: add support for Oracle WKT "Albers_Conical_Equal_Area" spelling (#4181)

  • Limit number of C++ exceptions thrown & caught internally (#4183)

  • Database: update to EPSG 11.016 (#4241)

  • CMake: add option EMBED_PROJ_DATA_PATH (#4207)

  • Add SEA Inverse projection (#4211)

  • projinfo: Add 2 args equivalent to usage of -s and -t (#4218)

  • CMake: add TESTING_USE_NETWORK configure option (#4220)

  • Add PROJ_ERR_COORD_TRANSFM_MISSING_TIME and proj_coordoperation_requires_per_coordinate_input_time() (#4221)

  • Add new Conversion "Local Orthographic" (#4228, #4229)

  • Add data/ITRF2020 with ITRF2020 to ITRFother, and ITRF2020 plate motion models (#4235)

Bug Fixes

  • Fix imoll and imoll_o zone calculations to correct inverse transformations near the "seams" (#4159)

  • Fix wrong EPSG conversion code for UTM south (#4166)

  • BoundCRS::exportToPROJ(): handle case of NADCON conus grid (#4168)

  • +proj=gridshift: make projected grids work with PROJ_NETWORK=ON (#4174)

  • createOperations(): make it work when transforming from/to a CompoundCRS with a DerivedVerticalCRS with ellipsoidal height (#4176)

  • Support default context as nullptr in CoordinateTransformer (#4177)

  • cct: emit error message and return error code when not being able to open input file (#4200)

  • Fix race condition surrounding DB reopening during fork (#4231)

  • GeographicBoundingBox::create(): accept degenerate bounding box reduced to a point or a line (#4237)

  • createOperation(): tune so that ITRF2000->ETRS89 does not return only NKG grid based operations but also time-dependent Helmert (#4244)

PROJ 9.4.1

01 Jun 14:02

Choose a tag to compare

Updates

  • Database: update to EPSG v11.006 (#4086)

  • Database: update ESRI dataset to ArcGIS Pro 3.3 (#4143)

Bug fixes

  • DatabaseContext::lookForGridInfo(): do not trigger network activity in
    PROJ_GRID_AVAILABILITY_KNOWN_AVAILABLE mode when all grids are known (#4090)

  • Retry "Connection reset by peer" (#4107)

  • Use unique names for NKG transformations (#4111)

  • proj_create()/proj_create_from_database(): recall CRS AUTH:CODE in error message (#4114)

  • DerivedProjectedCRS: deal with lack of explicit CS in BASEPROJCRS in WKT (#4139)

  • proj_symbol_rename.h: update with current symbols (#4145)

  • Improve detection of compatible/incompatible celestial bodies (#4150)

PROJ 9.4.0

01 Mar 17:04

Choose a tag to compare

Updates

  • Add support for transformations involving coordinate epoch changes (PointMotionOperation), specifically for Canadian NAD83(CSRS)(#3884)
  • SSL_OPTIONS: set SSL options on Curl library (#3936)
  • Add support for unity builds (#3962)
  • Added ability to install *.tif if present in data (#3970)
  • createOperationsCompoundToGeog(): tune selection logic when --grid-check known_available is specified (#3990)
  • Increase CMake minimum version from 3.9 to 3.16 (#3997)
  • CMake: use FetchContent to get googletest-1.12.1 (#4006)
  • CMake: Replace custom FindSqlite3 with FindSQLite3 built-in (#4007)
  • tpeqd: use numerically stable formula for computing the central angle from (phi_1, lam_1) to (phi_2, lam_2) (#4009)
  • Move content of proj_experimental.h to proj.h (#4019)
  • Add +proj=mod_krovak projection method for Modified Krovak that applies to S-JTSK/05 in the Czech Republic (#4021)
  • PROJString formatter optimizer: simplify pipelines doing [Modified]Krovak (South West) <--> [Modified]Krovak (East North) by just doing an axis swap (#4034)
  • +proj=gridshift: enhance to support grids referenced in projected CRS, and with easting_offset/northing_offset corrections (#4038)
  • Tune concatenated operation instanciation, reference CR2005 geoid for Czechia and add (disabled by default) records for Czechia S-JTSK/05 based transformations (#4044)
  • Database: update to EPSG v11.004 (#4062)

Bug fixes

  • Fix missing symbols at link time for Windows target in Visual Studio (#3984)
  • Improve error message in axisswap (#3885
  • Avoid convergence errors in +proj=gridshift when using biquadratic interpolation (#3985)

PROJ 9.3.1

01 Dec 19:34

Choose a tag to compare

Updates

  • Update to EPSG 10.098 (#3968)
  • Update ESRI objects to v3.2.0 (#3944)

Bug fixes

  • ITRF2008: fix wrong sign for dry parameter of EURA and EURA_T (#3870)
  • Fix build error with MSVC 2019 in /std:c++20 on NN_NO_CHECK() (#3872)
  • ESRI WKT import: normalize GCS_unknown to unknown and D_unknown to unknown (#3874)
  • CoordinateOperationFactory: deal with CompoundToCompound with a horizontal similarity transformation and a ballpark vertical (#3881)
  • Ellipsoid::_isEquivalentTo(): fix so that an ellipsoid of semi-major axis A (and non-zero inv flattening) isn't equivalent to a sphere of radius A (#3882)
  • isEquivalentTo(): make a datum name 'unknown' equivalent to another one (#3883)
  • cs2cs: fix handling of input coordinates in grad (#3886)
  • Make setargv.obj available on Universal Windows Platform (#3891)
  • Allow opening proj.db with a URI (#3892)
  • createOperations(): fix GeogCRS 3D with TOWGS84 to geocentric CRS (#3915)
  • Fix test suite so that it can pass with ENABLE_TIFF=OFF (#3916)
  • GeographicBoundingBox::intersects(): avoid infinite recursion and stack overflow on invalid bounding boxes (#3919)
  • Fix importing '+proj=topocentric ... +type=crs' by using a geocentric CRS as the base CRS (#3924)
  • Allow LOCAL_CS with 3 axes (#3928)
  • WKT1 parser: in non-strict mode, accept missing UNIT[] in GEOGCS, GEOCCS, PROJCS and VERT_CS elements (#3933)
  • createOperations(): fix issue with a obscure case involving CompoundCRS of unknown horizontal datum + boundCRS of vertical (#3934)
  • createOperations(): fix bad PROJ pipeline when converting between with non-metre height to CompoundCRS (#3943)
  • createOperations(): Fix possible null dereference on invalid WKT input (#3946)
  • proj_factor: fix when input is a compound CRS of a projected CRS (#3950)
  • pj_get_suggested_operation(): tune it to give correct result for RGAF09 to RRAF 1991 / UTM zone 20N + Guadeloupe 1988 height transformation (#3954)
  • Move static NameSpace::GLOBAL definition in static.cpp to avoid 'static initialization fiasco' (#3956)
  • horner: allow arbitrary input type of coordinate (#3961)

PROJ 9.3.0

01 Sep 12:16
08f394e

Choose a tag to compare

9.3.0 Release Notes

Updates

  • Add C++ API to transform coordinate (#3705)
  • CMake: add PROJ_DB_CACHE_DIR (#3711)
  • Implement EPSG:1026 Mercator (Spherical) method (#3741)
  • CMake: remove useless cross-compiling related checks (#3747)
  • Add mapping of Equidistant Conic to new EPSG:1119 method (#3812)
  • Implement proposal001 from Planetary DWG from OGC (#3816)
  • Add option in proj CLI to use a CRS (#3825)
  • proj_factors(): make it work with projected CRS with non-metre unit and/or northing/easting axis order (#3826)
  • PROJ_DEBUG: make ON an alias of 2, and OFF of 1 (#3835)
  • Database: update to EPSG 10.094 (#3847)

Bug fixes

  • GeographicBoundingBox::intersection(): avoid infinite recursion and stack overflow on invalid bounding boxes (#3748)
  • Various fixes related to concatenated operations (#3820)
  • Projected CRS identification: fix crash when the base CRS is a non-geographic geodetic CRS (#3830)
  • Avoid C++ exceptions to be thrown (and caught) when parsing strings like +proj=longlat +datum=WGS84 +type=crs (#3834)
  • BUG: Handle prefix whitespace when guessing WKT dialiect (#3841)
  • proj_alter_id(): make it replace an existing ID instead of appending a new one (#3846)
  • bonne: fix inverse map projection computations when lat_1 < 0 (#3849)
  • WKT1 ESRI import/export: fix GCS name for EPSG:8353 S-JTSK_[JTSK03]_Krovak_East_North (#3851)