aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/crs.cpp
AgeCommit message (Collapse)Author
2022-03-18SingleCRS::baseIsEquivalentTo(): fix potential crash that is triggered by ↵Even Rouault
fdf5111a9a790926aacec75a07d30508a8ed9c91 changes
2022-03-09createOperations(): fix issue in transformation northing,easting projected ↵Even Rouault
CRS -> +proj=longlat +lon_wrap (fixes #3095)
2022-02-22ProjectedCRS::_exportToWKT(): avoid false positive warning about nullptr ↵Even Rouault
deref (CID 383356)
2022-02-14Better deal with importing strings like '+init=epsg:XXXX +over' (refs ↵Even Rouault
MapServer/MapServer#6478)
2022-01-04Fix doc generation with Doxygen 1.9.3Even Rouault
Since the update to Doxygen 1.9.3, doc generation was broken. With bisection of doxygen, it was found this was due to commit https://github.com/doxygen/doxygen/commit/ee8f3fb7a2ed74ee30ae3202707617e97f6641ff which makes Doxygen honour nested @cond . This revealed bad pairing of @cond / @endcond in our code, fixed by this commit.
2021-10-12Geographic 3D CRS: allow to export to WKT1:ESRI if only the GEOGCS is known ↵Even Rouault
(and thus extrapolating a VERTCS) (fixes #2757)
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-10-08WKT concatenated operation parsing: fix when a axis order reversal ↵Even Rouault
conversion is the first or last operation (fixes #2890)
2021-10-06CRS::_isEquivalentTo(): be tolerant to different order of PROJ step options ↵Even Rouault
(fixes #2886)
2021-10-06ProjectedCRS::_isEquivalentTo(): ignore base CRS axis order even in ↵Even Rouault
EQUIVALENT mode if one of them is lacking an explicit CS order (refs #2886)
2021-09-29CRS::identify(): fix ignoring CS order when identifying a geodetic CRS by a ↵Even Rouault
PROJ string with just the ellipsoid
2021-09-28CRS::extractGeodeticCRS(): implement for DerivedProjectedCRS (related to ↵Even Rouault
refs OSGeo/gdal#3927)
2021-09-18Optimize pipelines of planetary CRS (geocentric latitude, west-positive ↵Even Rouault
longitude)
2021-09-14PROJJSON: support additional properties allowed in id object (version, ↵Even Rouault
authority_citation, uri) for parity with WKT2:2019
2021-09-08createOperations(): deal with spherical planetocentric geodetic CRSEven Rouault
This also fixes conversion between geocentric latlong and geodetic latlong with cs2cs. This was dealt with in PR 1093, but in the wrong direction (the geocentric latitude must be <= in absolute value to the geodetic one) The issue here was linked to the semantics of the +geoc specifier, which affects the semantics of the input coordinates in the forward direction (+geoc means that the input coordinate is is a geocentric latitude), which defeats the logic of doing A to B by using the inverse path of A and the forward path of B.
2021-09-07Support importing/exporting WKT & PROJJSON of 2D axis spherical ↵Even Rouault
planetocentric geodetic CRS
2021-09-04GeodeticCRS::identify(): make it more obvious for cppcheckEven Rouault
2021-09-02Add proj_create_conversion_pole_rotation_netcdf_cf_convention() to address ↵Even Rouault
netCDF datasets using a pole rotation method
2021-08-19BoundCRS: accept importing/exporting in WKT2 and PROJJSON the ↵Even Rouault
scope/area/extent/id attributes (fixes #2813) For PROJJSON only, also accept the ``name`` attribute.
2021-08-16WKT2 import/export: preserve PROJ.4 CRS extension string in REMARKS[] (when ↵Even Rouault
the WKT2 representation isn't lossless)
2021-08-16Implement promoteTo3D() / demoteTo2D() for DerivedGeographicCRS (fixes #2803)Even Rouault
2021-06-14Fix build with -DPROJ_INTERNAL_CPP_NAMESPACEEven Rouault
2021-06-10BoundCRS::identify(): avoid incompatible transformation for WKT1 / TOWGS84 ↵Even Rouault
export (fixes OSGeo/gdal#3958)
2021-04-24Improvements related to DerivedVerticalCRS using Change Unit and ↵Even Rouault
Height/Depth reversal methods - For instantiation from urn combined references, create a better name, using conventions of EPSG vertical CRS - For exportToWKT(), allow export in WKT < WKT2 for such DerivedVerticalCRS
2021-04-11CRS::normalizeForVisualization(): propagate domains/extent of original CRS ↵Even Rouault
(fixes #2603)
2021-03-19CRS::promoteTo3D(): propagate the extent from the 2D CRS (fixes #2587)Even Rouault
This will help getting more consistent results between the 2D and 3D cases, as identified in https://github.com/OSGeo/PROJ/issues/2587#issue-836061171
2021-03-15CRS::identify(): take into account allowed authority to identify hard-coded ↵Even Rouault
WGS84-based CRSs
2021-03-15Add C/C++ API to get SQL statements to insert a CRS into databaseEven Rouault
2021-03-07typo fixesEven Rouault
2021-03-07is2DPartOf3D(): catch potential exception (CID 314817)Even Rouault
2021-03-03Reformat code with clang-format-10 from ubuntu 20.04Even Rouault
2021-02-10Fix handling of +proj=ob_tran +o_proj=longlat combined with +over (fixes #2510)Even Rouault
2020-12-14createOperations(): fix inconsistent chaining exception when transforming ↵Even Rouault
from BoundCRS of projected CRS based on NTF Paris to BoundCRS of geog CRS NTF Paris. Fixes https://github.com/OSGeo/gdal/issues/3273
2020-11-24Add option to allow export of Geographic/Projected 3D CRS in WKT1_GDALEven Rouault
as CompoundCRS with a VerticalCRS being an ellipsoidal height, which is not conformant. But needed for LAS 1.4 that only supports WKT1
2020-11-23GeographicCRS::_isEquivalentTo(EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS): make ↵Even Rouault
it work when comparing easting,northing,up and northing,easting,up
2020-11-21Make GeographicCRS/GeodeticCRS::isEquivalentTo() work properly when ↵Even Rouault
comparing to a DerivedGeographicCRS/DerivedGeodeticCRS
2020-11-04createBoundCRSToWGS84IfPossible(): make it return same result with a CRS ↵Even Rouault
built from EPSG code or WKT1 Related to https://github.com/OSGeo/gdal/issues/3144
2020-10-23WKT1_ESRI export: try to export Geographic3D and Projected3D CRS when we can ↵Even Rouault
find a corresponding ellipsoidal vertical datum
2020-10-23WKT1_ESRI export: generate VERTCS[...,DATUM[...,SPHEROID[]] syntax when ↵Even Rouault
ellipsoidal height is found
2020-10-22WKT1_ESRI export: export CompoundCRS as PROJCS[...],VERTCS[...] or ↵Even Rouault
GEOGCS[...],VERTCS[...]
2020-10-20VerticalCRS: morph CRS and datum name using ESRI aliases on import from / ↵Even Rouault
export to WKT1:ESRI
2020-10-20Improve identification of compound CRS from ESRI WKT1, and for compound CRS ↵Even Rouault
whose result is not in the DB but whose horiz and vertical parts are known
2020-10-17CompoundCRS with ellipsoidal height: make sure the vertical axis has ↵Even Rouault
'ellipsoid height' as name and 'h' as abbreviation
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-08promoteTo3D(): add a remark with the original CRS identifier (fixes #2368)Even Rouault
``` $ projinfo EPSG:32631 --3d WKT2:2019 string: PROJCRS["WGS 84 / UTM zone 31N", [ ...snip ] REMARK["Promoted to 3D from EPSG:32631"]] ```
2020-10-08Make GeographicCRS::is2DPartOf3D() work with DatumEnsembleEven Rouault
2020-10-08Make CRS identification work with CRS with DatumEnsembleEven Rouault
2020-10-05proj_crs_create_bound_crs_to_WGS84(): make it work on ↵Even Rouault
verticalCRS/compoundCRS such as EPSG:4326+5773 and EPSG:4326+3855
2020-09-17Adjust createBoundCRSToWGS84IfPossible() and operation filtering (for POSGAR ↵Even Rouault
2007 to WGS84 issues) (fixes #2356) - We make createBoundCRSToWGS84IfPossible() more restrictive. If there are more than one Helmert transformation from the CRS to WGS 84 covering the area of use of the CRS, we do not create a BoundCRS / +towgs84 - In createOperations() filtering, we are less aggressive in discarding operations that have the same area of use but worse accuracy. We do it only if they involve more transformation steps. We now get: ``` $ projinfo EPSG:5340 -o PROJ PROJ.4 string: +proj=longlat +ellps=GRS80 +no_defs +type=crs $ projinfo -s EPSG:5340 -t EPSG:4326 --spatial-test intersects --summary Candidate operations found: 2 EPSG:9264, POSGAR 2007 to WGS 84 (2), 0.5 m, Argentina EPSG:5351, POSGAR 2007 to WGS 84 (1), 1.0 m, Argentina ```
2020-06-03normalizeForVisualization(): make it switch axis for EPSG:5482 (RSRGD2000 / ↵Even Rouault
RSPS2000) Fixes #2254