CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 844
Releases: OSGeo/PROJ
PROJ 9.6.2
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)
Assets 6
PROJ 9.6.1
Compare
Updates
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()
tostd::isnan()
(#4472) -
Database: fix duplicated entries with auxiliary database (#4482)
-
Use
std::abs
instead ofabs
for NetBSD (#4486) -
Fix Windows build when both
EMBED_RESOURCE_FILES
andUSE_ONLY_EMBEDDED_RESOURCE_FILES
are set (#4508)
Assets 6
PROJ 9.6.0
Compare
Updates
-
projinfo
: display whether an operation is time-dependent (#4255) -
Add CMake options
EMBED_RESOURCE_FILES
andUSE_ONLY_EMBEDDED_RESOURCE_FILES
forproj.db
andproj.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
toproj.ini
and an environment variablePROJ_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)
-
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 propagateerrorIfBestTransformationNotAvailable
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)
Assets 6
PROJ 9.5.1
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 invalidVERTCS[]
(#4266) -
Fixed
sql_filelist.cmake
relative path issue (#4296) -
Fail consistently on network error and grid transformations (#4302)
-
Fix
-Wshadow
warnings betweenparammappings.cpp
andsingleoperation.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)
Assets 6
PROJ 9.5.0
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 aconst 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 thatproj_create_from_wkt()
can behave as documented (#4108) -
CRS::stripVerticalComponent()
: Redirect it todemoteTo2D(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
andproj_coordoperation_requires_per_coordinate_input_time()
(#4221) -
Add data/ITRF2020 with ITRF2020 to ITRFother, and ITRF2020 plate motion models (#4235)
Bug Fixes
-
Fix
imoll
andimoll_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 withPROJ_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
inCoordinateTransformer
(#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)
Assets 6
PROJ 9.4.1
Compare
Updates
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)
Assets 6
PROJ 9.4.0
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
Assets 6
PROJ 9.3.1
Compare
Updates
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
onNN_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)
Assets 6
PROJ 9.3.0
08f394e
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)
Assets 6
PROJ 9.2.1
Compare
9.2.1 Release Notes
Database updates
- Add alias for old ESRI datum/CRS names of EPSG:8353 S_JTSK_JTSK03_Krovak_East_North (#3678)
- Pseudo Mercator now supported with IAU CRS's (#3645)
- Updated to EPSG 10.088 (#3731)
Bug fixes
- Fixed build errors with Cygwin (#3642)
- PROJ string CRS parser: make sure that PROJ arguments of the rotated string are kept in the WKT representation (#3656)
- Fix slowness on
proj_trans()
when doing WGS 84 <--> NAD83 conversions (#3661) vgridshift/gridshift
: accepthydroid_height
as valid band description (#3675)- WKT/PROJJSON: import/export accuracy of ConcatenatedOperation (#3676)
- Coordinate operation factory: count identified concatenated operations as a single step (#3677)
- EngineeringCRS: make proj_create_engineering_crs() set a datum name and relax isEquivalentTo() comparisons (#3685)
- PROJJSON: fix import/export of integer parameter value, and deal with interpolation CRS parameters in conversions (#3695)
- CMake: avoid imbalanced cmake_policy push/pop if TIFF or CURL dependency cannot be found (#3697)
proj_create_crs_to_crs()
: restore transformation selection behaviour of PROJ 9.1 when grids are missing (#3707)- ESRI WKT: improve roundtrip of name and definition for UPS WGS84 CRS (#3720)
- CRS instanciation from PROJ.4 string: set 'Unknown based on XXXX ellipsoid' datum name when instanciating from known +a, +rf (#3727)
cs2cs
/proj_create_crs_to_crs()
: fix regression with geocentric CRS (#3729)proj_trans()
: setPROJ_ERR_COORD_TRANSFM_NO_OPERATION
error when failing inONLY_BEST=YES
mode (#3730)tinshift
: raise maximum size of JSON file to 100 MB (#3736)