aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_operation.cpp
AgeCommit message (Collapse)Author
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-10-18createOperations(): fix double vertical unit conversion from CompoundCRS to ↵Even Rouault
other CRS when the horizontal part of the projected CRS uses non-metre unit Fix issue reported on https://lists.osgeo.org/pipermail/proj/2019-October/008939.html
2019-09-28Database: update to EPSG 9.8.2Even Rouault
With limitation of https://github.com/OSGeo/PROJ/issues/1632 regarding concatenated operations with more than 3 steps.
2019-09-13createOperations(): when tranforming from a compoundCRS whose vertical ↵Even Rouault
component is a BoundCRS, do not apply the horizontal transformation twice
2019-09-13createOperations(): 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-13createOperations(): make sure sorting function is transitive (a < b and b < ↵Even Rouault
c --> a < c), to get consistent results
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-08-26createOperations(): follow-up of previous commit for +datum=NAD83 caseEven Rouault
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-06-25grid_alternatives.sql: add the two Swisstopo grids (refs ↵Even Rouault
https://github.com/OSGeo/proj-datumgrid/pull/53)
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-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-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-04-05_buildUnit(): avoid later division by zeroEven Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14055 Credit to OSS Fuzz
2019-04-02Merge pull request #1391 from kbevers/noopKristian Evers
Add no-op operation. It does nothing.
2019-03-29createOperations(): improve behaviour with input CRS from WKT that lacks ↵Even Rouault
intermediate IDs (fixes #1343)
2019-03-29Adopt use of the noop conversion in ISO19111 codeKristian Evers
2019-03-29Merge pull request #1390 from rouault/createoperation_boundcrs_more_aggresiveEven Rouault
createOperations(): improve BoundCRS<-->non-bound-CRS case
2019-03-29Add proj_normalize_for_visualization()Even Rouault
Fixes #1301 This function takes the output PJ from proj_create_crs_to_crs(), and add (or undo) the needed axis swap operations so that the object returned by proj_normalize_for_visualization() has the usual GIS axis order. In this implementation, this does something only if the coordinate system of the source or target CRS, geographic or projected, has NORTH, EAST ordering. CompoundCRS wrapping those objects are also handled.
2019-03-28createOperations(): improve BoundCRS<-->non-bound-CRS caseEven Rouault
Fixes #1388 Typically helps for projinfo -s "+proj=longlat +ellps=GRS80 +towgs84=1,2,3 +type=crs" -t EPSG:4258 by researching operations from the pivot WGS84 implied by the towgs84 clause to EPSG:4258.
2019-03-26Merge pull request #1369 from rouault/grid_fixesEven Rouault
Grid related fixes
2019-03-25lookForGridInfo(): correctly return that a grid is present, if present on ↵Even Rouault
the file system, but not in the database
2019-03-25WKT2_2018: always export ID of SOURCECRS/TARGETCRS and STEPsEven Rouault
even if there is one on upper node This is a particular logic allowed by paragraph 7.3.3 Identifier of OGC 18-010r6
2019-03-16createOperations(): fix nadgrids -> nadgrids+geoidgridsEven Rouault
2019-03-16createOperations(): fix nadgrids+geoidgrids -> nadgrids+geoidgridsEven Rouault
2019-03-16createOperation(): fix geocent <--> nadgrids+geoidgrids case (fixes #1323)Even Rouault
2019-02-21Transformation: reintroduce the term of 'Null geographic offset' for ↵Even Rouault
transformations between geographic CRS of same datum (typically 3D to 2D)
2019-02-20typo fixes: s/Explictly/Explicitly/ and s/instanciat/instantiat/Even Rouault
2019-02-20CoordinateOperation: add a hasBallparkTransformation() method that can be ↵Even Rouault
used to know if it includes a very approximative transformation term
2019-02-20CompoundCRS to Geog3DCRS: in synthetised transformation, document in the ↵Even Rouault
name we are lacking an ellipsoid height to vertCRS height correction
2019-02-20PROJStringFormatting: change order of emission of push/pop w.r.t axis ↵Even Rouault
swap/unitconvert to avoid useless simplification rules
2019-02-20PROJStringFormatter: remove useless push/pop in another caseEven Rouault
2019-02-20Vertical CRS transformation: synthetize a vertical unit change ↵Even Rouault
transformation when needed, and also sort Null geographic offset transformation in last
2019-02-20compoundCRS to compoundCRS: avoid emitting dummy 'Null geographic offset ↵Even Rouault
from X to X' in transformation name
2019-02-20Add VERTCON grid name alternatives in database, and handle filename ↵Even Rouault
substitution for VERTCON method
2019-02-18Merge pull request #1276 from ↵Kristian Evers
rouault/intermediate_crs_use_only_if_no_direct_transformation Modify the default strategy of researching intermediate CRS to do it only if there is no direct transformation
2019-02-17tests: implement fuzzy proj string comparison in a few problematic test ↵Even Rouault
cases on non-x86 arch (fixes #1275)
2019-02-17Modify the default strategy of researching intermediate CRS to do it only if ↵Even Rouault
there is no direct transformation
2019-02-15Fix size_t comparisons in testsKai Pastor
2019-02-13EPSG Helmert and Molodensky-Badekas methods in the Geographic 2D domain: use ↵Even Rouault
the push/pop v_3 operator to preserve the Z component
2019-02-13PROJ string parsing: no longer attempt to build a CoordinateOperation object ↵Even Rouault
from +proj=helmert/molodensky since there are ambiguities
2019-02-11Make tmerc an alias for etmerc. (#1234)Kristian Evers
* Make tmerc an alias for etmerc This switches the algorithm used in tmerc to the Poder/Engsager tmerc algorithm. The original tmerc algorithm of Evenden/Snyder origin can still be accessed by adding the +approx flag when initializing a tmerc projection. The +approx flag can also be used when initializing UTM projections, in which case the Evenden/Snyder algorithm is used as well. If a tmerc projection is instantiated on a spherical earth the Evenden/Snyder algorithm is used as well since the Poder/Engsager algorithm is only defined on the ellipsoid. +proj=etmerc can still be instantiated for backwards compatibility reasons. Co-authored-by: Kristian Evers <kristianevers@gmail.com> Co-authored-by: Even Rouault <even.rouault@spatialys.com>
2019-01-22Coordinate operation computation with CRS with extension string: replace ↵Even Rouault
datum by ellps
2019-01-22ISO19111 PROJ string parser: discard parameters not recognized by PROJEven Rouault
2019-01-22Coordinate operation computation with boundcrs / wktext: drop useless early ↵Even Rouault
bindins terms in generated pipeline (fixes #1232)