aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111
AgeCommit message (Collapse)Author
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-02Make sure that ISO19111 C++ code sets pj_errno on errorsKristian Evers
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-28Objet -> ObjectNyall Dawson
2019-03-27factory.cpp: silence false positive warning. Coverity CID 193544Even Rouault
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-26factory.cpp: make closeDB() noexcept so that DatabaseContext::Private ↵Even Rouault
destructor cannot throw. Coverity CID 193518
2019-03-26crs.cpp: make it clear to analyzer that buffer will not overflow. Coverity ↵Even Rouault
CID 193528 and 193540
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-26c_api.cpp: avoid mixing enum types. Coverity CID 193542Even Rouault
2019-03-26factory.cpp: avoid warning about int truncation. Coverity CID 193544Even Rouault
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-25Database: add operation_version column to coordinate operation tablesEven 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-25WKT2_2018: export ID in base crs node, when there is none on top of upper nodeEven Rouault
This is the standard logic, that is now possible since ID is allowed in BASEGEOGCRS and similar node
2019-03-25crs.cpp: remove non-intented (harmless here) pass by reference of a pointerEven Rouault
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-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-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-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-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-20PROJStringFormatter: remove useless push/pop in another caseEven Rouault
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-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