aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/datum.cpp
AgeCommit message (Collapse)Author
2022-03-16Fix comparison of GeodeticRefrenceFrame vs DynamicGeodeticReferenceFrameEven Rouault
If comparing a DynamicGeodeticReferenceFrame object and its export to WKT1, which is a simple DATUM object, currently in non-strict comparison mode, we'd consider the datum to be equivalent to the dynamic datum, but not the reverse, which breaks the symmetric property of the isEquivalentTo() operation. So fix this, to consider both equivalent whatever the operand order. (in strict mode, the objects will be considered different of course) Spotted in the GDAL GeoTIFF CRS reader code: https://github.com/OSGeo/gdal/blob/f9d48bdcc8c90df20e53b5af5785f1e5d78910db/frmts/gtiff/gt_wkt_srs.cpp#L832 Do same change for vertical datum vs dynamic vertical datum.
2021-10-12Fix export to WKT1:ESRI of CRS, datum, ellipsoids name that don't have a ↵Even Rouault
EPSG equivalent and have parentheses in their name
2021-09-15isEquivalentTo(): improve comparison of datum names based on official name ↵Even Rouault
and aliases (preparation for EPSG v10.035 update)
2021-03-03Reformat code with clang-format-10 from ubuntu 20.04Even Rouault
2020-11-27PRIMEM WKT handling: fixes on import for 'sexagesimal DMS' or from ↵Even Rouault
WKT1:GDAL/ESRI when GEOGCS UNIT != Degree; morph to ESRI the PRIMEM name on export
2020-11-20Remove pj_ctx_* functions and use their proj_context counterpartsKristian Evers
2020-11-20Weed out proj_api.h datatypes and replace them with their proj.h counterpartsKristian Evers
2020-11-20Remove proj_api.hKristian Evers
Removes proj_api.h from the public API. The contents of the header file has been moved to proj_internal.h verbatim and any references to proj_api.h has been changed to proj_internal.h. The documentation of proj_api.h has been removed. The only exception to this is the API migration guides which still mention the old API. Fixes #837
2020-11-01projinfo / createObjectsFromName(): support returning a datum ensembleEven Rouault
2020-10-20VerticalCRS: morph CRS and datum name using ESRI aliases on import from / ↵Even Rouault
export to WKT1:ESRI
2020-10-16Merge pull request #2370 from rouault/epsg10Even Rouault
Update to EPSG 10.003 and make code base robust to dealing with WKT CRS with DatumEnsemble
2020-10-10WKT2:2019 import/export: handle DATUM (at top level object) with PRIMEMEven Rouault
This is a peculiarity of the WKT grammar. Despite ISO 19111 saying that the prime meridian is a component of the datum, in WKT, they are placed at the same level, for backward compatibility with earlier WKT versions. So handle exporting and importing that. The fix is only for situation where DATUM is the top level object (was working fine otherwise), which is a uncommon use case. And to limit the amount of issue, on export emit the prime meridian only if it is not Greenwich.
2020-10-08Add DatumEnsemble::asDatum() and use it in exportToWkt()Even Rouault
to allow exporting DatumEnsemble to WKT < 2019.
2020-10-08Add a AuthorityFactory::createDatumEnsemble() method, and make it inherit ↵Even Rouault
from ObjectUsage as mandated by ISO 19111:2019
2020-09-04Fix compiling warnings when using GCC 4.8.xAlexander Saprykin
2020-05-16Allow importing WKT1 COMPD_CS with a VERT_DATUM[Ellipsoid,2002], and ↵Even Rouault
exporting it back as such (on the same object) (fixes #2228)
2020-04-23io.hpp: avoid dependency to proj_json_streaming_writer.hpp (fixes #2182) (#2183)Even Rouault
2020-04-08Code formatting fix [skip ci]Even Rouault
2020-04-07Test GCC 4.8 and CMake 3.9; resolve a few shadowed declaration warningsMike Taves
2020-03-06Typo fixes identified by scripts/fix_typos.shEven Rouault
2020-03-06WKT import/export: add support for WKT1_ESRI VERTCS syntaxEven Rouault
2020-01-11WKT1_GDAL export: limit datum name massaging to names matching EPSG (fixes ↵Even Rouault
#1835)
2019-12-16identify(): take into datum name aliases (fixes #1800)Even Rouault
2019-11-18createGeodeticDatum(): query and set publicationDateEven Rouault
2019-10-18Fix two sentences that seem to be copy-and-paste forgotten.Martin Desruisseaux
2019-09-08Use in API and utilities WKT2_2019 instead of WKT2_2018 (fixes #1518)Even Rouault
- C API: PJ_GUESSED_WKT2_2019 is added, PJ_GUESSED_WKT2_2018 aliased to it - C API: PJ_WKT2_2019[_SIMPLIFIED] is added, PJ_WKT2_2018[_SIMPLIFIED] alias to it - C++ API: similarly for WKTFormatter::Convention::WKT2_2019[_SIMPLIFIED] Those above changes should be fully backward API and ABI compatible. projinfo changes: - accept WKT2_2019 as value for -o switch. WKT2_2018 is still accepted (undocumented) - output now uses 'WKT2_2019 string:', so might break scripts that would rely on that. Other internal code references to WKT2_2018 changes to WKT2_2019, included in tests.
2019-08-10PROJJSON: add support for DatumEnsemble and ↵Even Rouault
Dynamic[Geodetic|Vertical]ReferenceFrame
2019-08-09PROJSJON: add import/export of VerticalCRS, CompoundCRS, BoundCRS, ↵Even Rouault
Transformation and ConcatenatedOperation
2019-08-09PROJJSON export: use more compact formEven Rouault
2019-07-08CRS JSON: export GeographicCRS and Projected CRSEven Rouault
2019-07-06Proof-of-concept of JSON export limited to PrimeMeridian (refs #1545)Even 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-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-03Avoid division by zero in Ellipsoid::computeSemiMinorAxis(). Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12867. Credit to OSS Fuzz. master only
2019-01-31exportToWKT(): restrict a8e7ef45d132b44dd4096c6fe3703fe92b390d1e to TOWGS84 ↵Even Rouault
only to avoid breaking other use cases
2019-01-17Remove wrong use of PROJ_CONST_DECL and replace it with PROJ_PURE_DECL ↵Even Rouault
(fixes #1224)
2019-01-02Typo fixesEven Rouault
2018-12-30Merge projects.h into proj_internal.hEven Rouault
2018-12-26cpp conversion: move source files in apps/ iso19111/ conversions/ ↵Even Rouault
projections/ transformations/ tests/ subdirectories