| Age | Commit message (Collapse) | Author |
|
Be more aggressive in preventing negative s12 and m12 for short lines.
Initialize reference argument to remquo.
|
|
Should be no changes in the compiled code.
|
|
|
|
|
|
* 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?).
|
|
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
|
|
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
|
|
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...).
|
|
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.
|
|
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.
|
|
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.
|
|
Only substantial changes are (1) testing the HAVE_C99_MATH flag and
acting accordingly and (2) adding a couple of tests.
|
|
|
|
- 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))
|
|
Improve accuracy of area calculation (fixing a flaw introduced in
version 1.46). Changed files geodesic.[ch3], geodtest.c, geod.1.
|
|
|
|
|
|
* 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
|
|
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).
|
|
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
|
|
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
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2377 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2353 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
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
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2297 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1025 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@1015 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@883 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@828 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@776 4e78687f-474d-0410-85f9-8d5e500ac6b2
|