| Age | Commit message (Collapse) | Author |
|
transformations using geoidgrids)
When importing from a PROJ4 string with +towgs84, +nadgrids or
+geoidgrids terms, the datum name was just set to 'unknown'. So for
example the datums of '+proj=longlat +ellps=GRS80 +towgs84=1,2,3' and
'+proj=longlat +ellps=GRS80 +towgs84=4,5,6' were considered identical,
because they had the same name 'unknown' and used the same ellipsoid.
This affected the transformation of such CRS when they had an
additional +geoidgrids term, which resulted in an erroneous +proj=push
+v_1 +v_2 step to be added to preserve the horizontal coordinates.
|
|
PROJ4_GRIDS
Fix issue reported in https://lists.osgeo.org/pipermail/gdal-dev/2022-March/055587.html
|
|
fdf5111a9a790926aacec75a07d30508a8ed9c91 changes
|
|
Transformation: no longer do vertical trasnformation when doing compound CRS to 2D CRS / add --3d to cs2cs
|
|
Fix comparison of GeodeticRefrenceFrame vs DynamicGeodeticReferenceFrame
|
|
to 2D CRS / add --3d to cs2cs
Previously, when computing transformation between a compound CRS and a
geographic/projected 2D CRS, the behaviour was similar to implicitly
promoting the 2D CRS to 3D CRS in the pipeline computation logic, hence
a geoid model could be applied. But note that when doing a geographic 3D
to geographic/projected 2D CRS transformation, we *did* not do this implicit
promotion and if a Helmert transformation existed between the datums, it
was done only in 2D. So this is a bit inconsistent and triggered the
comment in https://github.com/OSGeo/PROJ/issues/2318#issuecomment-1068924513
With this commit, we no longer do any vertical transformation when doing
compound CRS to the 2D CRS, but just take the transformation of the
horizontal part of the compound CRS to the 2D CRS.
Said otherwise, NAD83+NAVD88 to NAD83 will no longer lead to the
application of the geoid model. Unless you explicitly ask for the
promotion NAD83 to 3D.
Also related, in https://github.com/OSGeo/PROJ/issues/1563 that went to 6.3.0,
I changed cs2cs to automatically promote to 3D the CRS as soon as one of
them was compound, for the sake of being consistent with the past
behaviour. But it then becomes difficult to predict PROJ behaviour
depending on which level of it you consider...
This commit undoes that and adds an explicit --3d switch to cs2cs, similarly to
projinfo, to ask for promotion.
Other bug fix found in the process, when using legacy syntax, +init=epsg:4979,
(WGS 84 3D), the resulting CRS was 2D and not 3D.
|
|
If comparing a DynamicGeodeticReferenceFrame object and its export to
WKT1, which is a simple DATUM object, currently in non-strict comparison
mode, we'd consider the datum to be equivalent to the dynamic datum, but
not the reverse, which breaks the symmetric property of the
isEquivalentTo() operation. So fix this, to consider both equivalent
whatever the operand order.
(in strict mode, the objects will be considered different of course)
Spotted in the GDAL GeoTIFF CRS reader code:
https://github.com/OSGeo/gdal/blob/f9d48bdcc8c90df20e53b5af5785f1e5d78910db/frmts/gtiff/gt_wkt_srs.cpp#L832
Do same change for vertical datum vs dynamic vertical datum.
|
|
unitconvert: round to nearest date when converting to yyyymmdd.
|
|
|
|
Add doxygen entries for:
- proj_context_set_file_finder
- proj_context_set_ca_bundle_path
Fixes #2540
|
|
This resolves an issue where converting from a low-precision decimalyear
to yyyymmdd gave the wrong result, due to mjd_to_yyyymmdd() truncating
away the fractional time component.
This commit changes the behaviour of mjd_to_yyyymmdd() to round to the
nearest date, instead of truncating.
Refs #1483
|
|
CRS -> +proj=longlat +lon_wrap (fixes #3095)
|
|
needed (refs #3076)
|
|
compound CRS of a projected CRS (fixes #3076)
|
|
Fix issue when transforming from/to BoundCRS of 3D CRS with non-Green…
|
|
prime meridian, created from WKT (fixes OSGeo/gdal#5408)
|
|
Fix wrong results with SQLite 3.38.0 (fixes #3077)
|
|
|
|
|
|
|
|
Co-authored-by: Bas Couwenberg <sebastic@xs4all.nl>
|
|
|
|
|
|
383362)
|
|
deref (CID 383356)
|
|
383358)
|
|
|
|
|
|
https://lwn.net/Articles/?offset=50 was an entertaining reading where we
learn that the fact that argv[0] contains the name of the binary is
purely a convention, normally taken by the shell that launches the
process, but not guaranteed by the execve() system call that does the
job.
The following test program tested against cct, cs2cs, geod, gie and proj
make them cause a null pointer dereference
```
#include <unistd.h>
#include <stdio.h>
extern char **environ;
int main()
{
char* argv[] = { NULL };
printf("%d\n", execve("/path/to/some/proj/binary", argv, environ));
return 0;
}
```
|
|
|
|
square or diamond. Follow-up of #3014. Fixes #3056. master only
|
|
MapServer/MapServer#6478)
|
|
proj.ini: add a 'ca_bundle_path' variable
|
|
|
|
Cf thread https://lists.osgeo.org/pipermail/gdal-dev/2022-February/thread.html#55391
|
|
DerivedGeographicCRS coming from WKT
|
|
|
|
|
|
Set more precise error code for parsing errors in proj_create().
|
|
If proj_create() catches a ParsingException, and the error code hasn't
otherwise been set internally, set the error code to
PROJ_ERR_INVALID_OP_WRONG_SYNTAX instead of allowing it to default to
the generic PROJ_ERR_OTHER.
Ref #2529
|
|
This improvement is mostly useful on Windows, where users
are used to wrapping paths with whitespaces with double quotes.
For example, these should now be allowed (correctly concatenated):
PROJ_LIB="C:\Program Files\PROJ";C:\Users\mloskot\PROJ
|
|
|
|
filemanager.cpp: fix build issue with Cygwin
|
|
Fixes https://github.com/qgis/QGIS/issues/45470
That is, if the file for the old PROJ name is not found, but the file
for the new PROJ name is found, then use the later for fullFilename and
gridAvailable.
|
|
|
|
|
|
|
|
commit. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43546
|
|
Implement Geographic3D to Depth/Geog2D+Depth as used by ETRS89 to CD Norway depth
|
|
peirce_q: rename +type parameter wrongly introduced in 8.2.1 to +shape (fixes #3011)
|