| Age | Commit message (Collapse) | Author |
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3235. Credit to OSS Fuzz
|
|
Only substantial changes are (1) testing the HAVE_C99_MATH flag and
acting accordingly and (2) adding a couple of tests.
|
|
|
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3204. Credit to OSS Fuzz
|
|
* Added myself and Kristian Evers to AUTHORS file; Removed attribution for my 1999 contribution from proj.c
* Add missing lf before eof
|
|
Fix the Solaris 11.3 compilation error
|
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2723. Credit to OSS Fuzz
|
|
Uses the mathjax formatting for geodesic equations
|
|
Fix ITRF2014
|
|
|
|
Add tests for C99 math functions, hypot, atanh, cbrt, etc.
-DHAVE_C99_MATH=1 is provided if these functions are available. This
will be used by the next release of geodesic.c.
|
|
The equations on the documentation page for geodesics were plaintext
formatting and also contained a typo. This patch updates the formatting
to use the sphinx supported MathJax syntax and corrects the typo.
|
|
* Add ITRF init files, that makes it easy to use ITRF transformations in pipelines
* Added ITRF* files to the build systems
|
|
* Adding info functions to proj.h API.
Four new functions are added with this commit: proj_info(), proj_pj_info(),
proj_grid_info() and proj_init_info(). Additionally four new data types are
added: PJ_INFO, PJ_PROJ_INFO, PJ_GRID_INFO and PJ_INIT_INFO. The functions
return the corresponding data types.
These functions allows users of the PROJ.4 library to get information about
various PROJ.4 entities and the library itself. The new data types are structs
that contain specific information about either the library instance, a PJ
instance, a grid or an init file. Together the four new functions cover a big
part of the functionality in the semi-public projects.h API and should hopefully
make it easier for user to migrate their code to the proj.h API in the future.
Besides covering already existing functionality in the old API, this commit
introduces the ability to add metadata to init-files. This is primarily added
to give users a way of knowing which version of the EPSG database they are
using, but it also comes in handy for other init-files. The init-file metadata
is added directly to the init-file as a special "projection" called "metadata".
The info projection of the epsg init-file is thus described as:
<metadata> +version=9.0.0 +origin=EPSG +lastupdate=2017-01-10
The proj_init_info() function uses the internal pj_param() to read the
metadata. As a consequence, "metadata" will not be available as a the name of
a projection in the future. This is a reasonable price to pay considering the
ease of the implementation of adding metadata to init-files this way, and of
course that "metadata" is a very unlikely name for a projection in any case.
A metadata tag has been added to all init-files in the nad-directory. For most
only a subset of the possible parameters has been added.
* Replaced calls to sprintf and strncpy with safer options. Added pj_strlcpy for internal use.
* Fail gracefully when getting non-initialized PJ in proj_pj_info()
* Change length of filename member in PJ_INIT_INFO and PJ_GRID_INFO to 260 (MAX_PATH)
|
|
|
|
This tests whether the functions are declared in <math.h>. If they are,
then -DHAVE_C99_MATH=1 is added to the C flags. The intention is that
this flag is only seen when building proj.4 and shouldn't be referenced
in any of the installed include files. The next update to geodesic.c
will use this flag.
Left unaddressed is what to do if HAVE_C99_MATH is 0. The strategy in
geodesic.c is to assume that the missing functions will need to be
defined explicitly. A less safe alternative is to assume that the
functions are in fact available in libm and that all that needs to be
done is to declare the functions.
|
|
Better plots for documentation
|
|
|
|
Use NumPy functions a bit more and avoid using np.append too much.
The previous code did not ensure that interpolated points were less than
the tolerance apart.
|
|
|
|
Otherwise, it will try to use pre-installed data instead of a local
copy.
|
|
Plotting script is now more flexible and makes it possible to do more
elaborate setup of each individual plot. This is done by adding a JSON
file that holds a record for each plot in the documentation. A plot
can now be restricted to a given bounding box, and there's a choice
between plotting as polygons or linestrings, as well as both low and
medium resolution data to go choose from.
Plots have not been added to the repository yet, they will show up in
a later commit although most of the work is done here. Most
plots are now done as polygons. Generally speaking the plots that are
still based on line data have show some problems when plotted as
polygons. There is still an unsolved wrap-around problem that should
eventually be fixed.
The land.geosjson dataset has been densified manually at the antartic
to make sure that the land mass is depicted correctly in projected
space.
|
|
When _XOPEN_SOURCE 500 is defined on Solaris 11 the following error message is displayed : "Compiler or options invalid for pre-UNIX 03 X/Open applications and pre-2001 POSIX applications"
As pthread_mutexattr_settype is available without _XOPEN_SOURCE defined, the easier way to fix the error is to disable it.
|
|
Expose pj_factors and pj_deriv in public API.
proj_derivatives() and proj_factors() has been
introduced to the public proj.h API. The new functions are simply
wrappers for the original functions. The h argument of the two functions
has been omitted in the new wrappers as it does not seem to be used very
much (if at all?).
|
|
Eliminated *_ERROR* macros.
|
|
Expanded *_ERROR* macros with calls to proj_errno_set() and proper
returns when necessary. Defined a bunch of new PJD_ERR_ constants in
projects.h that corresponds to the error numbers in pj_strerrno.c. A few
unknown error numbers were replaced by existing ones in pj_strerrno.c.
|
|
|
|
Make sure to use custom hypot() when building as ANSI C
|
|
C99).
|
|
Correcting convergence formula for LCC. Fixes #16.
|
|
|
|
Adding more functions to the proj.h API
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
* Get PDF build output with Sphinx healthy
* copy pdf to branch for upload on website
|
|
|
|
set correctly on some versions of VS. Fixes #484.
|
|
Fixes #526.
|
|
coding style and mixed whitespace.
|
|
PJ_vgridshift.c: fix memleak in initialization if grid loading fail
|
|
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
|