aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_io.cpp
AgeCommit message (Collapse)Author
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-09-26Implement ellipsoidal formulation of +proj=ortho (fixes #397)Even Rouault
- Map ESRI 'Local' to +proj=ortho when Scale_Factor = 1 and Azimuth = 0 - Map ESRI 'Orthographic' to a PROJ WKT2 'Orthographic (Spherical)' which maps to +proj=ortho +f=0 to froce spherical evaluation
2020-08-13WKT importer: tune for Oracle WKT and 'Lambert Conformal Conic' (#2321)Even Rouault
Fixes https://github.com/qgis/QGIS/issues/37898
2020-07-09PROJ string export of +proj=krovak +czech: make sure we export +czech ↵Even Rouault
instead of +axis=swu (fixes #2299)
2020-07-02Parse '+proj=something_not_latlong +vunits=' without +geoidgrids as a ↵Even Rouault
Projected3D CRS and not a compound CRS with a unknown datum (fixes #2287) (#2288)
2020-07-01WKT parser: do not raise warning when parsing a WKT2:2015 TIMECRS whose ↵Even Rouault
TIMEUNIT is at the CS level, and not inside (#2276) Adresses testTemporal() and testCompoundWithTime() cases of https://github.com/OSGeo/PROJ/issues/2275#issuecomment-650765730
2020-06-24ESRI WKT: correctly map 'Goode Homolosine' from ESRI:54052 (resp. 54053) to ↵Even Rouault
'Interrupted Googe Homolosine' (resp. 'Interrupted Googe Homolosine Ocean')
2020-05-19WKT1 ingestion: fix ingestion of COMPD_CS with ellipsoidal vertical datum ↵Even Rouault
and non metre units (contributes to fixes #2232)
2020-05-16Adjustments to deal with non-conformant WKT1 LAS COMPD_CS[] (refs #2171)Even Rouault
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-05-15Merge pull request #2222 from rouault/fix_2217Even Rouault
Fixes related to CompoundCRS and BoundCRS
2020-05-14WKT/PROJJSON parsing: fix BoundCRS/PROJ4_GRIDS handling for vertical ↵Even Rouault
component when vertical CRS has non metre unit (fixes #2217)
2020-05-14Database: add a 'WGS84' alias for the EPSG:4326 CRS (fixes #2216)Even Rouault
2020-04-28createFromProjString(): handle default parameters of '+krovak +type=crs', ↵Even Rouault
and handle +czech correctly (fixes #2199) (#2200) * createFromProjString(): handle default parameters of '+krovak +type=crs', and handle +czech correctly (fixes #2199) * Doc: add default values for Krovak
2020-04-24Tune support for WKT1_GDAL with netCDF rotated pole formulation. Follow-up ↵Even Rouault
to 40466db40499e003cc59957d7e245b6ce8f8e4a3
2020-04-23Fix support of WKT1_GDAL with netCDF rotated pole formulation (#2185)Even Rouault
Contributes to fixing issue raised in https://lists.osgeo.org/pipermail/gdal-dev/2020-April/052003.html
2020-04-22PROJ4 string import: take into correctly non-metre unit when the string ↵Even Rouault
looks like the one for WGS 84 / Pseudo Mercator (fixes https://github.com/OSGeo/gdal/issues/2433) (#2174)
2020-04-21Typo fixes in code comments [ci skip]Even Rouault
2020-04-21Add limited support for non-conformant WKT1 LAS COMPD_CS[] (#2171)Even Rouault
* Allow importing EPSG:{horizontal_code}+{geographic_code} and turn it into valid Geographic 3D or Projected 3D CRS internally * Allow importing WKT1 COMPD_CS[] with above structure * On an object imported that way, allow exporting to WKT1_GDAL, with this non-standard structure of a horizontal CRS + geographic CRS
2020-04-19Ingestion of WKT1_GDAL: correctly map 'Cylindrical_Equal_Area'Even Rouault
Map it to 'Lambert Cylindrical Equal Area' / EPSG:9835 non-spherical method, when the ellipsoid is not a sphere. And rationalize the handling of this for other methods with spherical vs non-spherical formulations
2020-04-09createFromPROJString(): ignore +wktext in '+init=epsg:XXX +wktext' string ↵Even Rouault
(refs https://github.com/OSGeo/gdal/issues/2392)
2020-04-03createFromUserInput(): allow compound CRS with the 2 parts given by names, ↵Even Rouault
e.g. 'WGS 84 + EGM96 height'
2020-03-25EngineeringCRS: when exporting to WKT1_GDAL, output unit and axis (fixes ↵Even Rouault
https://github.com/OSGeo/gdal/issues/2347)
2020-03-09Map ESRI Transverse_Mercator_Complex to Transverse MercatorEven Rouault
According to https://gis.stackexchange.com/questions/226679/complex-utm-projection it is highly likely that Transverse_Mercator_Complex corresponds to our extended/enhanced/Poder-Engsager transverse mercator method (etmerc), or something similarly precise. So we can map that to the standard Transverse Mercator method, since etmerc is used for it.
2020-03-06WKT import/export: add support for WKT1_ESRI VERTCS syntaxEven Rouault
2020-03-05ESRI WKT: map Mercator_Variant_A, Mercator_Variant_C and ↵Even Rouault
Transverse_Cylindrical_Equal_Area projections (#2020) * Add mapping of ESRI projection methods Mercator_Variant_A, Mercator_Variant_C and Transverse_Cylindrical_Equal_Area * Add a few notes about missing mappings
2020-03-04Add missing tests for ESRI projection method conversionNyall Dawson
2020-02-24Fix mapping of Vertical_Near_Side_Perspective (fixes #1965)Nyall Dawson
2020-01-25Fix ingestion of +proj=cea with +k_0Even Rouault
Fixes #1881 Digging into the implementation of proj=cea, it appears that k_0 and lat_ts are intended to be exclusive ways of specifying the same concept. EPSG only models the variant using lat_s. So if k_0 is found and lat_ts is absent, compute the equivalent value of lat_ts from k_0. Note: k_0 should normally be in the [0,1] range. In case creative users would use something outside, we raise an exception, even if the cea implementation could potentially deal with any k_0 value. Hopefully this is a (reasonable) limitation that will address nominal use cases.
2020-01-07createObjectsFromName(): make it look up in the alias_name table too (fixes ↵Even Rouault
#1823)
2020-01-02Adjust formattingEven Rouault
2020-01-02Merge pull request #1820 from snowman2/cs_projjsonEven Rouault
fix exporting CoordinateSystem to PROJ JSON with ID
2020-01-01fix exporting CoordinateSystem to PROJ JSON with IDsnowman2
2019-12-16Merge pull request #1786 from rouault/fake_EPSG_102100Kristian Evers
Make EPSG:102100 resolve to ESRI:102100 (fixes #1730)
2019-12-13PROJStringFormatter: make startInversion/stopInversion properly deal with ↵Even Rouault
omit_fwd/omit_inv
2019-12-13WKTParser: fix assertion that can trigger on corrupted input. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19367
2019-12-11Make EPSG:102100 resolve to ESRI:102100 (fixes #1730)Even Rouault
2019-12-05import from PROJ string CRS: better deal with strings that look like Google ↵Even Rouault
Mercator projection, but with subtlely different parameters (fixes https://github.com/OSGeo/gdal/issues/2087)
2019-11-26Merge pull request #1748 from rouault/improve_hgrid_vgrid_hgrid_inv_take2Even Rouault
Optimize pipelines involving horizontal shift grid, vertical shift grid, inverse horizontal shift grid (take 2)
2019-11-25PROJStringFormatter::toString(): optimize hgridshift, vgridshift, hgridshift ↵Even Rouault
inv constructs Given an initial pipeline with +step +proj=hgridshift +grids=foo +step +proj=vgridshift +grids=bar +step +inv +proj=hgridshift +grids=foo Transform it as +step +proj=push +v_1 +v_2 +step +proj=hgridshift +grids=foo +omit_inv +step +proj=vgridshift +grids=bar +step +inv +proj=hgridshift +grids=foo +omit_fwd +step +proj=pop +v_1 +v_2 So as to avoid doing a double application of the hgridshift.
2019-11-25createOperations(): optimize compoundCRS to geogCRS, when the geogCRS of the ↵Even Rouault
compoundCRS is the same as the target geogCRS
2019-11-14import/export PROJJSON: support a interpolation_crs key to geoid_model for ↵Even Rouault
faithful serialization of the geoid_geog_crs parameter of proj_create_vertical_crs_ex()
2019-11-04Merge remote-tracking branch 'origin/master' into geoid_modelEven Rouault
2019-11-03Import from WKT: add tweaks for Lidar WKT1 VERT_CS that embeds geoid model ↵Even Rouault
in CRS name
2019-11-02WKT and PROJJSON: add import/export of geoid model of VertCRSEven Rouault
2019-10-30createFromWkt(): be tolerant to missing scale_factor parameter (fixes #1700)Even Rouault
This is invalid WKT, but GDAL 2.4 used to accept it and make a reasonable use of it... Currently we default it to 0 which is non sensical. Better use 1 as GDAL 2.4 did, and emit a warning. Other fix: proj_create_from_wkt() was documented to operate by default in non-strict validation mode, but it was actually in strict mode. So do as documented.
2019-10-25importFromWkt(): fix axis orientation for non-standard ESRI WKT (fixes #1690)Even Rouault
2019-10-19createFromPROJString(): do not loop forever on malformed string. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17923. master only
2019-09-15createFromPROJString(): ignore +no_defs when instanciating a ↵Even Rouault
'+init=epsg:xxxx +no_defs' string (related to #1597)
2019-09-15Ingestion of +proj=somerc +type=crs: avoid adding twice alpha, gamma, lon_0 ↵Even Rouault
(related to #1597)