aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/io.cpp
AgeCommit message (Collapse)Author
2020-08-13WKT importer: tune for Oracle WKT and 'Lambert Conformal Conic' (#2322)PROJ-BOT
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-08-11WKT parser: avoid null pointer dereference on corrupted WKTEven Rouault
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24809
2020-07-30PROJ CRS string ingestion: fix typo in identification of projection steps ↵Even Rouault
(fixes #2307)
2020-07-02Parse '+proj=something_not_latlong +vunits=' without +geoidgrids as a ↵PROJ-BOT
Projected3D CRS and not a compound CRS with a unknown datum (fixes #2287) (#2289) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-07-02WKT parser: do not raise warning when parsing a WKT2:2015 TIMECRS whose ↵PROJ-BOT
TIMEUNIT is at the CS level, and not inside (#2281) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-06-06createOperations(): changes so that EPSG:9635 'Geog3D to ↵Even Rouault
Geog2D+GravityRelatedHeight (US .gtx)' method used by Slovakian geoids correctly deal with axis order and unit conversion, to be used as 'standalone'. Also improves when using directly 'Geographic3D to GravityRelatedHeight' method
2020-05-19createOperations(): optimization in generated pipeline in a case involving ↵Even Rouault
vertical unit change
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-14Grid listing from a CoordinateOperation: take into account several grid ↵Even Rouault
names separated by comma (e.g. '+grids=foo1.gtx,foo2.gtx')
2020-05-14WKT1 parsing: fix parsing of CompoundCRS that has a TOWGS84 for horizontal ↵Even Rouault
and PROJ4_GRIDS for vertical (refs #2217)
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-09scripts/fix_typos.sh: fix URLs to dictionaries, and fix typos spottedEven 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-23io.hpp: avoid dependency to proj_json_streaming_writer.hpp (fixes #2182) (#2183)Even Rouault
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-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-16Map ESRI WKT for Adams_Square_II to +proj=adams_ws2Even Rouault
2020-04-10proj_create(): improve error message in case of PJ* failure instanciationEven Rouault
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-04-03Make sure that importing a Projected 3D CRS from WKT:2019 keeps the base ↵Even Rouault
geographic CRS as 3D (fixes #2122)
2020-03-24ESRI WKT import / identification: special case for ↵Even Rouault
NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501 with Foot_US unit (fixes #2086)
2020-03-06WKT import/export: add support for WKT1_ESRI VERTCS syntaxEven Rouault
2020-03-04Add capability to force a fixed value for a non-specified CRS componentNyall Dawson
while mapping ESRI projections, and map the Behrman projection to cae with lat_ts=30, lon_0=0
2020-02-29createOperations(): fix wrong pipeline generation with CRS that has ↵Even Rouault
+nadgrids= and +pm= (#1998) Fixes issue reported at https://lists.osgeo.org/pipermail/gdal-dev/2020-February/051749.html The generated pipeline assumes that the input coordinates for the grid transformation were related to the non-Greenwich based datum, so we must compensate for that and add logic to go back to Greenwich.
2020-02-10PROJStringParser::Private::buildProjectedCRS(): avoid (harmless) division by ↵Even Rouault
zero in super odd case with corrupted PROJ string. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20624
2020-02-05Fix identification of ESRI-style datum names starting with D_ but without aliasEven Rouault
Fixes #1911
2020-01-26Make JSONParser::buildObjectDomain() staticEven Rouault
2020-01-26buildProjectionStandard(): make it obvious to cppcheck that null-ptr ↵Even Rouault
dereference cannot happen
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-23Fix wrong use of derivingConversionRef() that caused GDAL bugEven Rouault
Hopefully final cut at solving the same class of bug that the one that affected QGIS in December. This time, this hit GDAL in the situation of https://lists.osgeo.org/pipermail/gdal-dev/2020-January/051500.html The bug fix for that particular issue is in PROJStringParser::createFromPROJString() But grepping more in the code base, I could find other potential smelly situations (might not be issues, but better be safe than sorry), so let's fix them too. Bottom line is: derivingConversionRef() should *only* be used for consultation, and never to create a new ProjectedCRS()
2020-01-07createObjectsFromName(): make it look up in the alias_name table too (fixes ↵Even Rouault
#1823)
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-09CRS identification: use case insensitive comparison for authority name ↵Even Rouault
(fixes #1779)
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-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-25Pipeline: support +omit_fwd and +omit_inv keywordsEven Rouault
Inspired from syntax of https://github.com/OSGeo/PROJ/pull/453/files but 'rebased' on top of previous commit that cleans up the pipeline implementation Different situations: - +omit_fwd: the step when followed in the forward path will be omitted the step when followed in the reverse path will be executed - +omit_fwd +inv: the step when followed in the forward path will be omitted the step when followed in the reverse path will be executed (with the inv method) - +omit_inv: the step when followed in the forward path will be executed the step when followed in the reverse path will be omitted - +omit_inv +inv: the step when followed in the forward path will be executed (with the inv method) the step when followed in the reverse path will be omitted This will be used in the next commit to optimize constructs like +step +proj=hgridshift +grids=foo +step +proj=vgridshift +grids=bar +step +inv +proj=hgridshift +grids=foo Such steps are used for CRS to CRS transformations where applying the vertical grid requires to do a transformation to an interpolating CRS. One can notice that in the last step will just restore the horizontal coordinates before the first step, so doing an inverse hgridshift is overkill. So that could be optimized 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 In the forward path, this will be equivalent to: +step +proj=push +v_1 +v_2 +step +proj=hgridshift +grids=foo +step +proj=vgridshift +grids=bar +step +prop=pop +v_1 +v_2 And similarly in the reverse path, this will be quivalent to: +step +proj=push +v_1 +v_2 +step +proj=hgridshift +grids=foo +step +inv +proj=vgridshift +grids=bar +step +proj=pop +v_1 +v_2
2019-11-21Fix typos in code commentsEven Rouault
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-14createOperations(): fix transformation computation from/to a CRS with ↵Even Rouault
+geoidgrids and +vunits != m
2019-11-04Merge remote-tracking branch 'origin/master' into geoid_modelEven Rouault
2019-11-03Import from WKT of VERT_CS: remove outdated EXTENSION.PROJ4_GRIDS for NAVD88Even 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