aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-10-28Various fixes/workarounds to make cppcheck 1.72 (Ubuntu 16.04) and ↵Even Rouault
HEAD/1.90dev happy (fixes #1648)
2019-10-27Database: add an auxiliary concatenated_operation_step table to allow ↵Even Rouault
arbitrary number of steps (fixes #1632) EPSG:9103 (NAD27 to ITRF2014 (1)) is now handled. Note:EPSG:9104 (NAD27 to ITRF2014 (2)) is not currently, since it uses for step EPSG:8861 (NAD83(HARN) to NAD83(FBN) (1)) an unsupported transformation method (NADCON5 (3D), EPSG:1075).
2019-10-25importFromWkt(): fix axis orientation for non-standard ESRI WKT (fixes #1690)Even Rouault
2019-10-24Generalize generalize_proj_crs_create_bound_vertical_crs_to_WGS84()Even Rouault
In recent commits, we added a generalize_proj_crs_create_bound_vertical_crs_to_WGS84() function, but there are situations where more accurate results can be obtained, if instead of specifying WGS84 as the hub CRS, the user can specify the exact hub CRS. For example the GEOID2018 grid is against NAD83(2011). So replace this function with proj_crs_create_bound_vertical_crs()
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-10-18Merge pull request #1683 from rouault/fix_double_vertical_unit_conversionEven Rouault
createOperations(): fix double vertical unit conversion from CompoundCRS to other CRS when the horizontal part of the projected CRS uses non-metre unit
2019-10-18Fix segfaults in case of out-of-memory situations (fixes #1678) (#1679)yonarw
2019-10-18createOperations(): fix double vertical unit conversion from CompoundCRS to ↵Even Rouault
other CRS when the horizontal part of the projected CRS uses non-metre unit Fix issue reported on https://lists.osgeo.org/pipermail/proj/2019-October/008939.html
2019-10-18Fix two sentences that seem to be copy-and-paste forgotten.Martin Desruisseaux
2019-10-13Remove the sentence in documentation saying that CRS::coordinateSystem() may ↵Martin Desruisseaux
return null. It is true for datum(), but does not apply to coordinateSystem().
2019-10-13Merge pull request #1653 from rouault/doc_ob_tranEven Rouault
ob_tran doc: fix/clarify semantics of o_lat_p/o_lon_p
2019-10-12Merge pull request #1665 from ↵Kristian Evers
rouault/fix_custom_compound_crs_with_NAD83_2011_and_geoidgrid_to_WGS84_G1762 proj_create_crs_to_crs(): remove elimination of Ballpark operations that caused transformation failures in some cases
2019-10-12createOperations(): allow transforming from a compoundCRS of a bound ↵Even Rouault
verticalCRS to a 2D CRS
2019-10-12proj_create_crs_to_crs(): remove elimination of Ballpark operations that ↵Even Rouault
caused transformation failures in some cases
2019-10-04Merge pull request #1656 from rouault/demote_to_2DEven Rouault
Add a proj_crs_demote_to_2D(). Useful if forced to export a 3D CRS to a best approximate as WKT1 that doesn't support it
2019-10-04Merge pull request #1655 from rouault/aeqd_obliq_sphereEven Rouault
aeqd: for spherical forward path, go to higher precision ellipsoidal case when the point coordinates are super close to the origin (fixes #1654)
2019-10-04Add a proj_crs_demote_to_2D(). Useful if forced to export a 3D CRS to a best ↵Even Rouault
approximate as WKT1 that doesn't support it
2019-10-04proj_normalize_for_visualization(): make it work with CRS objectsEven Rouault
2019-10-03aeqd: for spherical forward path, go to higher precision ellipsoidal case ↵Even Rouault
when the point coordinates are super close to the origin (fixes #1654)
2019-10-03DerivedGeographicCRS: allow exporting +proj=ob_tran +o_proj=longlat to PROJ ↵Even Rouault
string
2019-10-03ob_tran.cpp: add comment to link maths with Snyder's formulasEven Rouault
2019-10-02Add API and WKT mapping for 'nsper' to EPSG Vertical Persepective methodEven Rouault
Relates to https://github.com/OSGeo/gdal/issues/1856
2019-10-02nsper: add a comment to relate it to EPSG Vertical PerspectiveEven Rouault
2019-10-01Fix some Cppcheck complaints in geodesic routinesCharles Karney
2019-10-01Add rotation support to the HEALPix projection (#1638)Simon Schneegans
2019-09-30Merge pull request #1642 from rouault/improve_compound_to_geogEven Rouault
Improve vertical transformation support
2019-09-30Merge pull request #1645 from rouault/improve_proj_string_parsingEven Rouault
PROJ string CRS ingester: recognize more unit-less parameters, and general handling of +key=string_value parameters
2019-09-30AuthorityFactory::getDescriptionText(): return CRS object in priorityEven Rouault
2019-09-28PROJ string CRS ingester: recognize more unit-less parameters, and general ↵Even Rouault
handling of +key=string_value parameters
2019-09-26Improve vertical transformation supportEven Rouault
When we had a transformation between a compoundCRS and a target geographicCRS, we did not take into account that in the vertical->other_geog_CRS transformation we used, the other_geog_CRS was an implicit interpolation CRS. Thus before doing vertical adjustment, we must go to this interpolation CRS. The workflow is thus: source CRS -> interpolation CRS + vertical adjustment + interplation CRS -> target CRS
2019-09-26proj_create_crs_to_crs(): fix when there are only transformations with ↵Even Rouault
ballpark steps Currently we would discard all operations, resulting in a PJ object with zero candidates. Better use those operations if nothing better is available. Was seen on transforming from ETRS89 / UTM zone 31N + EGM96 height to WGS 84 (G1762). The horizontal transformation from ETRS89 to WGS 84 (G1762) is a ballpark one.
2019-09-25isea: avoid shadowing warning on 'quad' on SolarisEven Rouault
Patch proj-6.2.0-isea.gpatch by Eric Dechaux
2019-09-25hatano/mbtfpp: do not use CS to fix Solaris build issueEven Rouault
Patches proj-6.2.0-hanato.gpatch and proj-6.2.0-mbtfpp.gpatch from Eric Dechaux
2019-09-24io.cpp: fix build on SolarisEven Rouault
Rename CS template argument, to avoid conflict with macro in Solaris system headers. Similar to 2f8bd934860b135044c5122e3272f7cc41ba81e7
2019-09-24createOperations() sorting: sort operations that cannot be exported as PROJ ↵Even Rouault
pipelines at end
2019-09-23Document the autopromotion to 3D when mix of 2D/3D CRS in ↵Even Rouault
createOperations(), and test it (fixes #1623)
2019-09-22promote proj_assign_context to proj.h from proj_experimental.hsnowman2
2019-09-22Update to version 1.50 of the geodesic library.Charles Karney
* Allow arbitrarily complex polygons in geod_polygon_*. In the case of self-intersecting polygons the area is accumulated "algebraically", e.g., the areas of the 2 loops in a figure-8 polygon will partially cancel. * Simplify code by using C99 functions remainder and remquo. * More test coverage. Fixes to associated files: * src/pipeline.cpp invoke geod_init with f = es / (1 + sqrt(1 - es)) instead of (the less accurate) f = 1 - sqrt(1 - es) * src/apps/geod_set.cpp remove "#undef f" (a dangling relic?).
2019-09-19Require C99 compiler see #1621Charles Karney
cmake and autoconf now stipulate C99 change c89 to c99 in travis jobs remove HAVE_C99_MATH checks (unrelated) relax Visual Studio compatibility check in cmake/project-config-version.cmake.in (VS 2019 can use a VS 2015 library but not vice versa).
2019-09-19Merge pull request #1618 from cffk/c99-math-updateCharles Karney
Remove unneeded C99 compatibility functions from math.cpp and proj_math.h I'll do the clean up of the -std=c89 flags etc. as a separate pull request.
2019-09-18Delete proj_math.h. Replace includes by <math.h>; we'll see if anyoneCharles Karney
needs <limits.h>. Update scripts/reference_exported_symbols.txt and src/proj_symbol_rename.h.
2019-09-18math.cpp removed since its isnan isn't used. Keep proj_math.h (whichCharles Karney
just includes math.h and limits.h) since it's included in a score of places.
2019-09-18Get rid of dead code. The end result of this chain of commits is toCharles Karney
eliminate most of math.cpp. All that is left is the handling of isnan (and I've this because math.cpp notes that gie.c uses pj_isnan). geodesic.c now handles supplying C99 math functions internally and this can go away once C99 support is mandated.
2019-09-18Let geodesic.c use its own versions of C99 math functions if necessary.Charles Karney
2019-09-18Try removing C99 math functions from math.cpp (but leave isnan).Charles Karney
2019-09-17ell_set.cpp: avoid division by zero in R_lat_a case. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16130
2019-09-17helmert: validate scale parameter to avoid later division by zero. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16106
2019-09-17aea_e_inverse(): avoid calling asin() with invalid argument which results in ↵Even Rouault
NaN being propagated. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15336
2019-09-17pj_Convert_Geocentric_To_Geodetic(): avoid division by zero on weird input ↵Even Rouault
coordinates and ellipsoid values. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15148&
2019-09-17isea: avoid undefined behaviour on left shift of negative value. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15009