aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_operation.cpp
AgeCommit message (Collapse)Author
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)
2019-01-17Remove proj_create_from_proj_string() and proj_create_from_user_input(), and ↵Even Rouault
make proj_create() do more or less what proj_create_from_user_input() did before (fixes #1214)
2019-01-17import/export PROJ strings from ISO19111 code: require/output +type=crs for ↵Even Rouault
CRS objects (refs #1214)
2019-01-16PROJBasedOperation: write it as a conformant CONVERSION WKT, and make it ↵Even Rouault
parsed appropriately on the reading side
2019-01-09createOperations(): fix a particular case of boundcrs to boundcrs ↵Even Rouault
transformation (fixes #1220)
2019-01-08ISO19111: remove PROJ.5 specific format for CRS (refs #1214)Even Rouault
As discussed in https://github.com/OSGeo/proj.4/issues/1214#issuecomment-452084720, the introduction of a new PROJ.5 format to export CRS using pipeline/unitconvert/axisswap as an attempt of improving the PROJ.4 format used by GDAL and other products is likely a dead-end since it is still lossy in many aspects and can cause confusion with coodinate operations. Consequently the PROJ_5 convention will be identical to PROJ_4 for CRS export. Note: on the import side, I've kept the code that could parse unitconvert and axisswap when building a CRS definition from a pipeline. It is there as a hidden feature as it was kind of a tear to remove that code in case it might still be useful...
2018-12-30Rename proj_obj_XXX as proj_XXX and PJ_OBJ_XXX as PJ_XXXEven Rouault
2018-12-29Operation filtering: do not remove Null transformation that may be usefulEven Rouault
2018-12-28Operation computation: better take into account when candidate operations ↵Even Rouault
have no declared extent
2018-12-28ISO19111: fix export to PROJ string of vgridshift to explictly use multiplier=1Even Rouault
2018-12-28createOperations(): allow looking for geographic CRS by name (helps with WKT ↵Even Rouault
2 definitions of PROJCRS that lack it)
2018-12-28Make createOperation() better work with BoundCRS (to take into account the ↵Even Rouault
extent of their base CRS)
2018-12-17Add WKT1 grammar validation; change prototype of proj_obj_create_from_wkt()Even Rouault
2018-12-15Add SingleOperation::validateParameters()Even Rouault
2018-12-13another improvement in isEquivalentTo() when comparing Helmert transformationsEven Rouault