aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/io.cpp
AgeCommit message (Collapse)Author
2019-06-06WKT1 importer: do case insensitive comparison for axis directionEven Rouault
Fixes https://github.com/OSGeo/gdal/issues/1623 http://portal.opengeospatial.org/files/?artifact_id=999 is not explicit if string comparisons should be case sensitive or not, but WKT2 allows for case differences in keyword and enumerated value, so follow this relaxed interpretation for WKT1 as well.
2019-06-06createFromUserInput(): support OGC URN to create projectedCRS, for example ↵Even Rouault
to instanciate a projected 3D CRS
2019-06-05createFromUserInput()/guessDialect(): do not confuse 'ID74' CRS with WKT2 ↵Even Rouault
ID[] node
2019-05-12Fix identification of GeodeticCRS expressed by PROJ string for EPSG authorityEven Rouault
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-01Reduce database size (#1438)Kristian Evers
Reduce database size
2019-04-30WKT importer: accepts PROJ-based COORDINATEOPERATIONEven Rouault
2019-04-22proj_create(): add support for compoundCRS and concatenatedOperation named ↵Even Rouault
from their components Support following syntaxes: - OGC URN combining references for compoundCRS: e.g. "urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717" - its GDAL shortcut: e.g. "EPSG:2393+5717" - OGC URN combining references for concatenated operations: e.g. "urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618"
2019-04-22Tweak morphNameToESRI() to reflect current ESRI practice regarding a few ↵Even Rouault
'(foo)' suffixes
2019-04-22ESRI_WKT: preserve Gauss_Kruger in conversion name for round-trippingEven Rouault
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-29Adopt use of the noop conversion in ISO19111 codeKristian Evers
2019-03-28Objet -> ObjectNyall Dawson
2019-03-26io.cpp: avoid error about unchecked return value. Coverity CID 193541Even Rouault
2019-03-26io.cpp: make it obvious that nullptr deref cannot happen. Coverity CID 193523Even Rouault
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-25WKT2_2018: always export ID in base crs node, even if there is one on upper nodeEven Rouault
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-19Doc: impove doc about OGC URNEven Rouault
2019-03-17Fix some issues raised by latest cppcheckEven Rouault
- coordinateoperation_internal.hpp: missing 'explicit' keyword - proj.cpp: unused 'generic' member in enumeration - init.cpp: useless assignment to a_orig and es_orig, because done again a few lines below. - crs.cpp: unused variable - datum.cpp: inefficient use of find() function - io.cpp: * missing 'static' qualifier for method * useles ternary test (left and right have same value) - aeqd.cpp: useless assignment of inv and fwd, snice done again a few lines below - isea.cpp: useless assignment of resolution and aperture since done again a few lines below, and with default values when params are absent - mod_ster.cpp: useless assignment of lp.lam, overriden in below code paths. - stere.cpp: false positive, but better not modify another variable than the iterator in a for() loop.
2019-03-16createOperation(): fix geocent <--> nadgrids+geoidgrids case (fixes #1323)Even Rouault
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-26Rename internal constant to avoid conflict with macro in Solaris system headersEven Rouault
2019-02-26io.cpp: cast to 'unsigned char' before isspace() to avoid undefined ↵Even Rouault
behaviour, for example on netBSD 8
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-18Fix a few issues with i386 buildsEven Rouault
Relax tolerances in a few unit test, and in laea code. Seen with gcc 5.3 and also 7.1 Related to the use of the 387 floating-point math, since they disappear with gcc 7.1 if using non-default -mfpmath=sse -msse
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-12Merge remote-tracking branch 'osgeo/master' into pipestackKristian Evers
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-06Shut up pj_create_internal when varifying validity of generated proj-stringKristian Evers
2019-02-05PROJStringParser::createFromPROJString(): avoid potential infinite loop. ↵Even Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12913. Credit to OSS Fuzz
2019-02-02createFromUserInput(): fix infinite recursion. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12842. Credit to OSS Fuzz
2019-02-02PROJStringSyntaxParser: avoid assertion on illegal input. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12837. Credit to OSS Fuzz
2019-01-31exportToWKT(): restrict a8e7ef45d132b44dd4096c6fe3703fe92b390d1e to TOWGS84 ↵Even Rouault
only to avoid breaking other use cases
2019-01-25exportToWKT(): avoid excessive numeric precision (especially when ↵gdalbarnEven Rouault
roundtripping TOWGS84 scale difference)
2019-01-22Merge pull request #1233 from rouault/fix_1232Kristian Evers
Coordinate operation computation with boundcrs / wktext: drop useless early bindins terms in generated pipeline (fixes #1232)
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-22exportToWKT: use upper-case exponent (E) to conform to WKT-2 EBNFEven Rouault
2019-01-22Coordinate operation computation with boundcrs / wktext: drop useless early ↵Even Rouault
bindins terms in generated pipeline (fixes #1232)
2019-01-19Add support for spaces in grid name parameters (fixes #1152)Even Rouault
2019-01-18Merge pull request #1223 from rouault/unify_proj_createKristian Evers
Unify proj_create(), proj_create_from_user_input() and proj_create_from_proj_string() (fixes #1214)
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-17Remove wrong use of PROJ_CONST_DECL and replace it with PROJ_PURE_DECL ↵Even Rouault
(fixes #1224)
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-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...