Skip to content

Commit

Permalink
proj: Autospec creation for update from version 7.2.1 to version 9.2.1
Browse files Browse the repository at this point in the history
Alan D. Snow (8):
      BUG: Close database connection if autoclose set to True
      LOG: Default log level PJ_LOG_ERROR
      Added proj_get_celestial_body_list_from_database (#2674)
      DOC: Add instructions for building docs with docker image
      Add proj_trans_bounds to compute the image of a input bounding box through a transformation (#2882)
      TYPE: Update const declarations in proj_trans_bounds
      DOC: add available keys to proj_context_get_database_metadata
      DOC: Add warning in proj_as_proj_string about potential information loss with CRS

Alexander Nehrbass (5):
      Add vertical gird files for PL-geoid-2011, Polish geoid model
      Update metadata.sql to PROJ-data version 1.9
      Add Belgian geoid model hBG18 to grid alternatives
      Fix typos/formatting in tutorials
      Add Slovenian geoid model SLO-VRP2016/Koper

Andrew Annex (1):
      Adds Pseudo Mercator to build_db_from_iau.py

Anthony Roberts (1):
      Fix build issue for ARM64 when using MSVC

Bas Couwenberg (1):
      Fix spelling errors.

Ben Boeckel (2):
      cmake: remove unused configure checks (#2789)
      cmake: check the right variable for `libdl`

Bert Huijben (1):
      labrd: document in the tagline and documentation that lat_0 is required (#2997)

Biswapriyo Nath (1):
      cmake: Follow unix-like install directories in mingw

Brendan Ashworth (1):
      add startup + OSS to users docs

Brendan Jurd (14):
      Update "PROJ.4" to "PROJ" in the Contributing document.
      Fix order of instructions for installing from source. (#2797)
      Add support for Degree Sign on input (#2791)
      Update docs About page to pull in license text from COPYING.
      Use `literalinclude` for COPYING in About page.
      DOC: Add content for Development/Error handling page.
      DOC: Refresh Development/Quickstart and remove Development/Threads (#2863)
      DOCS: Add doxygen entry for proj_context_set_search_paths.
      DOCS: Remove LATEX_SOURCE_CODE setting from Doxyfile.
      Docs: Add new Ellipsoids page to explain ellipsoidal parameters (#2922)
      Set more precise error code for parsing errors in proj_create().
      unitconvert: round to nearest date when converting to yyyymmdd.
      DOCS: add missing functions from filemanager.cpp
      Rename variable per PR feedback on #3111.

Charles Karney (28):
      Update Mercator projection
      Try to fix compiler complaints for max and constexpr sqrt
      Address comments by @schwehr
      phi2.cpp: remove unused static consts + minor code tweak
      lcc.cpp: fix abs -> fabs
      phi2.cpp: Slight cosmetic changes to sinpsi2tanphi.
      Use sincos optimization in merc_e_forward.  Revised timing data...
      Fix/add some comments.
      Use nm units in builtins.gie.  Remove backward looking comments in code.
      merc.cpp + phi2.cpp: Avoid declaring multiple variables in 1 statement.
      Sync w GeographicLib 1.51.  Remove C99 compatibility functions. (#2445)
      Update geodesic routines from GeographicLib 1.52
      Work around inaccurate hypot for Visual Studio 2105 (32-bit)
      geodesic.c: fix conditions under which hypot workaround is applied.
      Minor changes to address lint in geodesic.c (courtesy of Marc Emery <[email protected]>)
      Testing version 2.0 of geodesic routines
      Fix CI errors.
      geodesic.c: remove unused typedef
      Sync with source
      Clean up cmake for src/tests
      Improved series for the meridian length and its inverse
      Fix silly documentation issue (quoted value of pi/2 triggers error)
      Implement the ellipsoidal gnomonic projection
      Squelch complaint about uninitialized variables in gnom.cpp.
      Various improvements suggested by @rouault.
      In mlfn.cpp, invoke pj_enfn with P->n to avoid recomputating n
      Invoke geod_init with already computed P->f.
      Synchronize with 2.1 for geographiclib-c for geodesic support

Daniel Evans (1):
      Remove git stash holdover in news.rst

David Hoese (1):
      Add explicit NaN handling to proj_trans and gie (#3603) (fixes #3596)

Eli Rykoff (4):
      Increase MAX_ITER so Mollweide forward projection works near the poles. (#3082)
      DOC: Add missing lat_0 parameter to gnomonic documentation.
      Improve documentation plotting of interrupted projections. (#3144)
      Add Interrupted Mollweide (land and ocean view) projections (#3139)

Erixen Cruz (2):
      Use GNUInstallDirs for cmake install locations (#3150)
      Print deprecation warning for "find_package(PROJ4)" (#3165)

Ethan Koenig (1):
      Fix deallocation bug in `proj_info`

Even Rouault (793):
      proj_create_ellipsoidal_2D/3D_cs(): doc improvement
      Make sure that remarks is preserved when substituting (EPSG) grid name by PROJ one
      Fill remarks for PROJ-based operation mixing horizontal and vertical transformations
      Doxygen: improve doc of functions related to Datum/DatumEnsemble
      When reading from database, possibly return Geographic/GeodeticCRS with a DatumEnsemble, typically for WGS 84 and ETRS89 ('breaking change')
      When reading from database, possibly return VerticalCRS with a DatumEnsemble
      projinfo / createObjectsFromName(): support returning a datum ensemble
      proj.h: add PJ_CATEGORY_DATUM_ENSEMBLE for proj_create_from_database()
      docs/Makefile: restore custom 'html' target
      Code formatting
      createBoundCRSToWGS84IfPossible(): make it return same result with a CRS built from EPSG code or WKT1
      COPYING: update
      automake and cmake: install COPYING, NEWS and AUTHORS in /share/doc/proj
      cct.rst: fix indentation
      cct: allow @filename syntax
      Polar stereographic at pole: make it return (0,0)
      WKT2 parsing: several fixes related to map projection parameter units
      github actions: update to conda-incubator/setup-miniconda@v2 to be compatible with latest github action security fix constraints
      cs2cs, cct, proj and geod: fflush(stdout) after each line to emit each result as soon as it is produced
      Database: update to EPSG v10.007
      backport.yml: update to what QGIS uses
      Make GeographicCRS/GeodeticCRS::isEquivalentTo() work properly when comparing to a DerivedGeographicCRS/DerivedGeodeticCRS
      createOperation(): make it work properly when one of the CRS is a BoundCRS of a DerivedGeographicCRS (+proj=ob_tran +o_proj=lonlat +towgs84=....)
      WKT parsing: fix ingestion of WKT with a Geocentric CRS as the base of the projected CRS
      PROJJSON parsing: fix parsing of a Geodetic CRS with a DatumEnsemble, and fix parsing of a ProjectedCRS whose base is a Geocentric CRS
      projinfo.cpp: improve hint when to use --spatial-test intersects
      Database ESRI: map 2 grids in grid_alternatives
      Remove no longer used build_db_create_ignf.py script
      GeographicCRS::_isEquivalentTo(EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS): make it work when comparing easting,northing,up and northing,easting,up
      GitHub action: add a Mac build
      .travis.yml: remove mac job
      Add +proj=topocentric geocentric->topocentric conversion (fixes #500)
      GitHub action: add a mingw_w64 build
      .travis.yml: remove mingw job
      mutex.cpp: replace NULL by nullptr
      createOperation(): add a ballpark vertical transformation when dealing with GEOIDMODEL[]
      Add option to allow export of Geographic/Projected 3D CRS in WKT1_GDAL
      Github action: add a clang static analyzer job
      Travis-CI: remove CSA job
      travis/install.sh: make it robust to objdump on 20.04 and/or clang outputing symbols in different order
      Github action: add a clang linux build job
      Travis-CI: remove linux_clang job
      Fix mingw_w64 warning about pj_acquire_lock() prototype being missing
      PRIMEM WKT handling: fixes on import for 'sexagesimal DMS' or from WKT1:GDAL/ESRI when GEOGCS UNIT != Degree; morph to ESRI the PRIMEM name on export
      formatting fixes
      Github action: add a linux_gcc_32bit job
      Travis-CI: remove linux_gcc8 job
      crs.hpp: add cppcheck suppression for cppcheck 1.90 of ubuntu 20.04
      Add github action for cppcheck
      Move linux_gcc 4.8 job to github action, and on Travis-CI only keep the doc publishing
      testcct: create 'a' and 'b' from scratch
      createObjectsFromName(): in exact match, make looking for 'ETRS89 / UTM zone 32N' return only the exact match
      cs2cs: add --area and --bbox  options to restrict candidate coordinate operations (fixes #2423)
      proj_create_crs_to_crs_from_pj(): do not use PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION if area is specified
      Add github action for VS2019 x64 build
      appveyor.yml: disable VS2017 x64 build
      test/fuzzers: remove standard_fuzzer that used proj_api.h now removed
      WKT1 import: better deal with apps.epsg.org output w.r.t datum ensemble names
      createOperations(): get a '+proj=noop' instead of '+proj=affine +s33=-1' when attempting (non-sensical) EPSG:3855 to EPSG:4326
      Inverse tmerc spherical: fix wrong sign of latitude when lat_0 is used (fixes #2468)
      Spherical tmerc forward: do not restrict to [-90,90] longitude range
      pj_datum_set(): make code more obvious to humans and analyzers
      API cleanup: unexport number of internal symbols, and remove/replace a few unused ones
      test_io.cpp: formatting fix
      Database: add metadata with the version number of the database layout and check it in the code
      fix build
      Add build time option to make PROJ_LIB env var tested last (fixes #2399)
      cs2cs / proj_create_crs_to_crs_from_pj(): add a --authority switch to control where coordinate operations are looked for (fixes #2442)
      Database: fix building proj.db with SQLite built with -DSQLITE_DQS=0
      CI: test with a SQLite3 binary built with SQLITE_DQS=0 to avoid issue #2480
      Doc: fix return data type of proj_trans_array()
      test_operation.cpp: remove debug message
      funtions.rst: fix sphynx syntax
      .github/workflows/clang_static_analyzer/start.sh: add apt update
      conda.yml: restrict to main repository builds, otherwise fails to build in forks
      Split coordinateoperation.cpp in many files in iso19111/operation directory
      Split test_operation.cpp in two parts
      CMake: install data/*.json files (fixes #2485)
      createOperations(): fix inconsistent chaining exception when transforming from BoundCRS of projected CRS based on NTF Paris to BoundCRS of geog CRS NTF Paris. Fixes https://github.com/OSGeo/gdal/issues/3273
      Move proj_log_XXX() functions from internal.cpp to log.cpp
      Remove ancient no longer used implementation of pj_ell_set()
      Revise error codes to have a reduced set exposed in the public API.
      Doc: document error codes and proj_context_errno_string()
      tmerc exact: set errno to PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN when it returns invalid coordinate
      proj_trans_array(): make it transform all coordinates even when an error occurs
      proj_log_XXX functions(): add the short name of the operation as prefix in the error message
      Various operations: remove explicit short name prefixing in log messages now that it is automatically added
      Remove internal use of PJ_LOG_DEBUG_MINOR and PJ_LOG_DEBUG_MAJOR
      horner.cpp: remove uses of EINVAL and EDOM errno
      Remap ENOMEM from PROJ_ERR_INVALID_OP to PROJ_ERR_OTHER
      projinfo: add a --accuracy option to define the minimum accuracy
      proj_create_crs_to_crs_from_pj(): add ACCURACY and ALLOW_BALLPARK options
      Database: update to EPSG v10.008
      cs2cs: add --no-ballpark and --accuracy options
      Database: register AGQG_20191107.gsb grid. Related to https://github.com/OSGeo/PROJ-data/pull/53
      test_factory.cpp: add missing checks
      C API: add proj_crs_is_derived()
      createFromUserInput(): accept leading white space (fixes #2498)
      ellps_size(): do not log error if ellipsoid absent and not needed
      createOperations(): fix Compound to Geog3D/Projected3D CRS with non-metre ellipsoidal height
      workflow linux_gcc_32bit: fix Could not perform immediate configuration on 'libgcc-s1:i386'
      formatting fix
      createOperations(): fix bug involving geoidmodel and non-metre vertical unit
      createOperations(): remove involved logic that was done for GDA94 -> WGS84 (G1762)
      Database: update to EPSG v10.013
      test_operation: use correct variable name
      Allow a BoundCRS to use a PROJ string transformation
      operations_computation.rst: update 'Filtering and sorting of coordinate operations' section
      Fix handling of +proj=ob_tran +o_proj=longlat combined with +over (fixes #2510)
      Database: update to EPSG v10.014
      C API: avoid error messages to be emitted in PJ_LOG_NONE log level (fixes #2526)
      Formatting fix
      isEquivalentName(): fix for GDAL test failure
      Reformat code with clang-format-10 from ubuntu 20.04
      CI: disable FreeBSD / Cirrus builds
      createOperations(): fix incorrect height transformation between 3D promoted RGF93 and CH1903+ (fixes #2541)
      grids.cpp: use C99/C++11 uint16_t/uint32_t
      gie_self_tests: fix use of uninitialized memory (fixes #2557)
      Fix gcc 11 -Wnonnull warnings
      UnitOfMeasure: add a move assignment operator (CID 314811)
      BaseObject: add a move assignment operator (CID 314820)
      proj_info(): remove useless nullptr checking (CID 314807)
      cct: remove useless nullptr checking (CID 314822)
      cs2cs: catch exception on bad value for --accuracy (CID 314818)
      gie.cpp: use correct type in error message (CID 314813)
      projinfo: catch exception on bad value for --accuracy (CID 314810)
      initcache.cpp: add assertions for potential failed mem alloc (CID 314809, 314812)
      is2DPartOf3D(): catch potential exception (CID 314817)
      Check return value of curl_easy_setopt() (CID 314805)
      igh: check return value of setup_zone() (CID 314816)
      NTv2Grid: remove useless m_name member (redundant with one of base class)
      insertIntoHierarchy(): avoid confusing cppcheck about potential use of moved grid
      Travis ARM64: set NPROC=4 to avoid the autodetected 32 to blow out RAM
      dmstor_ctx(): avoid setting a variable that is not read
      pipeline: avoid CLang Static Analyzer 10.0 likely false positive about dereferencing a nullptr
      README.md: comment out Cirrus CI [ci skip]
      doc: typo fixes
      typo fixes
      s45b.pol: remove trailing backslashes that prevent it from being used
      Fix comment
      Code cleanup: remove conditional testing of SQLITE_OPEN_URI. It is present in sqlite >= 3.11
      Make proj_lp_dist() and proj_geod() work on a PJ* CRS object
      Database: fix NKG transformations
      fix_typos.sh: update while lists
      Doxyfile: remove obsolete COLS_IN_ALPHA_INDEX tag
      typo fix in comment
      mingw_w64/start.sh: switch to http due to osgeo SSL certificate expiration
      Add C/C++ API to get SQL statements to insert a CRS into database
      projinfo: add a '-o SQL --output-id AUTH:CODE' SQL output
      CRS::identify(): take into account allowed authority to identify hard-coded WGS84-based CRSs
      SQL output: add capability to restrict the authorities into which to look for intermediate objects
      SQL export: add publication_date and frame_reference_epoch to datums
      SQL export: add support for DatumEnsemble
      Add proj_context_get_database_structure() to dump structure of empty valid auxiliary DB
      projinfo: add a --dump-db-structure switch
      Add support for PROJ_AUX_DB environment variable to set the path to one or several auxiliary DBs
      Doc improvements regarding recomandation not to alter official registries and use auxiliary databases
      proj.h: add PROJ_COMPUTE_VERSION, PROJ_VERSION_NUMBER, PROJ_AT_LEAST_VERSION macros
      Fix proj_clone() to work on 'meta' coordinate operation PJ* objects that can be returned by proj_create_crs_to_crs()
      Doc: add a page to document macros
      Code formatting fix
      createFromCRSCodesWithIntermediates(): improve perf when no match
      Database: relax trigger check when inserting a conversion to accept any conversion method in the PROJ namespace
      SQL output: make it possible to export non-EPSG projection methods or methods and params lacking an explicit EPSG id
      Tests: add new error cases of SQL output
      CRS::promoteTo3D(): propagate the extent from the 2D CRS (fixes #2587)
      createOperations(): fix Compound to Geog3D CRS computations in the case... (fixes #2588)
      createOperations(): fix regression for the fix of #2588
      Build: simplify proj.db generation (#2605)
      Add mapping of ESRI Equal_Area projection method to EPSG (fixes #2610)
      Dockerfile osgeo/proj-docs: update to doxygen 1.9.1 (fixes OSGeo/gdal#3619)
      Doc: fix typo in man page of utilities, and reduce copy&paste
      Fix build on Solaris 11.4
      createOperation(): make sure no to discard deprecated operations...
      Database: update to EPSG 10.017
      Database: refine checks for 'Geog3D to Geog2D+XXX' transformations, and create less synthetic 'Geographic3D to GravityRelatedHeight' synthetic transformations
      Database: add extra check for 'Vertical Offset by Grid Interpolation' transformations
      Database: stronger checks on extent of grid_transformation regarding the extent of the source and target CRS
      Database: update to EPSG v10.018
      reproject_bbox(): reduce number of magic values
      cass: rewrite ellipsoidal formulas in a clearer way using EPSG guidance note names
      Generic inverse: fix when initial guess if super close to result
      cass: add +hyperbolic switch for variant used by EPSG:3139 'Vanua Levu 1915 / Vanua Levu Grid'
      Add mapping between EPSG method 'Hyperbolic Cassini-Soldner' and +proj=cass +hyperbolic
      Database: add a PROJ.VERSION metadata entry
      Database: add missing column type specifir for method_name in grid_transformation and other_transformation. No practical impact
      Database: decrease db size by using a INTEGER_OR_TEXT data type on codes
      createOperations(): make createBetweenGeodeticCRSWithDatumBasedIntermediates() reachable...
      Database: minor refresh of ignf.sql and import script with new locations of resources
      Database: do not create Helmert transformations in IGNF between CRS of different nature, and also adjust the method code/name to the nature of the CRS
      Database: more consistency checks on helmert_transformation and grid_transformation
      Database: nullify auth_name, code of usage table
      Database: more thorough consistency checks on extent of coordinate operations
      test: add datum shift related tests for transformations crossing antimeridian
      proj_trans(): add a more expressive log message
      projinfo: remove spurious -- in help message (master only)
      createFromUserInput(): add support for OGC URLs
      Add hard-coded definitions for OGC:AnsiDate/JulianDate/UnixTime
      createFromUserInput(): add support for (legacy) urn:opengis:crs:EPSG:0:XXXX syntax
      createFromUserInput(): add support for (legacy) urn:x-ogc:def:crs:EPSG:XXXX syntax
      Add UnitOfMeasure::FOOT and US_FOOT
      createFromUserInput(): add support for WMS AUTO: syntax
      Recognize OGC:84 as an alias of OGC:CRS84
      fix typo in comment
      CMake: for test/cli, generate the output files in /test/cli like autoconf builds
      Doc: remove mention of k_0 and lat_ts in aeqd projection. They are not used. Fixes #2638 and fixes #2639
      getCRSInfoList(): make result order deterministic (by increasing auth_name, code)
      createFromUserInput(): support URN:OGC:DEF:CRS:OGC:1.3:CRS84
      CRS::normalizeForVisualization(): propagate domains/extent of original CRS (fixes #2603)
      projinfo: add a --normalize-axis-order undocument switch
      Reformatting fix
      projinfo --list-crs --area: make it work when multiple areas matches the specified name
      Add proj_get_celestial_body_name() and make proj_get_crs_info_list_from_database() filter on and return celestial body name
      reformat_cpp.sh: run inside Docker image if clang-format is not at version 10
      utm: error out when value of +zone= is not an integer (fixes #2671)
      createOperations(): fix Geog to Geog when one is deprecated (fix master regression)
      createFromUserInput(): change name of CRS built from URN combined references to match the convention of EPSG projected CRS
      Revert "proj_create_crs_to_crs_from_pj(): do not use PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION if area is specified"
      ConcatenatedOperation::fixStepsDirection(): fix potential nullptr dereference
      Database: update to EPSG v10.019
      CI: add Coverity Scan weekly job
      coverity-scan.yml: do not build tests
      projinfo: catch potential exception (master only, CID 193527)
      getInsertStatementsFor(): replace while with if (master only, CID 320133)
      projinfo: increase file size limit of files opened with @filename to 1MB to be able to read file generated by ossfuzz
      pj_vlog(): fix buffer overflow in case of super lengthy error message
      test_o.cpp: add more sensical example for DerivedVerticalCRS built from urn: syntax
      Remove useless file data/sql/method_triggers.sql
      Remove uselss data/epsg-deprecated and update data/README
      Remove useless src/runmultistresstest.sh
      Move data/proj_outIGNF.dist-real to test/cli
      wkt1_parser/wkt2_parser: regenerate them with bison 3.5.1 to hopefully make Coverity Scan happier
      test_network.cpp: try to fix 'Please include winsock2.h before windows.h' warning with msys
      getInsertStatementsFor(): replace while with if (master only, CID 320133)
      test: test urn:ogc:def:ensemble: syntax
      Improvements related to DerivedVerticalCRS using Change Unit and Height/Depth reversal methods
      CI: msys2 build: build with -Werror (#2697)
      docs/Makefile: copy triangulation.schema.json (fixes #2699)
      Update nlohmann/json to latest 3.9.1 release
      CMake build: add a NLOHMANN_JSON_ORIGIN=auto/external/internal setting allowing to choose which nlohmann/json to use
      Fix ossfuzz builds [ci skip]
      nkg.gie: fix operation line. The repetition of operation worked previously by accident and wasn't necessary
      CMake build: run nkg.gie tests (dependent on CURL_ENABLED and RUN_NETWORK_DEPENDENT_TESTS settings)
      test/gie/Makefile.am: add nkg.gie
      Doc: update GDAL version
      Doc: fix URL
      Formatting fixes
      Fix export of transformation to PROJ string in a particular situation where CompoundCRS are involved (fixes #2720)
      Database: update to EPSG v10.022
      scripts/grid_checks.py: improve --not-in-grid-alternatives output
      grid_alternatives.sql: reference AGQG_20201120.gsb (cf OSGeo/PROJ-data#63)
      Database: map ESRI spain/peninsula and spain/baleares grids
      projsync: make it filter out files not intended for the current version
      HOWTO-RELEASE: mention updating PROJ_DATA.VERSION
      code formatting fix
      Database: add a ANALYZE step during proj.db creation
      projinfo: fix error message regarding --output-id
      DatabaseContext::getTransformationsForGridName(): make it work properly when different EPSG grid names map to the same PROJ grid name
      Database: decrease DB size by using WITHOUT ROWID tables
      build_db.py: add hack to minimize diff now that we use WITHOUT ROWID
      Database: update to EPSG v10.024
      ConcatenatedOperation::fixStepsDirection(): remove recently introdued hack specific to EPSG:9731 now that is is deprecated
      proj_create(): do not open proj.db if string is a PROJ string, even if proj_context_set_autoclose_database() has been set (fixes #2734)
      Cleanup: add proj/internal/mutex.hpp as compat layer for mingw32 for std::mutex
      test_c_api.cpp: avoid use of undefined .t component
      factory.cpp: preparation steps for global sqlite3* handle, but no functional change
      Database: use shared sqlite handle
      Make proj_context_set_autoclose_database() a no-op as it would defeat the purpose of the new database connection sharing
      Check that database connection sharing properly works
      proj_cleanup(): make sure it frees the database context of the default PJ_CONTEXT
      Run database layout checks only at first DB opening
      factory.cpp: lint: make memoryHandle_ a unique_ptr
      Database: update to EPSG v10.026
      BoundCRS::identify(): avoid incompatible transformation for WKT1 / TOWGS84 export (fixes OSGeo/gdal#3958)
      Fix build with -DPROJ_INTERNAL_CPP_NAMESPACE
      proj_trans/cs2cs: If two operations have the same accuracy, use the one that is contained within a larger one
      operations_computation.rst: add note about proj_create_crs_to_crs not necessarily using the operation that appears as first
      Database: update to EPSG v10.027
      test_factory.cpp: fix build, in particular on Alpine Edge (fixes #2759)
      createOperations(): make sure to associate an extent to the transform of a CRS with a GEOIDMODEL using a PROJ grid, so that it is later used instead of a ballpark operation (fixes #2768)
      Database: update to EPSG v10.028
      Logging: avoid some overhead when logging is not enabled (fixes #2770)
      ortho: remove useless and invalid log trace (CID 350886, 350887)
      Formatting fix [ci skip]
      createOperations(): fix SourceTargetCRSExtentUse::NONE mode
      Add pj_log_active() to determine if logging is active
      pj_fwd()/pj_inv(): performance improvements through passing by ref and less function calls
      GeoTIFF grid reading: perf improvements (fixes #2785)
      build_db.py: improve error reporting [ci skip]
      Conversion::createUTM(): avoid integer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36751
      Inverse laea ellipsoidal: return PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN when appropriates (fixes OSGeo/gdal#4224)
      formatting fix
      factory.cpp: fix latest clang -Wstring-concatenation (false positive) warning
      Implement promoteTo3D() / demoteTo2D() for DerivedGeographicCRS (fixes #2803)
      createOperations(): fix missing deg<-->rad conversion when transforming with a CRS that has a fallback-to-PROJ4-string behaviour and is a BoundCRS of a GeographicCRS (fixes #2804)
      WKT2 import/export: preserve PROJ.4 CRS extension string in REMARKS[] (when the WKT2 representation isn't lossless)
      test: more testing of Polar Stereographic variants
      BoundCRS: accept importing/exporting in WKT2 and PROJJSON the scope/area/extent/id attributes (fixes #2813)
      ConcatenatedOperation::fixStepsDirection(): fix bad chaining of steps when inverse map projection is involved in non-final step (fixes #2817)
      pipeline instanciation: fix potential O(n^2) performance. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37438
      PROJStringFormatter::toString(): fix potential O(n^2) performance. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37438
      WKT importer: detect ESRI WKT even when datum name doesn't start with D_ (fixes #2822)
      WKT importer: better detect ESRI WKT on projected CRS (fixes #2822)
      Pipeline instanciation: fix performance issues on huge (broken) strings which managed somehow to cause nested pipelines not caught due to some non-roundtripability in parsing/serializing. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37489
      Doc: projjson.rst: update to PROJJSON v0.3
      ESRI WKT: add support for import/export of (non interrupted) Goode Homolosine
      Database: update to EPSG v10.033
      io.cpp: silence Coverity false positive (CID 356032)
      io.cpp: remove always true test
      Workaround false positive in recent cppcheck
      PROJStringFormatter::toString(): add missing iterator increment (but luckily this omission didn't result in endless loop, just an extra iteration)
      Doc: mentions EPSG methods that corresponds to topocentric and ortho (fixes #2832)
      Add proj_create_conversion_pole_rotation_netcdf_cf_convention() to address netCDF datasets using a pole rotation method
      Merge pull request #2836 from OSGeo/rouault-patch-1
      formatting fix
      pj_obj_create(): avoid passing invalid ellipsoid parameters ot pj_calc_ellipsoid_params(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31964
      formatting fix
      pipeline.cpp: remove impossible condition
      GeodeticCRS::identify(): make it more obvious for cppcheck
      createFromUserInput(): make it more obvious for cppcheck and humans too
      Conversion::createAxisOrderReversal(): workaround cppcheck false positive
      Workaround 'Overlapping read/write of union is undefined behavior' cppcheck warning (but really fixing them would be more involved)
      healpix.cpp: make it more obvious to cppcheck that capmap.cn is always initialized
      getInsertStatementsFor(): re-order projection parameters according to their canonical order if needed
      Fix database access across fork() when SQLite3 doesn't use pread[64]() (fixes #2843)
      pj_obj_create(): avoid passing invalid ellipsoid parameters to geod_init(). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38192
      Support importing/exporting WKT & PROJJSON of 2D axis spherical planetocentric geodetic CRS
      createOperations(): deal with spherical planetocentric geodetic CRS
      createConversion(): avoid nullptr dereference on a method without parameters
      createOperations(): use an explicit conversion operation for geodetic <--> geocentric latitude
      PROJJSON: support additional properties allowed in id object (version, authority_citation, uri) for parity with WKT2:2019
      isEquivalentTo(): improve comparison of datum names based on official name and aliases (preparation for EPSG v10.035 update)
      test/cli/testvarious: make one test more robust regarding EPSG updates
      Database: update to EPSG v10.035
      Fix error in implementation of Inverse ellipsoidal orthographic projection (oblique case) that cause convergence to sometimes fail (fixes #2844)
      Inverse ellipsoidal orthographic projection (oblique case): fix convergence at pole
      Inverse ortho ellipsoidal oblique: address a few remarks from https://github.com/OSGeo/PROJ/issues/2844#issuecomment-920138371
      Database: add a 'anchor' field to geodetic_datum and vertical_datum tables
      test: getInsertStatementsFor(): test datums with anchor
      Optimize pipelines of planetary CRS (geocentric latitude, west-positive longitude)
      networkfilemanager.cpp: fix compiler warnings on 32-bit systems where time_t is 32-bit
      Conversion::inverse(): avoid harmless division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39033
      Update proj_symbol_rename.h
      proj_normalize_for_visualization(): set input and output units when there are several alternative transformations (fixes #2866)
      Database: update to EPSG v10.036
      Database: add some hand made entries early
      Database reading: implement reading a GeodeticCRS with a Spherical CS
      AuthorityFactory::createGeodeticCRS(): use description column for remarks
      Database: add check for Orthographic conversion
      Database: add IAU_2015 CRS
      Add a mapping for versioned authorities, so that one can use IAU:xxxx or IAU_2015:xxxx transparently
      PROJStringFormatter: add optimizations useful for IAU CRS transformation pipelines
      test: add tests of operations between geographic/geodetic and projected IAU CRS
      projinfo --list-crs / proj_get_crs_info_list_from_database(): make it work with IAU generic authority name
      CRS::extractGeodeticCRS(): implement for DerivedProjectedCRS (related to refs OSGeo/gdal#3927)
      CRS::identify(): fix ignoring CS order when identifying a geodetic CRS by a PROJ string with just the ellipsoid
      proj_factors(): accept P to be a projected CRS (fixes #2854)
      test_c_api.cpp: reformat
      proj_create_crs_to_crs() + proj_trans(): fix when non-Greenwich prime meridian is involved
      ProjectedCRS::_isEquivalentTo(): ignore base CRS axis order even in EQUIVALENT mode if one of them is lacking an explicit CS order (refs #2886)
      CRS::_isEquivalentTo(): be tolerant to different order of PROJ step options (fixes #2886)
      cmake build: install proj_symbol_rename.h
      scripts/build_db.py: fix due to recent changes
      Database: update to EPSG v10.037
      WKT concatenated operation parsing: fix when a axis order reversal conversion is the first or last operation (fixes #2890)
      WKT1 parser: recognize Lambert_Conformal_Conic as projection name for LCC 1SP or 2SP (fixes #2892)
      CMake build: generate invproj/invgeod binaries (symlinks on Unix, copy otherwise) (fixes #2852)
      autoconf build: build invproj and invgeod in build directory
      geod / proj: accept lt-inv[geod/proj] name for older libtool versions
      test/cli/testproj: fix wrong variable name
      Add testing of invproj
      CMake: add a BUILD_APPS to be able to disable build of all programs
      ossfuzz builds: switch to cmake to build PROJ
      proj_crs_get_datum_forced(): catch potential exception (fixes CID 358433, 358434, 358435)
      CMake build: add generate_wkt1_parser and generate_wkt2_parser manual target, and logic to detect when they must be run
      Fix export to WKT1:ESRI of CRS, datum, ellipsoids name that don't have a EPSG equivalent and have parentheses in their name
      Geographic 3D CRS: allow to export to WKT1:ESRI if only the GEOGCS is known (and thus extrapolating a VERTCS) (fixes #2757)
      cmake/ProjTest.cmake: fix error in creation of tmp_user_writable_dir
      CMake: fix invproj/invgeod generation on Windows when building with an explicit configuration
      Fix previous commit
      createOperations(): avoid harmless floating-point division by zero if conversion factor of target unit is 0. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39969
      exportToPROJStringGeneric(): avoid harmless floating-point division by zero if conversion factor is 0. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40050
      Database: update to EPSG v10.038
      CMake: align the VERSION of the library with libtool practices
      CMake: revise how we deal with symbol export and static builds
      lib_proj.cmake: add a PROJ::proj alias and add BUILD_INTERFACE include directories, so that proj can be used as a subdirectory of a larger project (fixes #2905)
      cppcheck.sh: make it compatible with cppcheck 2.7
      util.hpp: reformat
      BoundCRS WKT import: fix setting of name
      Doc: news.rst: formatting fixes
      Database: update to EPSG v10.039
      Reformatting fixes
      PROJStringFormatter::toString(): avoid invalid iterator increment (fixes #2931)
      CI: add a MSVC Debug build (refs #2931)
      createOperations(): do not stop at the first operation in the PROJ namespace for vertical transformations
      createOperationsCompoundToCompound(): fix null pointer dereference when connection to proj.db doesn't exist. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40955
      Code reformat
      createOperationsGeogToGeog(): avoid potential harmless floating-point division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41045
      build_db_from_esri.py: fix pyflakes3 warning, and make it python 3.8 compatible
      Pipeline parsing: reject proj=/o_proj= before first step, to avoid bad performance pattern on hostile pipelines
      Cache result of proj_get_type() to help for performance of proj_factors() (fixes #2965)
      PROJ string parsing: fix unquoting of parameter values when the parameter name is just one single character
      PROJStringSyntaxParser(): make it use pj_trim_argc/argv to have similar tokenization/serialization in different code paths
      Database: update to EPSG v10.041
      createOperations(): improvement for "NAD83(CSRS) + CGVD28 height" to "NAD83(CSRS) + CGVD2013(CGG2013) height"
      CI Plot job: build PROJ from source (fixes #2961)
      CI: update Ubuntu 16.04 gcc 4.8 to default gcc 5.4
      CMake: fix warning with external googletest
      WKTParser::Private::buildProjectionStandard(): minor cleanup
      WKT1 import: correctly deal with missing rectified_grid_angle parameter
      docs/source/download.rst: fix release dates [ci skip]
      Fix build with Intel C++ compiler
      news.rst: add hints about usage changes in PROJ 8.2.0 for Windows users (fixes #2999)
      docs/docbuild/Dockerfile: bump doxygen version (due to 1.9.1 no longer be downloadable at that URL)
      Fix doc generation with Doxygen 1.9.3
      test proj_create_operations_with_pivot(): change CRSs used in preparation of EPSG 10.044 which adds a direct transformation between WGS84 and JGD2011
      Handle EPSG:1111 'Transverse Mercator (3D)' method (used in EPSG:10.044 by Projected 3D CRS EPSG:9895 'Luxembourg TM (3D)'
      Database: update to EPSG 10.044
      Implement Geographic3D to Depth/Geog2D+Depth as used by ETRS89 to CD Norway depth
      proj_get_crs_info_list_from_database(): report PJ_TYPE_GEODETIC_CRS for IAU_2015 -ocentric geodetic CRS (fixes #3012)
      peirce_q: rename +type parameter wrongly introduced in 8.2.1 to +shape (fixes #3011)
      Map peirce_q to pseudo WKT2 and ESRI WKT
      Database: update to EPSG 10.047
      peirce_q: add inversion of +shape=square and diamond through generic inversion method
      Minor cppcheck fixes
      Conversion::_exportToPROJString(): fix potential crash introduced in recent commit. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43546
      Dockerfile: build PROJ with cmake (refs #2688)
      Add .zenodo.json (#3019)
      filemanager.cpp: fix build issue with Cygwin
      networkfilemanager.cpp: fix build issue with Cygwin
      Add DOI to README.md and CITATION [ci skip]
      CITATION: add doi to BibTex entry
      lookForGridInfo(): make it work properly when passed the old PROJ name
      Database: update to EPSG 10.048
      Database: update to EPSG 10.051
      Use external gtest by default when detected
      Doc: clarify build requirements
      Doc: fix example whith used the +t_obs parameter of Helmert removed per #1264
      CMake: make BUILD_SHARED_LIBS=ON the default even on Windows
      filemanager.cpp: reformat [ci skip]
      createOperations(): fix transformations from/to a BoundCRS of a DerivedGeographicCRS coming from WKT
      Doc: ob_tran.rst: fix name of o_lon_1, o_lat_1, o_lon_2, o_lat_2 parameters
      proj.ini: add a 'ca_bundle_path' variable
      CMake: remove all Mac specific settings added per #2009, as they appear to be obsolete given current CMake versions (fixes #3029)
      Database: update to EPSG v10.054
      Better deal with importing strings like '+init=epsg:XXXX +over' (refs MapServer/MapServer#6478)
      Fix importing CRS definition with +proj=peirce_q and +shape different from square or diamond. Follow-up of #3014. Fixes #3056. master only
      ITRF2008: plate motion model: fix error on sign of z component of NOAM and x component of PCFC
      ITRF2008: add EURA_T, NOAM_T, etc. plate names that include translation rates (fixes #3053)
      Remove googletest source code remains
      Doc: mention Lambert c.e.a, Behrmann, and Gall-Peters projections as specializations of cea
      Doc: gall.rst: add note that Gall != Gall-Peters
      CMake: set RUN_NETWORK_DEPENDENT_TESTS to ON by default only if network seems available (fixes #3060)
      Database: insert entries in the alias_name for ESRI transformations that match a EPSG entry
      Fix nullptr dereference in utilities whan argv[0] == NULL
      proj_grid_info(): check pj_find_file() output (CID 383357)
      CTable2Grid::open(): add missing call to extent.computeInvRes() (CID 383359)
      UnitOfMeasure::operator=(UnitOfMeasure &&): avoid use of moved member (CID 383358)
      ProjectedCRS::_exportToWKT(): avoid false positive warning about nullptr deref (CID 383356)
      WKTParser::Private::buildProjectedCRS(): avoid potential nullptr deref (CID 383362)
      geog3DToVertTryThroughGeog2D(): avoid potential nullptr deref (CID 383355)
      Fix wrong results with SQLite 3.38.0 (fixes #3077)
      Fix issue when transforming from/to BoundCRS of 3D CRS with non-Greenwhich prime meridian, created from WKT (fixes OSGeo/gdal#5408)
      CMake: fix installation of proj.pc on Windows (fixes #3078)
      Fix import of WKT of concatenated operation with inverse conversion of a compound CRS of a projected CRS (fixes #3076)
      PROJBasedOperation PROJJSON export: issues an empty 'parameters' array if needed (refs #3076)
      Database: update to EPSG v10.055
      nkg.gie: update results due to https://github.com/OSGeo/PROJ-data/pull/79
      windows.yml: fix issue with sqlite3 binary and vcpkg
      createOperations(): fix issue in transformation northing,easting projected CRS -> +proj=longlat +lon_wrap (fixes #3095)
      Fix comparison of GeodeticRefrenceFrame vs DynamicGeodeticReferenceFrame
      Transformation: no longer do vertical trasnformation when doing compound CRS to 2D CRS / add --3d to cs2cs
      SingleCRS::baseIsEquivalentTo(): fix potential crash that is triggered by fdf5111a9a790926aacec75a07d30508a8ed9c91 changes
      createOperations(): fix transformation involving CompoundCRS, ToWGS84 and PROJ4_GRIDS
      Fix datum names when importing from PROJ4 crs strings (affects some transformations using geoidgrids)
      Database: update to EPSG v10.057
      Database: manually fix wrong extent of EPSG:2853 (notified to IOGP)
      WKT2 parser: add special case for slightly non-conformant WKT output of epsg.org regarding PARAMETER["EPSG code for Interpolation CRS",crs_code,ID[EPSG,1048]]
      Transformation::substitutePROJAlternativeGridNames(): propagate interpolation CRS
      WKT import: transform PARAMETER["EPSG code for Interpolation CRS",crs_code] into interpolation CRS, and transform from that back to the parameter in BoundCRS AbridgedTransformation WKT output
      createOperations(): fix CompoundCRS[BoundCRS[ProjectedCRS],BoundCRS[VerticalCRS]] to Geog3DCrs
      exportToPROJString(): optimize pipeline of previous commit
      createOperations(): fix ch1903lv03_3d_bound to EPSG:4326+3855 (refs #3152)
      createOperations(): fix ch1903lv03_ln02_bound to EPSG:4326+3855 (fixes #3152)
      Database: add OGC:CRS84h (WGS 84 longitude-latitude-height)
      ITRF2014: fix ITRF2014:ITRF88,ITRF94 and ITRF96 definitions
      createBoundCRSToWGS84IfPossible(): improve selection logic to generate +towgs84= taking into account extent
      Database: update to EPSG v10.059
      Formatting fixes
      Transformation::inverseAsTransformation(): avoid harmless division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=46393
      CI: fix doc_build job
      Add proj_trans_get_last_used_operation() (refs #3176)
      proj_coordoperation_get_grid_used(): make it work more reliably when networking is enabled (fixes #3176)
      Database: update to EPSG 10.063
      WKT import: deal with Projected CRS that is a mix of WKT1:GDAL / WKT1:ESRI (fixes #3186)
      PROJ string transformation output: improve pipeline of 'OSGB36 / British National Grid + ODN height' to 'WGS 84 + EGM96 height' (refs https://github.com/OSGeo/PROJ/issues/3191#issuecomment-1124223268)
      createOperations(): fix/improve result of 'BD72 + Ostend height ' to 'WGS84+EGM96 height' (fixes #3191)
      createOperations(): fix result of 'BD72 + Ostend height' to 'Amersfoort + NAP height' and similar situations where the vertical-to-vertical transformation is a concatenated operation of 2 operations sharing the same geographic CRS
      Doc: mentions that Winkel Tripel has inverse method (fixes #3179)
      Doc: enhance PROJJSON specification (#3190)
      Change hub CRS semantics when importing a WKT1 COMPD_CS with a EXTENSION PROJ4_GRIDS
      Change hub CRS semantics when importing from a PROJ.4 string with +geoidgrids, and modify order of horizontal and vertical steps
      Change hub CRS semantic with +geoidgrids, only if +geoid_crs=horizontal_crs is specified
      Add a +proj=vertoffset method for Vertical Offset And Slope transformation (refs #3194)
      Map EPSG:1046 operation method to PROJ +proj=vertoffset (fixes #3194)
      vertoffset: add description of parameters to PROJ_HEAD()
      Identifier::isEquivalentName(): fix when ending by ' + ' which could indirectly cause an infinite stack call in master (fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47475)
      projjson.rst: formatting fix
      docs/source/conf.py: update github_version
      Database: update to EPSG 10.064
      WKT export of transformation: do not put '(approx. inverse)' in inverse Helmert transformation name when it is a pure translation, as the approximate inverse is actually exact
      Fix warning with MSVC 2015
      WKT import: correctly deal with absence of Latitude_Of_Origin parameter in WKT1 ESRI with Stereographic projection (fixes #3210)
      PROJJSON spec: mention the intentional lack of axis order member
      docs/docbuild/Dockerfile: do not use sphinxcontrib-spelling 7.4.0
      Merge pull request #3213 from OSGeo/rouault-patch-1
      PROJJSON: add meridian member in Axis object type. Bump version to v0.5
      PROJJSON: Add temporal_extent and vertical_extent members in object usage
      PROJJSON parser: do not error out if a datum ensemble member is unknown in the database
      Doc: fix build issue with Sphinx 5.0
      typo fix in code comment
      createOperations(): fix infinite recursion in a complex case. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47873
      createOperations(): fix projected CRS with non-metre horiz&vertical unit and towgs84 to gencentric CRS (fixes #3229)
      IComparable::isEquivalentTo(): test first pointer equality
      SingleCRS::baseIsEquivalentTo(): avoid temporary object creation when comparing CRS with datum ensemble with Criterion::EQUIVALENT
      Doc: fix news.rst
      Resync schemas/v0.5/projjson.schema.json with data/projjson.schema.json
      CI: Cancel PR and branch workflows on new push
      travis/install.sh: make json validation work with older jsonschema
      WKT2 import/export: accept several GEOIDMODEL in a VerticalCRS
      PROJJSON import/export: add 'geoid_models' to allow several geoid models in a VerticalCRS
      PROJJSON schema: add PointMotionOperation and 'deformation_models' members to GeodeticCRS and VerticalCRS
      PROJJSON import/export: use 'deformation_models' member for GeodeticCRS/VerticalCRS
      Database: update to EPSG 10.065
      proj_grid_info(): make it work again with remote grids (refs #3238)
      NTv2 and GTX grid readers: add a cache of lines to speed-up (fixes #3240)
      Database: update to EPSG 10.066
      Database: add an alias for HT2_2010_CGG2013a.byn added per https://github.com/OSGeo/PROJ-data/pull/84
      Database: bump PROJ_DATA.VERSION to 1.11
      createOperations(): prefer simpler pipelines / affects WGS 84 to GDA94/GDA2020
      proj.pc/proj-config.cmake generation: deal with CMAKE_INSTALL_xxxx being possibly an absolute path (fixes #3206)
      Introduce PROJ_DATA environment variable to deprecate PROJ_LIB
      PROJ utilities: emit deprecation warning on stderr when PROJ_LIB is set
      Formatting fix
      WKT ESRI export: fix issue with some projected CRS, such as EPSG:3800, that have the same name as a deprecated one
      WKT ESRI import: support LINUNIT node inside GEOGCS which indicates a geographic 3D CRS
      WKT ESRI export: use LINUNIT node for geographic 3D CRS, unless WKTFormatter::setAllowLINUNITNode(false) or proj_as_wkt(..., options = ['ALLOW_LINUNIT_NODE=NO]) is specified
      Database: resync ESRI objects with https://github.com/Esri/projection-engine-db-doc/tree/v3.0.0
      Merge pull request #3259 from agiudiceandrea/patch-1
      createOperations(): avoid potential infinite recursions (fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49256)
      PROJ pipeline generator: recognize opposite Helmert transformations using a different convention
      Database: generate null transformation between geodetic/vertical datum ensemble and its members (fixes #3263)
      Database: update to EPSG 10.068 (fixes #3250)
      Move Transformation::exportToPROJString() to SingleOperation, so transformations can be used as deriving conversions
      WKT import: use 'EPSG code for Horizontal CRS' parameter to derive interpolation CRS
      WKT2 parser: allow unit-less PARAMETER for coordinate operations
      Database: update to EPSG v10.074
      WKT1 import: better deal when the angular unit of the GEOGCS[] of the PROJCS[] doesn't match the one from the database
      WKT parser: fix issue when parsing some WKT1 with Hotine_Oblique_Mercator_Azimuth_Center and ignoring rectified_grid_angle (fixes #3279)
      createOperations(): take into account axis unit and inversion of target DerivedProjectedCRS
      createOperations() / proj_trans(): better take into account area of interest name / do not only keep first returned coordinate operation
      Formatting fixes
      getCRSInfoList(): fix retrieval of projected_crs given by text_definition only (fixes #3288)
      projinfo: fix crash on --list-crs when proj.db cannot be opened
      common.hpp: address noExplicitConstructor warnings
      gie.cpp: remove unused structure member
      chamb: remove unused structure member
      isea: remove unused structure member
      struct pj_ctx: remove no longer used private member, and address warnings about members not copied in copy constructor
      putp6: avoid false positive warning with latest cppcheck
      JSON output: avoid rounding issues with integer values in a double on some architectures (fixes #3297)
      CMake: fix symbol detection when CFLAGS includes -Werror=something (fixes #3295)
      Database: update to EPSG v10.076
      GeoTIFF grids: support UNITTYPE=arc-seconds per year for temporal hgridshift
      Docs: update doc of grid-based methods to mention/advertize more GeoTIFF
      geodetictiffgrids.rst: add a Revisions section
      CMake: add a INSTALL_LEGACY_CMAKE_FILES option (fixes OSGeo/gdal#5646)
      cppcheck.sh: update to support v2.10
      Database: create a undeprecated copy of EPSG:9123 grid transformation 'NAD83(CSRS) to CGVD28 height (1)' (fixes #3328)
      Database: alias HT2_1997.byn to ca_nrc_HT2_2010v70.tif (refs #3328)
      createOperations: add missing +proj=push +v_1 +v_2 / +proj=pop +v_1 +v_2 in some vertical transformations (refs #3328)
      PROJ string pipeline optimizer: add optimization for EPSG:4326+5773 to EPSG:4326+5713 transformation (refs #3328)
      Tests: test EPSG:4326+5773 to EPSG:4326+5713 (refs #3328)
      createOperations(): tune name and remarks of some vertical transformations
      Build: link geodtest against libm when available (fixes #3311)
      WKT import: 3D-promote base CRS of 3D DerivedProjectedCRS (fixes #3340)
      proj_normalize_for_visualization(): take into account FORCE_OVER property from source operation (fixes #3347)
      Fix issue when transforming from/into a WKT2 Bound VerticalCRS with a 'Geographic3D to GravityRelatedHeight' method (fixes #3354)
      Doc: document +over limitations (fixes #3348)
      CI: add a CI-Fuzz github action workflows
      cct: emit meaningful error message when passing a non-coordinate operation (fixes #3358)
      proj_trans(): return error when a non-coordinate operation object is provided (fixes #3358)
      createOperations(): emulate PROJ < 6 behavior when doing geocentric <--> geographic transformation between datum with unknown transformation (fixes #3360)
      CMake: add a uninstall target
      Doc: document uninstall target
      findsOpsInRegistryWithIntermediate(): make it work when source/target geodetic CRS has no known id
      Avoid error on "projinfo -s 'NTF (Paris) + NGF IGN69 height' -t ETRS89"
      projinfo: when source (or target) CRS is specified by name, promote it to 3D if there's a known 3D CRS of same name and that the other CRS is 3D
      cs2cs: when source (or target) CRS is specified by name, promote it to 3D if there's a known 3D CRS of same name and that the other CRS is 3D
      Merge pull request #3368 from OSGeo/rouault-patch-1
      createFromUserInput(): make it work better when approximate name is provided
      Doc: add a page about users of PROJ
      Merge pull request #3376 from OSGeo/rouault-patch-1
      Doc: users.rst: link to bindings.rst
      Merge pull request #3380 from Jochem-L/patch-1
      CMake: use TIFF:TIFF and CURL::libcurl targets (refs #3316)
      Merge pull request #3383 from OSGeo/m-kuhn-patch-1
      users.rst: formatting fix
      Merge pull request #3385 from afrigeri/patch-1
      Doc: users.rst: fix
      Merge pull request #3388 from AndrewAtAvenza/patch-1
      defmodel.rst: add link to deformation_model.schema.json
      cs2cs: fix incorrect use of proj_cs_get_axis_count() introduced in 4abde1b9f8fdc5fce1d7a3179d5bcae6520ae396 (not in a release)
      data/sql: add a README.md and simplified UML diagrams
      cct and cs2cs: make them robust against UTF-8 BOM at beginning of input files (fixes #3287)
      Merge pull request #3393 from OSGeo/rouault-patch-1
      cifuzz.yml: tune
      VerticalCRS::_isEquivalentTo(): do not consider VerticalCRS and DerivedVerticalCRS as equivalent
      createOperations(): fix issues when transforming between Geog3D and DerivedGeog3D CRS with Geographic3D offsets method
      C++ API: add methods to build Geographic/Vertical Offset conversions
      eqdc: avoid floating point division by zero in non-nominal case. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52879
      Merge pull request #3416 from OSGeo/rouault-patch-2
      docs/docbuild/Dockerfile: update to Doxygen 1.9.5
      Doxyfile: remove warnings with Doxygen 1.9.5
      vandg projection: handle +over to extend the validity domain outside of |lon|>180deg
      cass: fix forward computation of easting (fixes #3432)
      pj_generic_inverse_2d(): make deltaXYTolerance a parameter
      cass: use iterative generic inversion to make GIGS 5108 roundtripping tests succeed
      Remove remaining sprintf() uses, and deprecate proj_rtodms() by newly added proj_rtodms2() (#3431)
      rtodms(): fix potential buffer overflow not dealt with with PR #3431 (master only)
      code formatting fixes
      Database: register at_bev_AT_GIS_GRID_2021_09_28 grid
      Fix issues reported by latest cppcheck master version
      NetworkFile::open(): fix memory leak in unlikely error code path
      Database: register in grid_alternatives grids from PROJ-data that have no corresponding transformation record (fixes #3444)
      DatabaseContext::lookForGridInfo(): fix caching of fullFilename (fixes #3444)
      DatabaseContext::lookForGridInfo(): fix setting .url member when a file is not in grid_alternatives, not local, but found on CDN (fixes #3444)
      cs2cs: better validate value of -W option (fixes #3451)
      PROJJSON: bump to 0.6 with an additional optional source_crs property in abridged_transformation (refs #3428)
      omerc: mention in doc that +lon_0 is ignored, align name of +lat_0 and +lonc with EPSG names, and emit a trace when +lon_0 is used (fixes #3464)
      Doc: update references to OGC Topic 2 spec to its r5 revision
      cs2cs.rst: add note regarding grids beeing needed (fixes #3470, #3471)
      Update proj_symbol_rename.h
      createFromUserInput(): make approximate matching by name more restrictive to avoid false positives (fixes #3484)
      Add bench_proj_trans benchmarking utility
      Database: update to EPSG 10.077
      WKT import: when importing LOCAL_CS["foo"], generates a non-empty name for the datum
      Merge pull request #3492 from OSGeo/rouault-patch-2
      formatting fixes
      GeographicBoundingBox::Private::intersects(): avoid infinite recursion on degenerate bounding box
      DatabaseContext::lookForGridInfo(): add PROJ networking state in cache information (fixes pyproj4/pyproj#1192)
      proj_trans(): fix performance regression
      Make pj_fwd4d() and pj_inv4d() pass arguments by reference, nd use them directly in pipeline_forward/inverse_4d()
      Pass PJ_COORD by reference for fwd4d and inv4d callbacks
      Improve a bit performance of +proj=axisswap +order=2,1
      Database: update to EPSG v10.078
      Add a +proj=gridshift (general grid shift) method to be used for NADCON5 grids
      GTiff grid reading: speed-up retrieving data in last accessed tile
      gridshift: add a +no_z_transform flag
      Add NADCON5 transformation method support and database entries
      metadata.sql: bump PROJ_DATA.VERSION to 1.13
      Database: add concatenated operations for NADCON5 transformations
      Add a GenericShiftGrid::valuesAt() method for faster value retrieval
      gridshift: use GenericShiftGrid::valuesAt()
      pj_get_suggested_operation(): make sure to use NADCON5 grids rather than HPGN ones for NAD83 to NAD83(HARN)
      bench_proj_trans: add options to add random noise
      gridshift: cache grid values when interpolating repeatedly in the same grid cell
      pj_get_suggested_operation(): tune so that NADCON5 grid is used for NAD27->NAD83 on CONUS
      schemas/v0.5/projjson.schema.json: fix wrong inheritance that cause validation issues when using a DynamicGeodeticReferenceFrame or DynamicVerticalReferenceFrame
      schemas/v0.6/projjson.schema.json: fix wrong inheritance that cause validation issues when using a DynamicGeodeticReferenceFrame or DynamicVerticalReferenceFrame
      Add validation of dynamic geographic and vertical CRS against projjson schema
      aeqd_s_forward(): cleanup code and improve performance in polar case
      WKT <--> PROJ: correctly map 'Lambert Azimuthal Equal Area (Spherical)' to '+proj=laea +R_A'
      Avoid cppcheck master warnings
      Add comments about why we assign in 2 steps
      cea/laea: do not export +R_A on a spherical ellipsoid (fixes recent master commit)
      set_ellipsoid(): avoid floating point division by zero with f=2
      ProjectedCRS::identify(): relax trust in id/authority in definition to identify
      Doc: make 'program' an alias of 'ref'
      Doc: add separate title for invproj and invgeod, otherwise links to invproj/invgeod would have the proj/geod labels
      Fix build with -DPROJ_INTERNAL_CPP_NAMESPACE
      install.rst: improve instructions regarding proj-data (fixes #3539)
      proj_create_crs_to_crs_from_pj(): add a ONLY_BEST=YES option (fixes #3533)
      proj_create_crs_to_crs(): emit a debug message if the best transformation cannot be used / cs2cs: add a --only-best=no switch
      proj_clone(): avoid emitting errors on tranformations where some are not instanciable
      Add link to PROJ doc when ONLY_BEST warning/error triggers, and correctly propagate errorIfBestTransformationNotAvailable to alternate operations
      Add PROJ_ONLY_BEST_DEFAULT environment variable, and 'only_best_default' proj.ini setting
      Check about consistent celestial body: relax tolerance for Mars use cases and add a PROJ_IGNORE_CELESTIAL_BODY=YES environment variable
      Update docs/source/apps/cs2cs.rst
      resource_files.rst: use literalinclude for proj.ini
      cs2cs: add example demonstrating --only-best usefulness
      Fix related to force_over
      best_only: move warning at the PJ* level
      proj.ini: do not set 'only_best_default' at all; and when set to on/off, disable related warnings
      formatting fix
      CI Conda: remove patches from upstream proj.4 feedstock as it is applied in PROJ master
      .github/workflows/conda.yml: partial revert of 6dbee23fa9c47d6abd0a7251fe70756fe997f878 to only do Conda builds on push, not pull request
      Add correctly named createTunisiaMiningGrid() / proj_create_conversion_tunisia_mining_grid() and deprecate the wrongly named methods (fixes #3543)
      CoordinateMetadata: add C++ class, WKT and PROJJSON support
      JSON/WKT import: test invalid CoordinateMetadata
      C API: add PJ_TYPE_COORDINATE_METADATA, proj_coordinate_metadata_get_epoch(), support if in proj_create() and proj_get_source_crs()
      createFromUserInput(): accept 'CRS_name@decimal_year' syntax to instanciate a CoordinateMetadata
      createOperations(): support one of source/target to be a CoordinateMetadata
      install.sh: validate PROJJSON CoordinateMetadata
      Add CRS::isDynamic()
      CoordinateMetadata: require epoch for dynamic CRS, forbid it for static CRS
      Typo fixes and other changes to make ./scripts/fix_typos.sh happy
      createFromUserInput(): make http://www.opengis.net/def/crs/IAU/2015/XXXX work (fixes #3568)
      Actually fix proj_normalize_for_visualization() on a transformation got with FORCE_OVER=YES (fixes #3567)
      proj_create_from_wkt(): make it work on COORDINATEMETADATA[]
      Database: update to EPSG 10.081
      Add support for DatumEpoch property in GeodeticReferenceFrame and VerticalReferenceFrame, in WKT and PROJJSON (refs #3571)
      Add support for minimumValue, maximumValue, rangeMeaning properties in CoordinateSystemAxis, in WKT and PROJJSON (refs #3571)
      Database: resync ESRI objects with https://github.com/Esri/projection-engine-db-doc at tag v3.1.0
      projjson.rst: remove mention about COORDINATEMETADATA not being implemented
      projjson.rst: remove mention of current version which is redundant with history paragraph
      test/unit/test_io.cpp: test importing invalid WKT/JSON with datum anchor, axisminval, axismaxval, rangemeaning
      WKT import: make axis direction and range meaning enumeration case insensitive as mandated by spec
      Implement EPSG:9621 'Similarity transformation' and import related transformations from EPSG
      typo fixes
      Implement AffineCS and handle it in WKT/PROJJSON
      createBoundCRSToWGS84IfPossible(): factor code. No functional change
      createBoundCRSToWGS84IfPossible(): do not report +towgs84 for a CRS with multiple extents, such as EPSG:6316 (refs #3246)
      C API: add proj_get_domain_count(), proj_get_area_of_use_ex() and proj_get_scope_ex()
      Add a .pre-commit-config.yaml pre-commit configuration file
      Doc: add a dev_practices.rst page
      Add .git-blame-ignore-revs
      test/benchmark/CMakeLists.txt: hopefully fix Conda Windows build failure related to 'warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc'
      README.md: remove appveyor badge [ci skip]
      Update to clang-format 15
      Add aa818d6772887453432ce607410b784ff56308a1 to .git-blame-ignore-revs
      Use explicitly clang-format-15
      pj_get_suggested_operation(): handle longitudes outside of [-180,180] for coordinate operation selection (fixes #3594)
      projinfo: fix long option name --source-crs (fixes #3600)
      Doc: Prevent double hypen (--) to be replaced by Unicode long dash character
      .readthedocs.yaml: do not do builds only if the only changes are in docs/ or .readthedocs.yaml
      proj_trans(): restore behaviour of PROJ 9.1 with transforming points in northern USA states from NAD27 to WGS 84 when no grid is available
      Database: update to EPSG 10.082
      proj_create_crs_to_crs(): restore behaviour of PROJ 9.1 (fixes #3613)
      WKT1 parser: only emit warning when encountering invalid UNKNOWN WKT1 axis direction (fixes #7210)
      proj_pj_info(): make it behave like before ONLY_BEST addition (fixes #3619)
      pj_get_suggested_operation(): tune for GDA94 <--> WGS84 and GDA2020 <--> WGS84
      pj_get_suggested_operation(): avoid string comparisons by precomputing a boolean
      createOperations(): avoid very poor performance / 'Too deep recursion in createOperations()' on a geographic CRS whose datum name is the alias of an official one (fixes #3623)
      createOperations(): improve datum equivalence checking by passing databaseContext argument (refs #3623)
      .github/workflows/mac/before_install.sh: add pkg-config
      eck4.cpp: improve code readability. No computation changes
      Inverse eck4: add checks for projection domain (fixes #2152)
      .github/workflows/mac/before_install.sh: add pkg-config
      Fix clang-tidy -checks=performance-inefficient-string-concatenation in library and apps codee
      WKT1 parser: support inf as inverse flattening value (fixes Toblerity/Fiona@1208)
      isea.cpp: add comment about inverse
      Merge pull request #3630 from rouault/NEWS_fix
      Merge pull request #3633 from rouault/fix_3632
      Merge pull request #3635 from rouault/fix_3629
      Merge pull request #3636 from rouault/nad83_3d_as_wkt1_esri
      testvarious: do not output program name / version number
      Merge pull request #3642 from rouault/fix_3639
      Merge pull request #3643 from rouault/epsg_10_083
      Merge pull request #3646 from rouault/epsg_10_084
      Merge pull request #3652 from rouault/fix_3651
      Merge pull request #3656 from rouault/fix_3654
      Merge pull request #3661 from roua…
  • Loading branch information
bwarden committed Jun 16, 2023
1 parent 592c8e3 commit b9d14f0
Show file tree
Hide file tree
Showing 12 changed files with 2,892 additions and 1,842 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PKG_NAME := proj
URL = https://download.osgeo.org/proj/proj-7.2.1.tar.gz
URL = https://github.com/OSGeo/PROJ/releases/download/9.2.1/proj-9.2.1.tar.gz
ARCHIVES =

include ../common/Makefile.common
Loading

0 comments on commit b9d14f0

Please sign in to comment.