| Age | Commit message (Collapse) | Author |
|
|
|
|
|
* obs_api revision and improvements: new namespace etc.
* Minor corrections: use unused functions, add missing prototype, added fwd/invcoord to PJ
* Minor correction: MSVC barfs on va_arg type specification. Trying once more with added parens
* Reverting paren correction, which appears to be a non-solution
* Significant improvements to the OBS_API, plus a number of corrections, mostly in test code, to reflect API changes
* Added two missing prototypes
* Adding the proj_transform function and some related checks
* Improvements to proj_transform etc. based on suggestions from Even Rouault
* Reducing the libc include footprint of proj.h - again based on suggestions from Even Rouault
* A few minor corrections
* Eliminate a MSVC warning about non-initialized usage. Not an actual issue, as another check has locked the path, but at least this should calm down MSVC
* Improved support for the errno reset/restore paradigm
* Introduced the internal header proj_internal.h; Moved most non-API stuff from pj_obs_api.c to pj_internal.c
* Adding proj_internal.h to HEADERS_LIBPROJ to solve build problems
* Correcting a few pj...proj blunders in PJ_pipeline.c
* Correcting a few additional blunders in PJ_pipeline.c
* Changed angle-brackets to quotation marks in includes of proj_internal.h
* Some minor build system repairs
* Some PJ_CONTEXT usage simplifications following suggestions by Kristian Evers @kbevers
* Added version numbering to proj.h - Fixes #529
* remove proj_errno_restore macro, provide function implementation
* Add proj_get_definition. Fixes #538
* Added library specific deallocator proj_buffer_free, eliminating a potential cross heap issues on Windows. Thx to Even Rouault for spotting this
* Got rid of a meaningless cast in proj_buffer_free
* Added some missing functions to proj.def (again spotted by @rouault); removed some not-yet-implemented material from proj.h
* Renamed proj_get_definition/proj_buffer_free to proj_definition_create/proj_definition_destroy, for symmetry and clarity
* Renaming the definition handlers to proj_definition_retrieve / proj_free
* Renaming proj_free to proj_release
|
|
Correct calculation of meridian convergence for non-conformal projections
|
|
|
|
With the introduction of transformation pipelines it is now a valid
use case to have more than one +init argument in a proj string. This
commit makes sure that all +init's are expanded.
Added test case to PJ_pipeline.c for use of multiple +init's in a
proj-string.
Fixes #479.
|
|
set correctly on some versions of VS. Fixes #484.
|
|
Fixes #526.
|
|
coding style and mixed whitespace.
|
|
When gridloading fail for one grid, but return a gridlist, we leak the grid list array.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2230. Credit to OSS Fuzz
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2167. Credit to OSS Fuzz
|
|
|
|
|
|
computations using Newton-Raphson. Credit to OSS Fuzz
|
|
|
|
OSS Fuzz
|
|
|
|
Negative values of m and n are not valid. Can for certain values of m
and n result in zero division. An error is raised at projection setup if
m or n is negative.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1836
Credit to OSS-Fuzz.
|
|
Remove confusing macros.
|
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2000. Credit to OSS Fuzz
|
|
Avoids zero-division in PJ_helmert.c
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1956
Credit to OSS-Fuzz.
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1950. Credit to OSS Fuzz
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1932
Credit to OSS Fuzz
|
|
For example +proj=ob_tran +o_proj=hgridshift
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1927
Credit to OSS Fuzz
|
|
* pj_transform() crashes on a catalog that has no matching grid
* pj_free() and pj_gc_unloadall() badly interact. No longer try to free the
catalog object in pj_free(). That is the job of pj_gc_unloadall()
* Fix memory leaks in pj_gc_readcatalog() and pj_gc_unloadall()
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1923
Credit to OSS Fuzz.
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1873
Credit to OSS Fuzz
|
|
'make check' on a build with -fsanitize=undefined,address
|
|
when running 'make check' on a build with -fsanitize=undefined,address
|
|
Can happen when any of the src/dest projection has a +catalog parameter.
Fix a memory leak on catalog_name as well.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1799
Credit to OSS Fuzz
|
|
|
|
The upper-case macro `VAR` casts the lower-case variable `var` to an
expected type, but that usage obfuscates the variables to the casual
reader. This is especially prevalent in the allocation function in which
`var` is the correct type already, so both `var` and `VAR` are valid
*and* in use.
In any case, for those functions that don't obtain `var` in the correct
type from their parameters, it's much simpler to just case once at the
beginning.
|
|
Handle zero division errors reported by OSS-Fuzz
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1800
Credit to OSS-Fuzz.
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1795
Credit to OSS-Fuzz.
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1787
Credit to OSS-Fuzz.
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1789
Credit to OSS-Fuzz.
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1791
Credit to OSS-Fuzz.
|
|
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1793
Credit to OSS-Fuzz.
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1794
Credit to OSS Fuzz
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1796
Credit to OSS Fuzz
|
|
Avoid potentially very long loop when normalizing longitudes around long_wrap_center
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1797
Credit to OSS-Fuzz.
|
|
Fixes https://oss-fuzz.com/v2/testcase-detail/5224053675655168?noredirect=1
Credit to OSS-Fuzz
|
|
For some extreme values of eccentricity a zero divison can occur. In
those rare cases we return HUGE_VAL to indicate something went wrong
while still returning a defined value.
Credit to OSS Fuzz.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1801
|
|
long_wrap_center
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1809
Credit to OSS Fuzz
|
|
Credit to OSS Fuzz
|
|
Whe PIN = (*proj)(PIN) fails, it doesn't free the geod member.
So allocate it afterwards.
Credit to OSS Fuzz
|
|
A pseudo-projection that can be used to convert units of input and
output data. Primarily useful in pipelines.
Unit conversion is performed by means of a pivot unit. The pivot unit
for distance units are the meter and for time we use the modified julian
date. A time unit conversion is performed like
Unit A -> Modified Julian date -> Unit B
distance units are converted in the same manner, with meter being the
central unit.
The modified Julian date is chosen as the pivout unit since it has a
fairly high precision, goes sufficiently long backwards in time, has no
danger of hitting the upper limit in the near future and it is a fairly
common time unit in astronomy and geodesy. Note that we are using the
Julian date and not day. The difference being that the latter is defined
as an integer and is thus limited to days in resolution. This approach
has been extended wherever it makes sense, e.g. the GPS week unit also
has a fractional part that makes it possible to determine the day, hour
and minute of an observation.
In- and output units are controlled with the parameters
+xy_in, +xy_out, +z_in, +z_out, +t_in and +t_out
where xy denotes horizontal units, z vertical units and t time units.
Distance units are converted similar to what is already in use in PROJ.4.
To ease usage of the already defined conversion factors a new column
with the factors defined as doubles has been added to the pj_units array.
This simplifies the code significantly, since parsing the defined strings
can be avoided.
|
|
|