aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/coordinateoperation.cpp
AgeCommit message (Collapse)Author
2019-11-04Merge remote-tracking branch 'origin/master' into geoid_modelEven Rouault
2019-11-03createOperations(): in some circumstances we wrongly promoted a Helmert ↵Even Rouault
geog2D transformation to a geog3D Fixes for example EPSG:4979 to EPSG:2189, as raised in https://github.com/OSGeo/gdal/issues/1972#issuecomment-548814354
2019-11-02Merge pull request #1709 from rouault/improve_extent_filteringEven Rouault
Better filtering based on extent and performance improvements
2019-11-02Add a geoid_model name in database, use GEOIDMODEL for transformations, add ↵Even Rouault
a proj_create_vertical_crs_ex()
2019-11-02Add tracing framework, and improve createOperations() performanceEven Rouault
2019-10-31Merge pull request #1703 from ↵Even Rouault
rouault/improve_transformation_with_alternative_vertical_unit_and_direction Improve transformations with alternative vertical unit and direction
2019-10-30createOperations(): try to recover extent of CRS from the database when they ↵Even Rouault
are missing, especially for compound CRS. Helps having shorter/more relevant results
2019-10-30createOperations() filtering: code changes regarding extent handling. No ↵Even Rouault
functional changes
2019-10-30createFromWkt(): be tolerant to missing scale_factor parameter (fixes #1700)Even Rouault
This is invalid WKT, but GDAL 2.4 used to accept it and make a reasonable use of it... Currently we default it to 0 which is non sensical. Better use 1 as GDAL 2.4 did, and emit a warning. Other fix: proj_create_from_wkt() was documented to operate by default in non-strict validation mode, but it was actually in strict mode. So do as documented.
2019-10-30Rework importing of Vertical unit change from EPSG db, add support for ↵Even Rouault
Height Depth Reversal and use it in createOperations()
2019-10-29Vertical transformations: improve situations similar to transforming from ↵Even Rouault
'NAVD88 (ftUS)' to X, where we now consider the available transformations from 'NAVD88' to X that might exist in the database
2019-10-29createOperations(): split gigantic method into many smaller ones. No ↵Even Rouault
functional change expected
2019-10-29Little tweaks in implicit 2D/3D geog conversions in compoundCRS to geogCRS ↵Even Rouault
transformations
2019-10-28createOperations(): avoid infinite recursion in a super weird case. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18587
2019-10-27Database: add an auxiliary concatenated_operation_step table to allow ↵Even Rouault
arbitrary number of steps (fixes #1632) EPSG:9103 (NAD27 to ITRF2014 (1)) is now handled. Note:EPSG:9104 (NAD27 to ITRF2014 (2)) is not currently, since it uses for step EPSG:8861 (NAD83(HARN) to NAD83(FBN) (1)) an unsupported transformation method (NADCON5 (3D), EPSG:1075).
2019-10-12createOperations(): allow transforming from a compoundCRS of a bound ↵Even Rouault
verticalCRS to a 2D CRS
2019-10-02Add API and WKT mapping for 'nsper' to EPSG Vertical Persepective methodEven Rouault
Relates to https://github.com/OSGeo/gdal/issues/1856
2019-09-26Improve vertical transformation supportEven Rouault
When we had a transformation between a compoundCRS and a target geographicCRS, we did not take into account that in the vertical->other_geog_CRS transformation we used, the other_geog_CRS was an implicit interpolation CRS. Thus before doing vertical adjustment, we must go to this interpolation CRS. The workflow is thus: source CRS -> interpolation CRS + vertical adjustment + interplation CRS -> target CRS
2019-09-24createOperations() sorting: sort operations that cannot be exported as PROJ ↵Even Rouault
pipelines at end
2019-09-23Document the autopromotion to 3D when mix of 2D/3D CRS in ↵Even Rouault
createOperations(), and test it (fixes #1623)
2019-09-12createOperations(): when tranforming from a compoundCRS whose vertical ↵Even Rouault
component is a BoundCRS, do not apply the horizontal transformation twice
2019-09-12createOperations(): use more candidates when transforming between a ↵Even Rouault
geographic and vertical CRS For example when transforming from NAD83+NAVD88 height to WGS84, there is no transformation between NAVD88 height to WGS84. In that case, use all potential transformations from NAVD88 height to another geographic CRS for the vertical part.
2019-09-12Coordinate transformation: improve transformations from/to WGS84 (Gxxxx)Even Rouault
Currently very few transformations from/to WGS84 (Gxxxx) are registered in the EPSG database, and there isn't even transformations between WGS84 EPSG:4326 and those ones. Consequently transformations to those realizations often ended up as no-operation, whereas going through WGS84 EPSG:4326 will bring more meaningful results. So register those EPSG:4326<-->WGS 84 (Gxxx) null transformations, and when having WGS 84 (Gxxx) as source/target, consider EPSG:4326 as an intermediate. This change has no effect on the existing direct transformations from/to WGS 84 (Gxxx).
2019-09-12createOperations(): make sure sorting function is transitive (a < b and b < ↵Even Rouault
c --> a < c), to get consistent results
2019-09-12createOperations(): make it work when transforming between CompoundCRS and ↵Even Rouault
Geog3D when the DB has only VertCS to Geog2D This is needed to fix cases that would not work if using the promoteTo3D()/--3d functionnality just added per a6e1d72890615b42f54edad9b17acff8e7623844 In some cases, the EPSG database only contains a Geographic 2D CRS (like NAD83), without a 3D version. Consequently vertical transformations between that Geographic CRS and a Vertical CRS are only available with a 2D CRS code (kind of a bug in modelization by the way...). So when promoting the Geographic 2D CRS to a 3D one, we suddenly cannot find the available transformations any more. So in such situation, try to fallback to the 2D CRS to restore the capability to find the available transformations.
2019-09-11createOperations(): fix conversion from/to PROJ.4 CRS strings with ↵Even Rouault
non-ISO-cosher options and towgs84/nadgrids This actually fixes a regression introduced in PROJ 6.2.0 per 78302efb70eb4b49610cda6a60bf9ce39b82264f that made a conversion like EPSG:4326 to "+proj=something +towgs84/+nadgrids +over +type=crs" apply the towgs84/nadgrids operation twice.
2019-09-08Use in API and utilities WKT2_2019 instead of WKT2_2018 (fixes #1518)Even Rouault
- C API: PJ_GUESSED_WKT2_2019 is added, PJ_GUESSED_WKT2_2018 aliased to it - C API: PJ_WKT2_2019[_SIMPLIFIED] is added, PJ_WKT2_2018[_SIMPLIFIED] alias to it - C++ API: similarly for WKTFormatter::Convention::WKT2_2019[_SIMPLIFIED] Those above changes should be fully backward API and ABI compatible. projinfo changes: - accept WKT2_2019 as value for -o switch. WKT2_2018 is still accepted (undocumented) - output now uses 'WKT2_2019 string:', so might break scripts that would rely on that. Other internal code references to WKT2_2018 changes to WKT2_2019, included in tests.
2019-08-26createOperations(): fix pipeline generation when a CRS has terms like ↵Even Rouault
+datum=NAD27 and +over, where the datum was just replaced by its ellipsoid
2019-08-20C API: add proj_context_set_autoclose_database() to automatically close ↵Even Rouault
database (fixes #1565)
2019-08-20Merge pull request #1547 from rouault/json_exportEven Rouault
Add CRS JSON export (refs #1545)
2019-08-09PROJSJON: add import/export of VerticalCRS, CompoundCRS, BoundCRS, ↵Even Rouault
Transformation and ConcatenatedOperation
2019-08-09PROJJSON export: use more compact formEven Rouault
2019-07-19Add set discard superseded method to api (#1534)Matt Littlemore
Closes #1519
2019-07-08CRS JSON: export GeographicCRS and Projected CRSEven Rouault
2019-06-30Database: import scope/remarks for coordinate operation and add C APIEven Rouault
- Import scope and remarks for coordinate operations of the EPSG dataset. Database size goes from 5.2 MB to 5.55 MB - Add proj_get_scope() and proj_get_remarks()
2019-06-11Fix compilation error with gcc 4.9.3 (fixes #1512)Even Rouault
2019-06-01Update website: proj4.org -> proj.orgMike Taves
2019-05-23createOperations(): fix GeogCRS to GeogCRS when there is a axis reversal and ↵Even Rouault
vertical unit change (relates to https://github.com/OSGeo/gdal/issues/1561)
2019-05-21createOperations(): avoid exception when transforming from NAD83 to ↵Even Rouault
projected CRS using NAD83(2011) (fixes #1474)
2019-05-06createOperations(): for 'Amersfoort / RD New + NAP height' (EPSG:7415) to ↵Even Rouault
ETRS89 (EPSG:4937), make sure that the vgridshift is applied first (ie on Amersfoort datum) before the hgridshift
2019-05-06createOperations(): fix case of ETRS89 3D to proj string with nadgrids and ↵Even Rouault
geoidgrids Fixes https://lists.osgeo.org/pipermail/proj/2019-May/008519.html
2019-05-01Reduce database size (#1438)Kristian Evers
Reduce database size
2019-04-30WKT importer: accepts PROJ-based COORDINATEOPERATIONEven Rouault
2019-04-30createOperations(): in SourceTargetCRSExtentUse::INTERSECTION mode, early ↵Even Rouault
return if the intersection of the areas is empty
2019-04-30Propagate ballpark transformation flag to inverse coordinate operationsEven Rouault
2019-04-28Fix false-positive -Wnull-dereference GCC 8 warningEven Rouault
2019-04-22ESRI_WKT: preserve Gauss_Kruger in conversion name for round-trippingEven Rouault
2019-04-16createOperations(): do not attempt using a unrelated datum intermediate when ↵Even Rouault
doing geog2D<-->geog3D conversions of same datum Seen when testing transformations between "CR 05" (EPSG:5365) and "CR-SIRGAS" (EPSG:8907) which require going through their corresponding 3D GeogCRS to find a Helmert transformation.
2019-03-29createOperations(): improve behaviour with input CRS from WKT that lacks ↵Even Rouault
intermediate IDs (fixes #1343)
2019-03-29Merge pull request #1390 from rouault/createoperation_boundcrs_more_aggresiveEven Rouault
createOperations(): improve BoundCRS<-->non-bound-CRS case