aboutsummaryrefslogtreecommitdiff
path: root/src/geodesic.h
AgeCommit message (Collapse)Author
2021-03-13Update geodesic routines from GeographicLib 1.52Charles Karney
Be more aggressive in preventing negative s12 and m12 for short lines. Initialize reference argument to remquo.
2020-11-24Sync w GeographicLib 1.51. Remove C99 compatibility functions. (#2445)Charles Karney
Should be no changes in the compiled code.
2020-05-09scripts/fix_typos.sh: fix URLs to dictionaries, and fix typos spottedEven Rouault
2019-12-04Build: Only export symbols if building DLLOwen Rudge
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?).
2018-11-14Implement RFC 2: Initial integration of "GDAL SRS barn" workEven Rouault
This work mostly consists of: - a C++ implementation of the ISO-19111:2018 / OGC Topic 2 "Referencing by coordinates" classes to represent Datums, Coordinate systems, CRSs (Coordinate Reference Systems) and Coordinate Operations. - methods to convert between this C++ modeling and WKT1, WKT2 and PROJ string representations of those objects - management and query of a SQLite3 database of CRS and Coordinate Operation definition - a C API binding part of those capabilities This is all-in-one squashed commit of the work of https://github.com/OSGeo/proj.4/pull/1040
2018-05-30Fix warnings found by clang with new warning flags to be added in later commitEven Rouault
Fixes consist in: - no use of comma operator for multi statement purpose - avoid confusing comma in for loops first and third clauses - avoid implicit long to int casts by storing to long, or explicit bound checking before cast
2018-03-17Patch 1.49.3 for geodesic package.Charles Karney
Set flags for Intel compiler to prevent incorrect optimization of arithmetic expressions #826. Guard against nans in sincosdx #834. Issue #831 is not addressed here (need more information...).
2018-02-23Add tests to improve the code coverage.Charles Karney
Now all of geodesic.c is covered except for 3 lines (and 2 of these are intentionally dead code). This corresponds to tag v1.49.2-c in the GeographicLib code base. While testing polygons which encircle the globe multiple times, I uncovered a problem where the range of the area was not reduced to the allowed range (either [0, area0) or (-area0/2, area0/2]) correctly. Since the documentation explicity restricted the calculation of polygon areas to simple polygons, we'll defer fixing this for now. (However the intention was always to handle the area "algebraically" so that, for example, a "bowtie" has zero area. So I will plan on fixing this for 1.50.) Update copyright dates + NEWS.
2018-02-22Fix issue #812Charles Karney
Implement Polygon AddEdge fix in C library (will be version 1.49.2 of C library for proj 5.0.0). Still to do: add tests to expand code coverage. This will only affect geodtest.c which is not part of the compiled library.
2017-12-18Fix issue #715. Merge 1.49.1 of geodesic library (tagged as v1.49.1-cCharles Karney
in GeographicLib). Details: Workaround bugs in handling of -0.0 in fmod and sin in Visual Studio 10, 11, and 12. Relax unrealistically strict delta for GeodSolve59 in geodtest.
2017-08-29Release candidate for geodesic library version 1.49.Charles Karney
Only substantial changes are (1) testing the HAVE_C99_MATH flag and acting accordingly and (2) adding a couple of tests.
2017-04-10geodesic.h: Switch to geodesic version 1.48.1.Charles Karney
2017-04-09Merge is geodesic routines from GeographicLib 1.48. Changes:Charles Karney
- http://geographiclib.sf.net -> http://geographiclib.sourceforge.io - backport fixes for warnings messages from some compilers - change default range for longitude and azimuth to (-180d, 180d] (instead of [-180d, 180d))
2017-02-15Issue #490 update from geodesic routines from GeographicLib 1.47.Charles Karney
Improve accuracy of area calculation (fixing a flaw introduced in version 1.46). Changed files geodesic.[ch3], geodtest.c, geod.1.
2016-12-12Add a scripts/fix_typos.sh script and correct reported errorsEven Rouault
2016-02-16Increment version for geodesic library to 1.46.1.Charles Karney
2016-02-15Upgrade geodesic library from GeographicLib 1.46.Charles Karney
* upgrade geodesic.[ch3] * add test suite geodtest.c and invoke via cmake's add_test * increment version to 4.9.3 and library version to 11.0.0
2015-08-16Drop in the latest geodesic library from GeographicLib (version 1.44).Charles Karney
http://geographiclib.sourceforge.net/1.44/C/index.html The changes are: - Improve accuracy of calculations by evaluating trigonometric functions more carefully and replacing the series for the reduced length with one with a smaller truncation error. - The allowed ranges for longitudes and azimuths is now unlimited; it used to be [-540d, 540d). - Enforce the restriction of latitude to [-90d, 90d] by returning NaNs if the latitude is outside this range. - The inverse calculation sets s12 to zero for coincident points at pole (instead of returning a tiny quantity). This commit also includes a work-around for an inaccurate value for pi/180 in dmstor.c (see the definitions of DEG_IN and DEG_OUT in geod_interface.c).
2015-05-20Update to version 1.43 of the geodesic routines. This fixes twoCharles Karney
relatively obscure problems. (1) The business of returning an unrolled longitude with the solution to the direct problem was broken for west-going geodesics. (2) For flattening > 1/100, a slight inaccurate result was returned for a12 in the direct calculation. git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2656 4e78687f-474d-0410-85f9-8d5e500ac6b2
2015-02-09Fix NaN handling by geod_inverse and incorrect area computation by ↵Even Rouault
geod_polygon_addedge if the longitude extent of the added edge exceeds 180 degrees (patch by Charles Karney, #251, #253) git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2600 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-07-12allow polygon vertices to be specified incrementally for geodesic area (#221).Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2377 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-06-23sync up with what will be GeographicLib 1.31 (#216)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2353 4e78687f-474d-0410-85f9-8d5e500ac6b2
2013-05-10Major upgrade to geodesic support from Charles Karney (#197). Frank Warmerdam
Syncs geodesic routines with GeographicLib. Adds geodesic.3 man page. geod_* api exposed publically. geodesic.h is installed. git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2333 4e78687f-474d-0410-85f9-8d5e500ac6b2
2012-12-07replacement of geodesic engine with one from Charles Karney (#197)Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2297 4e78687f-474d-0410-85f9-8d5e500ac6b2
2002-07-08ensure clean C++ buildsFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1025 4e78687f-474d-0410-85f9-8d5e500ac6b2
2002-05-30use less conflicting names for a, S and fFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1015 4e78687f-474d-0410-85f9-8d5e500ac6b2
2000-11-30use proj_strtod() in dmstor()Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@883 4e78687f-474d-0410-85f9-8d5e500ac6b2
2000-03-30Make C++ clean.Frank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@828 4e78687f-474d-0410-85f9-8d5e500ac6b2
1999-03-18NewFrank Warmerdam
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@776 4e78687f-474d-0410-85f9-8d5e500ac6b2