aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-04-03Generic inverse: fix when initial guess if super close to resultEven Rouault
2021-04-01Merge pull request #2625 from rouault/epsg_10_017Even Rouault
Database: update to EPSG 10.017
2021-03-29Merge pull request #2623 from rouault/backport_2622Even Rouault
[Backport 8.0] createOperation(): make sure no to discard deprecated operations...
2021-03-29createOperation(): make sure no to discard deprecated operations...Even Rouault
if the replacement uses a grid unknown to us. Fixes issue reported at https://lists.osgeo.org/pipermail/gdal-dev/2021-March/053771.html The issue comes from the fact that EPSG has created 2 transformations using grids BALR2009.gsb ad PENR2009.gsb that supersede the one which uses the single grid SPED2ETV2 we have in PROJ-data.
2021-03-28Merge pull request #2620 from rouault/fix_build_solarisEven Rouault
Fix build on Solaris 11.4
2021-03-27Merge pull request #2611 from rouault/fix_2610Even Rouault
Add mapping of ESRI Equal_Area projection method to EPSG (fixes #2610)
2021-03-20Merge pull request #2594 from rouault/fix_of_fix_2588Even Rouault
createOperations(): fix regression for the fix of #2588
2021-03-20Merge pull request #2592 from rouault/fix_2588Even Rouault
createOperations(): fix Compound to Geog3D CRS computations in the ca…
2021-03-19CRS::promoteTo3D(): propagate the extent from the 2D CRS (fixes #2587)Even Rouault
This will help getting more consistent results between the 2D and 3D cases, as identified in https://github.com/OSGeo/PROJ/issues/2587#issue-836061171
2021-03-18createFromCRSCodesWithIntermediates(): improve perf when no matchEven Rouault
createFromCRSCodesWithIntermediates() runs a rather costly self-join. Only run it if the source and target CRS are the source/target of a coordinate operation. This helps for the performance of proj_create_crs_to_crs() when run on projected CRS for example that are extremely unlikely to be the source/target of an operation (except currently the Finish ones). For the EPSG:26915 to EPSG:3857 case of https://github.com/OSGeo/gdal/issues/3470, this helps decreasing the time of proj_create_crs_to_crs() from 18 ms to 10 ms.
2021-03-17Fix proj_clone() to work on 'meta' coordinate operation PJ* objects that can ↵Even Rouault
be returned by proj_create_crs_to_crs()
2021-03-17proj.h: add PROJ_COMPUTE_VERSION, PROJ_VERSION_NUMBER, PROJ_AT_LEAST_VERSION ↵Even Rouault
macros Makes it easier for users to test if they build against a PROJ version later than a given x.y.z version.
2021-03-10Make proj_lp_dist() and proj_geod() work on a PJ* CRS objectEven Rouault
2021-03-07projinfo: catch exception on bad value for --accuracy (CID 314810)Even Rouault
2021-03-07cs2cs: catch exception on bad value for --accuracy (CID 314818)Even Rouault
2021-03-06Fix gcc 11 -Wnonnull warningsEven Rouault
``` /proj-8.0.0/src/iso19111/operation/coordinateoperationfactory.cpp: In function 'osgeo::proj::operation::TransformationNNPtr osgeo::proj::operation::createBallparkGeographicOffset(const CRSNNPtr&, const CRSNNPtr&, const DatabaseContextPtr&)': /proj-8.0.0/src/iso19111/operation/coordinateoperationfactory.cpp:1860:36: warning: 'this' pointer is null [-Wnonnull] 1860 | ->coordinateSystem() | ^ In file included from /proj-8.0.0/src/iso19111/operation/coordinateoperationfactory.cpp:35: /proj-8.0.0/include/proj/crs.hpp:196:47: note: in a call to non-static member function 'const CoordinateSystemNNPtr& osgeo::proj::crs::SingleCRS::coordinateSystem() const' 196 | PROJ_DLL const cs::CoordinateSystemNNPtr &coordinateSystem() PROJ_PURE_DECL; | ^~~~~~~~~~~~~~~~ /proj-8.0.0/src/iso19111/operation/coordinateoperationfactory.cpp:1864:36: warning: 'this' pointer is null [-Wnonnull] 1864 | ->coordinateSystem() | ^ In file included from /proj-8.0.0/src/iso19111/operation/coordinateoperationfactory.cpp:35: /proj-8.0.0/include/proj/crs.hpp:196:47: note: in a call to non-static member function 'const CoordinateSystemNNPtr& osgeo::proj::crs::SingleCRS::coordinateSystem() const' 196 | PROJ_DLL const cs::CoordinateSystemNNPtr &coordinateSystem() PROJ_PURE_DECL; | ^~~~~~~~~~~~~~~~ /proj-8.0.0/src/iso19111/factory.cpp: In member function 'std::vector<dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::operation::CoordinateOperation> > > osgeo::proj::io::AuthorityFactory::createBetweenGeodeticCRSWithDatumBasedIntermediates(const CRSNNPtr&, const string&, const string&, const CRSNNPtr&, const string&, const string&, bool, bool, bool, bool, const std::vector<std::__cxx11::basic_string<char> >&, const ExtentPtr&, const ExtentPtr&) const': /proj-8.0.0/src/iso19111/factory.cpp:4724:66: warning: 'this' pointer is null [-Wnonnull] 4724 | dynamic_cast<crs::GeodeticCRS *>(sourceCRS.get())->datum(); | ^ In file included from /proj-8.0.0/src/iso19111/factory.cpp:36: /proj-8.0.0/include/proj/crs.hpp:254:54: note: in a call to non-static member function 'const GeodeticReferenceFramePtr& osgeo::proj::crs::GeodeticCRS::datum() const' 254 | PROJ_DLL const datum::GeodeticReferenceFramePtr &datum() PROJ_PURE_DECL; | ^~~~~ /proj-8.0.0/src/iso19111/factory.cpp:4726:66: warning: 'this' pointer is null [-Wnonnull] 4726 | dynamic_cast<crs::GeodeticCRS *>(targetCRS.get())->datum(); | ^ In file included from /proj-8.0.0/src/iso19111/factory.cpp:36: /proj-8.0.0/include/proj/crs.hpp:254:54: note: in a call to non-static member function 'const GeodeticReferenceFramePtr& osgeo::proj::crs::GeodeticCRS::datum() const' 254 | PROJ_DLL const datum::GeodeticReferenceFramePtr &datum() PROJ_PURE_DECL; | ^~~~~ ```
2021-03-05createOperations(): fix incorrect height transformation between 3D promoted ↵Even Rouault
RGF93 and CH1903+ (fixes #2541)
2021-03-03Reformat code with clang-format-10 from ubuntu 20.04Even Rouault
2021-02-22isEquivalentName(): fix for GDAL test failureEven Rouault
https://github.com/OSGeo/PROJ/pull/2536 changed the name of the ellps=intl to "International 1924 (Hayford 1909, 1910)" When writing a GeoTIFF file from GDAL using a SRS built from a PROJ string, GDAL massages the datum name to "Unknown_based_on_International_1924_Hayford_1909_1910_ellipsoid" Before this fix, this wasn't considered as equivaleent to the non-massaged datum name "Unknown based on International 1924 (Hayford 1909, 1910) ellipsoid"
2021-02-20Bump ABI numbers for 8.0.0 releaseKristian Evers
2021-02-20Merge pull request #2514 from mloskot/ml/enable-build-with-static-curlKristian Evers
Enable linking against static cURL on Windows
2021-02-19LOG: Default log level PJ_LOG_ERRORsnowman2
2021-02-19Merge branch 'master' into ml/enable-build-with-static-curlKristian Evers
2021-02-19Enable linking against static cURL on WindowsMateusz Łoskot
This is preliminary fix to allow linking the library as well as its dependants (e.g. PROJ apps) against cURL built as static library on Windows with support of native Windows TLS/SSL. On Windows, such static cURL (and its dependants) requires linking against Winsock, CryptoAPI and other networking libaries.
2021-02-19CMake: replace '${PROJ_CORE_TARGET}' with 'proj'Mike Taves
2021-02-16International ellipsoid designation correctionThomas Knudsen
The "International 1909 (Hayford)" designation is an unfortunate mix of different aspects of the same ellipsoid. The Hayford ellipsoid was based on investigations in 1909, published in 1910 as J.F. Hayford: *Supplementary Investigation in 1909 of the Figure of the Earth and Isostasy*, Coast and Geodetic Survey, 80pp. (freely accessible through Google Books). In 1924 Hayford's ellipsoid was adopted by the IUGG as "the International Ellipsoid". Hence either of - Hayford, 1909 (for the year the work was done), - Hayford, 1910 (for the year of publication), or - International, 1924 are reasonable names, in common use, but the "International, 1909" really is a peculiar mix of concepts. Resolves #2534
2021-02-14CMake: Prefer keyword signature of target_link_libraries commandMateusz Łoskot
Closes #2515
2021-02-11C API: avoid error messages to be emitted in PJ_LOG_NONE log level (fixes #2526)Even Rouault
2021-02-11Merge pull request #2521 from rouault/boundcrs_proj_based_methodEven Rouault
Allow a BoundCRS to use a PROJ string transformation
2021-02-10Fix handling of +proj=ob_tran +o_proj=longlat combined with +over (fixes #2510)Even Rouault
2021-02-10Allow a BoundCRS to use a PROJ string transformationEven Rouault
Related to https://lists.osgeo.org/pipermail/proj/2021-February/010040.html Given test.wkt with ``` BOUNDCRS[ SOURCECRS[ GEOGCRS["unknown", DATUM["Unknown based on GRS80 ellipsoid", ELLIPSOID["GRS 1980",6378137,298.257222101, LENGTHUNIT["metre",1], ID["EPSG",7019]]], PRIMEM["Greenwich",0, ANGLEUNIT["degree",0.0174532925199433], ID["EPSG",8901]], CS[ellipsoidal,2], AXIS["longitude",east, ORDER[1], ANGLEUNIT["degree",0.0174532925199433, ID["EPSG",9122]]], AXIS["latitude",north, ORDER[2], ANGLEUNIT["degree",0.0174532925199433, ID["EPSG",9122]]]]], TARGETCRS[ GEOGCRS["WGS 84", DATUM["World Geodetic System 1984", ELLIPSOID["WGS 84",6378137,298.257223563, LENGTHUNIT["metre",1]]], PRIMEM["Greenwich",0, ANGLEUNIT["degree",0.0174532925199433]], CS[ellipsoidal,2], AXIS["latitude",north, ORDER[1], ANGLEUNIT["degree",0.0174532925199433]], AXIS["longitude",east, ORDER[2], ANGLEUNIT["degree",0.0174532925199433]], ID["EPSG",4326]]], ABRIDGEDTRANSFORMATION["Transformation from unknown to WGS84", METHOD["PROJ-based operation method: +proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=axisswap +order=2,1 +step +proj=cart +ellps=GRS80 +step +proj=helmert +convention=coordinate_frame +exact +step +inv +proj=cart +ellps=WGS84 +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=rad +xy_out=deg"]]] ``` ``projinfo -s @test.wkt -t "WGS 84" -o PROJ -q`` outputs: ``` +proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=axisswap +order=2,1 +step +proj=cart +ellps=GRS80 +step +proj=helmert +convention=coordinate_frame +exact +step +inv +proj=cart +ellps=WGS84 +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=rad +xy_out=deg ```
2021-02-09Database: update to EPSG v10.013Even Rouault
2021-02-09createOperations(): remove involved logic that was done for GDA94 -> WGS84 ↵Even Rouault
(G1762) It is no longer needed for that particular case, since there's now a concatenated operation for it. It could in theory be useful for other cases, but removing it doesn't break existing tests, so...
2021-02-07Merge pull request #2511 from mwtoews/remove-cmake-configurations-8.0Kristian Evers
CMake: remove old configuration option aliases
2021-02-07Merge pull request #2476 from rouault/fix_2399Kristian Evers
Add build time option to make PROJ_LIB env var tested last (fixes #2399)
2021-02-07Merge pull request #2503 from havingsexonthebeach/epsg10_011Kristian Evers
Database: update to EPSG v10.011
2021-02-03CMake: remove old configuration option aliasesMike Taves
2021-01-15Database: update to EPSG v10.011Modern Slave
2021-01-14createOperations(): fix bug involving geoidmodel and non-metre vertical unitEven Rouault
2021-01-13createOperations(): fix Compound to Geog3D/Projected3D CRS with non-metre ↵Even Rouault
ellipsoidal height
2021-01-12ellps_size(): do not log error if ellipsoid absent and not neededEven Rouault
2021-01-05createFromUserInput(): accept leading white space (fixes #2498)Even Rouault
2020-12-28C API: add proj_crs_is_derived()Even Rouault
2020-12-16cs2cs: add --no-ballpark and --accuracy optionsEven Rouault
2020-12-15proj_create_crs_to_crs_from_pj(): add ACCURACY and ALLOW_BALLPARK optionsEven Rouault
2020-12-15projinfo: add a --accuracy option to define the minimum accuracyEven Rouault
2020-12-15Remap ENOMEM from PROJ_ERR_INVALID_OP to PROJ_ERR_OTHEREven Rouault
2020-12-15horner.cpp: remove uses of EINVAL and EDOM errnoEven Rouault
2020-12-15Remove internal use of PJ_LOG_DEBUG_MINOR and PJ_LOG_DEBUG_MAJOREven Rouault
2020-12-15Various operations: remove explicit short name prefixing in log messages now ↵Even Rouault
that it is automatically added