| Age | Commit message (Collapse) | Author |
|
|
|
Remove selftests from projection files starting with h, i, j, k
|
|
|
|
|
|
grid area. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3960. Credit to OSS Fuzz. master only
|
|
NULL. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3645. Credit to OSS Fuzz
|
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3573 , https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3643 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3641 . Credit to OSS Fuzz
|
|
Use HAVE_C99_MATH instead of _WIN32_ and __ANSI__
|
|
HAVE_C99_MATH was recently added to the build system as a safer way to
determine if non-ansi math functions are available on the current
system. Previously different combinations of tests including _WIN32_ and
__ANSI__ have been in use, but cases where that strategy has failed is
known. Hence this change to a hopefully more robust check of math
function availability.
|
|
proj_create is now indifferent whether or not proj definition terms start with a '+' character. Also, improve gie to support testing this.
|
|
* Ensure C89 compliance and enable more warnings
According to the contributing guidelines, the library is developed
strictly in ANSI C 89. However, this is not enforced.
Additionally, we enable more warnings: apart from -Wall and -Wextra we
enable a warning that makes sure all enumeration values are covered in
a switch statement.
When compiling with Clang, we also turn on the warnings -Wc99-extensions
and -Wc11-extensions.
* Enable all warnings that are used on Travis
This makes it easier to notice problems before pushing.
|
|
|
|
* enter proj_angular_input and proj_angular_output, exit proj_angular_left and proj_angular_right
* remove unused variable 'unit'
* In gie: remove unused func 'torad_if_needed', and add static keyword where needed
* In gie: add some comments
|
|
|
|
CONVERSIONS that are not PROJECTIONS
|
|
Enumerations have the following advantages over #define:
- they clearly connect a variable and the allowed constants,
- the meaning of code is not obfuscated by integer values,
- they are visible to the compiler, which can warn about (possibly)
incorrect usage.
There should be no functional change.
|
|
of special cases to handle in pj_init.c
|
|
PJ_OBS eliminated, API adjusted to reflect that we now have only one 4D data type.
2 new API functions added to determine output types of a PJ.
|
|
|
|
Add Clifford J. Mugnier notes about LCCA from PROJ.4 mailing list
|
|
* Discern between conversions and transformations
|
|
* Remove a number of debugging calls and memory management from the inner loop of the pipeline drivers
* An attempt at handling inverted steps in a more straightforward way
|
|
|
|
Add 'axisswap' operation - swap axes in pipelines
|
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3944
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3947
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3955
Credit to OSS-Fuzz.
|
|
|
|
Resolves https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3940
Credit to OSS-Fuzz.
|
|
* change suspicious loop exit condition in nad_cvt
* touch up nad_cvt.c
* ...and remove tabs
|
|
Kinematic gridshifting
|
|
|
|
|
|
Kinematic deformation models are used in some geodetic transformations.
This commit introduces the ability to do transformations involving a
gridded deformation/velocity model. For practical reasons a gridded deformation
model needs to be split into two seperate files, one for the horizontal
components and one for the vertical component. For this we use formats
already known to PROJ.4, namely the CTable/CTable2 and the GTX formats.
Grids are specified in the proj-string with +xy_grids and +z_grids.
Grid values are expected to be in m/year. The kinematic part of the
operation is controlled by the +t_epoch parameter, which is the central
epoch of the transformation. An observation epoch is also needed. It can
be specified either in the PJ_OBS input as the fourth element in the
coordinate, or in the proj-string with +t_obs. If +t_obs is present in
the proj-string it takes presedence over the value in the PJ_OBS
coordinate.
|
|
This refactoring of the grid shift functions allows for easier access to
the actual grid values, as well as making it possible to perform
horizontal grid shift on a single coordinate without using the
pj_apply_gridshift* functions. The latter simplifies the execution path
of the forward and inverse functions in PJ_hgridshift.c.
This commit introduces proj_*grid_init, proj_*grid_value
and proj_hgrid_apply. The init functions initialises horizontal and
vertical grids respectivelive (wrappers for pj_gridlist_from_nadgrids
with simpler parameters). The proj_*grid_value functions returns the
specific grid value at coordinate lp. The proj_hgrid_apply function
applies the grid offset to the input coordinate and outputs the adjusted
coordinate.
|
|
patterns PJ_f....c and PJ_e....c
|
|
* Repair gie and cct after breakage due to proj_strtod update
* Remove unused variables
|
|
* Remove PJ_OBS from the API surface, rename pj_obs_api.c to pj_4D_api.c
* Repair proj.def
|
|
In order to mimic strtod, proj_strtod now returns 0 and not HUGE_VAL on nonnumeric input. Hence, we must check the return pointers to identify an error.
|
|
|
|
Allow nested pipelines when wrapped in +init's.
The previous behaviour was to quit pipeline initialization when
encountering a nested pipeline definition. With this commit that
behaviour is changed so that it is possible to nest pipelines as
long as they are defined elsewhere in a init-file.
This is useful in init-files where steps in complicated transformations
can be grouped in "sub-pipelines". These "sub-pipelines" can then be
used as individual steps in a larger and more complicated pipeline.
Nested pipelines are governed by the following rules:
1. You can't have more than one literal +proj=pipeline in a proj-string
2. Pipelines can be nested if they are wrapped up in a +init
3. More than one +init is disallowed in non-pipeline proj-strings
4. +inits are expanded as late as possible, that is they will only be
expanded in single operations (that can be a part of a pipeline)
|
|
|
|
* Linguistics: Clarify this and that, here and there
* Revert nullification of PJ_cart->fwd, inv
|
|
Repair and improve broken cct output routine and do a few minor cleanups
|
|
patterns PJ_f....c and PJ_e....c
|
|
* Repair gie and cct after breakage due to proj_strtod update
* Remove unused variables
|
|
* Remove PJ_OBS from the API surface, rename pj_obs_api.c to pj_4D_api.c
* Repair proj.def
|
|
In order to mimic strtod, proj_strtod now returns 0 and not HUGE_VAL on nonnumeric input. Hence, we must check the return pointers to identify an error.
|
|
Extend proj_strtod test cases and improve strtod-replication
|
|
|
|
Added 4D fwd/inv functions and unit descriptors to the latlong PJ object to work properly in pipelines.
|
|
In anticipation of a late-binding implementation of the proj_transform_crs_to_crs function
an area argument is added to the function prototype. The PJ_AREA struct is not in use yet,
but will be when the function is more tightly coupled to the EPSG database in the future.
|