aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/coordinateoperation.cpp
AgeCommit message (Collapse)Author
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-26coordinateoperation.cpp: remove dead code. Coverity CID 193522Even Rouault
2019-03-26coordinateoperation.cpp: silent false positive about copy paste error. ↵Even Rouault
Coverity CID 193519
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-24WKT2 parser: update to OGC 18-010r6Even Rouault
- Allow ID[] in base CRS of Derived CRS - Allow VERSION[] in non-conversion coordinate operations - Use VERSION[] to set operationVersion member of CoordinateOperation - Export operationVersion in WKT2:2018
2019-03-23Fix GCC 9 warning about useless std::move()Even Rouault
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-03-16Run scripts/reformat_cpp.shEven Rouault
2019-03-16Fix doc generation with Breathe 4.12.0Even Rouault
Breathe 4.12.0 (as pulled by MacOSX builds such as https://travis-ci.com/OSGeo/proj.4/jobs/185395222) does not seem to like default initialization in documented C++ structs (regression/bug) /Users/travis/build/OSGeo/proj.4/docs/source/development/reference/cpp/io.rst:6:Parsing of expression failed. Using fallback parser. Error was: Error in postfix expression, expected primary expression or type. If primary expression: Invalid definition: Expected identifier in nested name. [error at 67] std::string osgeo::proj::io::AuthorityFactory::CRSInfo::authName = {} -------------------------------------------------------------------^ If type: Invalid definition: Expected identifier in nested name. [error at 67] std::string osgeo::proj::io::AuthorityFactory::CRSInfo::authName = {} -------------------------------------------------------------------^
2019-03-01Doc: rename to ISO-19111:2019Even Rouault
And publish link to corresponding promoted and public OGC doc: http://docs.opengeospatial.org/as/18-005r4/18-005r4.html
2019-02-24ParameterValue::_exportToWKT(): fix null pointer dereference with ↵Even Rouault
-D_GLIBCXX_ASSERTIONS on WKT with PARAMETERFILE (fixes #1290)
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-21Geog2D+Height -> Geog3D of same datum: avoid inserting a useless ballpark ↵Even Rouault
horizontal transformation
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-20Operation sorting: tweakEven 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-17Modify the default strategy of researching intermediate CRS to do it only if ↵Even Rouault
there is no direct transformation
2019-02-14Coordinate operations where a grid is present, but not in grid_alternatives ↵Even Rouault
table, should be considered as known to be sorted first
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-02-03WKT1 export: avoid division by zero. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12854. Credit to OSS Fuzz
2019-01-22Coordinate operation computation with boundcrs / wktext: drop useless early ↵Even Rouault
bindins terms in generated pipeline (fixes #1232)
2019-01-19typo fixesEven Rouault
2019-01-17Remove wrong use of PROJ_CONST_DECL and replace it with PROJ_PURE_DECL ↵Even Rouault
(fixes #1224)
2019-01-16PROJBasedOperation: write it as a conformant CONVERSION WKT, and make it ↵Even Rouault
parsed appropriately on the reading side
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...
2019-01-02WKT CONCATENATEDOPERATION parsing: allow CONVERSION steps and reverse ↵Even Rouault
operations when neededs (fixes #1197)
2019-01-02Typo fixesEven Rouault
2018-12-30Merge projects.h into proj_internal.hEven Rouault
2018-12-30projects.h: remove deprecated XY, XYZ, LP, LPZ, UV, UVW, projUV and projUVW ↵Even Rouault
structures
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-26cpp conversion: move source files in apps/ iso19111/ conversions/ ↵Even Rouault
projections/ transformations/ tests/ subdirectories