| Age | Commit message (Collapse) | Author |
|
In that mode:
* All non-comment/decoration lines must start with a valid tag
* Commands split on several lines should be terminated with " \"
|
|
|
|
* Allow importing EPSG:{horizontal_code}+{geographic_code} and
turn it into valid Geographic 3D or Projected 3D CRS internally
* Allow importing WKT1 COMPD_CS[] with above structure
* On an object imported that way, allow exporting to WKT1_GDAL,
with this non-standard structure of a horizontal CRS + geographic CRS
|
|
|
|
proj_context_get_user_writable_directory to proj.h (#2162)
Fixes #2028
|
|
Ingestion of WKT1_GDAL: correctly map 'Cylindrical_Equal_Area'
|
|
|
|
|
|
Map it to 'Lambert Cylindrical Equal Area' / EPSG:9835 non-spherical
method, when the ellipsoid is not a sphere. And rationalize the
handling of this for other methods with spherical vs non-spherical formulations
|
|
Update proj.rst
|
|
See https://github.com/OSGeo/PROJ/pull/2164/
|
|
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=21761
|
|
AppVeyor: use Ninja generator, cache vcpkg installed packages
|
|
C++ exceptions (#2160)
|
|
|
|
tmerc/utm: add a +algo=auto/evenden_snyder/poder_engsager parameter
|
|
Adams Square II: map ESRI WKT to PROJ string, and implement iterative inverse method
|
|
|
|
|
|
createOperations(): do not remove ballpark transformation if there are only grid based operations, even if they cover the whole area of use (fixes #2143)
|
|
Add square conformal projections from libproject
|
|
|
|
This commit adds five new projections to PROJ:
adams_hemi: Adams Hemisphere in a Square
adams_wsI: Adams World in a Square I
adams_wsII: Adams World in a Square II
guyou: Guyou
peirce_q: Pierce Quincuncial
The code originates from Gerry Evendens libproject and has been adapted
to work with modern PROJ. To ensure that the modified code works as
intended extensive test data has been created using libproject and
sproj so that no errors occured when porting from libproject to PROJ.
The test data is wrapped in a gie files. All test cases reproduce
results from libproject at the mm level.
|
|
The default remains +alg=poder_engsager.
This default value can be changed in proj.ini
+algo=auto will use Evenden Synder implementation if the error in
doing so remains below 0.1 mm on Earth-sized ellipsoid
|
|
|
|
|
|
|
|
grid based operations, even if they cover the whole area of use (fixes #2143)
|
|
|
|
Extended tmerc: speed-up forward path by ~5%
|
|
LCC_2SP (#2150)
As switching the 2 standard parallels for Lambert Conformal Conic 2 standard
parallels result in a equivalently numerical projection definition, take
that into account when querying the database.
|
|
|
|
Saves a useless sqrt() call
|
|
Add proj_degree_input() and proj_degree_output()
|
|
Remove old geocent.h/.cpp code
|
|
|
|
Inverse cart: speed-up computation by 33%
|
|
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
|
|
Last user, apart from transform.cpp, was the SCH projection. Modify it
to use cart instead.
And move content of geocent.h and .cpp into transform.cpp directly, so
that it can be later wiped up easily.
|
|
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
|
|
|
|
(refs https://github.com/OSGeo/gdal/issues/2392)
|
|
|
|
|
|
|
|
variables) [skip travis] (#2133)
|
|
autoconf build: fix build on Alpine 3.11 where __attribute__((target_clones("fma","default"))) doesn't work for some reason
|
|
__attribute__((target_clones("fma","default"))) doesn't work for some reason
|
|
Move inline code for optimize mlfn from tmerc to mlfn.hpp to avoid code duplication
|
|
avoid build failure
|