| Age | Commit message (Collapse) | Author |
|
|
|
that it is automatically added
|
|
Fixes #2482
And also add proj_context_errno_string()
Revise gie 'expect failure errno XXXX' strings
|
|
|
|
Add +proj=topocentric geocentric->topocentric conversion (fixes #500)
|
|
|
|
Gone are pj_malloc, pj_calloc, pj_dalloc and pj_dealloc. Their primary
function as API memory functions in proj_api.h is no longer there and
the other use as a workaround for old errno problems is no longer valid
either.
Replaced with malloc and free across the codebase.
|
|
Add proj_degree_input() and proj_degree_output()
|
|
Equivalent to proj_angular_input() and proj_angular_output() but
checking for degree units instead. proj_create_crs_to_crs() rarely, if
ever, returns pipelines that has radians as input or output so using
proj_angular_*() is not a useful check for io units of pipelines.
These two new functions should make life a bit easier for users that
generally store there angular coordinates in radians.
Closes #2027
|
|
Saves 2 sincos() and 1 atan2() calls.
With the following bench
```
#include "proj.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
if( argc != 2 ) {
fprintf(stderr, "Usage: bench_inv_cart fwd/inv\n");
exit(1);
}
PJ* p = proj_create(0, "+proj=cart");
const int dir = strcmp(argv[1], "inv") == 0 ? PJ_INV : PJ_FWD;
PJ_COORD coord;
if( dir == PJ_FWD )
{
coord.xyz.x = 3.14159/2;
coord.xyz.y = 3.14159/2;
coord.xyz.z = 100;
}
else
{
coord.xyz.x = 3e6;
coord.xyz.y = 3e6;
coord.xyz.z = 3e6;
}
for(int i = 0; i < 10* 1024 * 1024; i++ )
{
proj_trans(p, dir, coord);
}
proj_destroy(p);
return 0;
}
```
On Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Time before: 2.37s
Time after: 1.57s
|
|
https://github.com/OSGeo/PROJ/pull/2065
|
|
|
|
This should avoid issues with numerical stability as uncovered in
https://github.com/OSGeo/PROJ/issues/1906.
Practically speaking this change isn't going to affect real life
scenarios since the position of the center of the Earth is rarely
expressed in geodetic coordinates.
|
|
Fixes #1846
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20072
|
|
- unitconvert, ell_set and helmert were using debug level, which is
too verbose. Using trace instead
- proj_trans() was using trace to indicate the operation it selects.
Changing it to debug
|
|
HEAD/1.90dev happy (fixes #1648)
|
|
needs <limits.h>. Update scripts/reference_exported_symbols.txt and
src/proj_symbol_rename.h.
|
|
In that case, for a non-spherical ellipsoid, a phi = 180deg was returned,
which caused a division by zero in the foward path of moll.cpp
Fixup the latitude to be 0 when that happens.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14348
Credit to OSS Fuzz
|
|
Add no-op operation. It does nothing.
|
|
Ossfuzz 13947 13948
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13947
Credit to OSS Fuzz
|
|
Introduced by "Merge projects.h into proj_internal.h" 8ab6f683.
|
|
|
|
With this commit we make sure that proj_angular_input() and
proj_angular_output return the correct result for any given pipeline.
|
|
This communicates better what the unit actually is. It also opens the
door for potentially adding PJ_IO_UNITS_DEGREES in the future in order
to coordinates in degrees correctly as well.
|
|
|
|
structures
|
|
|
|
projections/ transformations/ tests/ subdirectories
|