| Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
Completing the Helmert driver with the 4-parameter shift that handles
the 2D transformation. The implementation is written in such a way that
not only 2D-points but also 3D- and 4D-points can be transformed with
the 4-parameter Helmert. The four parameters that can be set in this
mode are +x, +y (translations), +s (scale) and +theta (rotation). The
presence of the +theta parameter activates the 2D-helmert code,
irregardless of the input data's dimensions.
The units are meters for the translations as in all the other versions
of the Helmert transform. The rotation unit is arcseconds. The units of
the scale differ from the 3-, 7- and 14-parameter shift where the unit
is ppm. Here it is instead given directly and is as such unitless.
The 4-parameter case can also be extended to an 8-parameter shift in
the same way as the 7-parameter shift extens to the 14-parameter shift.
This might be a bit silly and will probably never be used, but
nonetheless, I have included it for the sake of completeness. The rates
of change are givens as +dx, +dy, +ds and +dtheta.
|
|
Extended Helmert transformation to 14-parameters.
This commit extends the Helmert transformationto the fourth dimension and
enables spatio-temporal datum shifts in PROJ.4. On top of the usual 7
parameters (+x, +y, +z, +s, +rx, +ry, +rz) the rates of change of the seven
parameters can now be used as well. The new parameters are called +dx,
+dy, +dx, +ds, +drx, +dry and +drz. To keep track of the datum epoch and
coordinate epoch two additional parameters have been added to the
Helmert transformation, one of which is mandatory in the 14-parameter
case. The mandatory datum epoch is controlled with +epoch (given in
YYYY.yyyy format) and the coordinate, or observation, epoch is either
controlled in the proj-string with +tobs or by using 4D-coordinates
when transformating coordinates with pj_trans().
See the test functions for examples of how to set up the transformation
with 14 parameters.
|
|
|
|
When running the self-test with logging was turned off globally when
the PJ_cart test was run. As a consequence all test functions
called after PJ_cart was not able to output debugging information.
In most cases this would go by unnoticed but when calling proj with
PROJ_DEBUG=1 (or higher) all debugging output whould get suppressed.
This commit removes the call to pj_log_level that turns of debugging
output in the self-test.
|
|
|
|
|
|
|
|
- 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))
|
|
Until now gridshifts has not been working with the new API in
proj.h since parsing of +nadgrids and +geoidgrids is build
into pj_transform(). This commit introduces the possibility to
do both horizontal and vertical gridshift with the pipeline API.
The vgridshift and hgridshift kernels are simple wrappers for
pj_apply_gridshift3() and pj_apply_vgridshift() that are
also used by pj_transform().
Introduced in PR #492.
|
|
file.
Will help GDAL finding where +nadgrids=... or +geoidgrids=... resouces are located
to be able to directly open them.
|
|
|
|
freeup_new must not return before both P->opaque and P are deallocated.
|
|
|
|
|
|
|
|
C11 compilation
|
|
Fix warnings related to -Wshadow -Wnull-dereference -Wfloat-conversion -Wmissing-prototypes -Wmissing-declarations
|