aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111
AgeCommit message (Collapse)Author
2021-04-10createFromUserInput(): add support for OGC URLsEven Rouault
e.g: http://www.opengis.net/def/crs/EPSG/0/4326 http://www.opengis.net/def/crs-compound?1=http://www.opengis.net/def/crs/EPSG/0/4326&2=http://www.opengis.net/def/crs/EPSG/0/3855
2021-04-08Merge pull request #2647 from rouault/integer_or_textEven Rouault
Database: decrease db size
2021-04-06Database: nullify auth_name, code of usage tableEven Rouault
We never select by those columns, so don't set them. Reduce from 8.4 to 7.9 MB. Upgrade the minor version of the database layout. (that database can still be read by PROJ 8.0)
2021-04-05createOperations(): make ↵Even Rouault
createBetweenGeodeticCRSWithDatumBasedIntermediates() reachable... ... and optimize its execution time by rewriting it completely. This code path was no longer triggered in tests since EPSG got a direct transformation for GDA94 to WGS 84 (G1762).
2021-04-03Add mapping between EPSG method 'Hyperbolic Cassini-Soldner' and +proj=cass ↵Even Rouault
+hyperbolic
2021-04-01Database: update to EPSG 10.017Even Rouault
2021-03-28createOperation(): 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-27Add mapping of ESRI Equal_Area projection method to EPSG (fixes #2610)Even Rouault
2021-03-20createOperations(): fix regression for the fix of #2588Even Rouault
Issue spotted by GDAL autotest suite.
2021-03-20createOperations(): fix Compound to Geog3D CRS computations in the case... ↵Even Rouault
(fixes #2588) when the source and target CRS share the same geog CRS, but the interpolation CRS of the vertical transformation isn't the same, and a Helmert transformation exists between them... For example, for "CH1903+ + EGM96" to CH1903+ 3D where the interpolation CRS is WGS84.
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-19SQL output: make it possible to export non-EPSG projection methods or ↵Even Rouault
methods and params lacking an explicit EPSG id
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-18Code formatting fixEven Rouault
2021-03-18Merge pull request #2577 from rouault/insert_sqlEven Rouault
Add capability to get SQL statements to add custom CRS in the database
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-15Doc improvements regarding recomandation not to alter official registries ↵Even Rouault
and use auxiliary databases
2021-03-15Add support for PROJ_AUX_DB environment variable to set the path to one or ↵Even Rouault
several auxiliary DBs
2021-03-15Add proj_context_get_database_structure() to dump structure of empty valid ↵Even Rouault
auxiliary DB
2021-03-15SQL export: add support for DatumEnsembleEven Rouault
2021-03-15SQL export: add publication_date and frame_reference_epoch to datumsEven Rouault
2021-03-15SQL output: add capability to restrict the authorities into which to look ↵Even Rouault
for intermediate objects
2021-03-15CRS::identify(): take into account allowed authority to identify hard-coded ↵Even Rouault
WGS84-based CRSs
2021-03-15Add C/C++ API to get SQL statements to insert a CRS into databaseEven Rouault
2021-03-13typo fix in commentEven Rouault
2021-03-10Merge pull request #2570 from rouault/fix_proj_lp_dist_crsEven Rouault
Make proj_lp_dist() and proj_geod() work on a PJ* CRS object
2021-03-10Make proj_lp_dist() and proj_geod() work on a PJ* CRS objectEven Rouault
2021-03-10Code cleanup: remove conditional testing of SQLITE_OPEN_URI. It is present ↵Even Rouault
in sqlite >= 3.11
2021-03-10Fix commentEven Rouault
2021-03-07typo fixesEven Rouault
2021-03-07is2DPartOf3D(): catch potential exception (CID 314817)Even Rouault
2021-03-07BaseObject: add a move assignment operator (CID 314820)Even Rouault
2021-03-06UnitOfMeasure: add a move assignment operator (CID 314811)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-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 #2503 from havingsexonthebeach/epsg10_011Kristian Evers
Database: update to EPSG v10.011
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-05createFromUserInput(): accept leading white space (fixes #2498)Even Rouault
2020-12-28C API: add proj_crs_is_derived()Even Rouault
2020-12-15Revise error codes to have a reduced set exposed in the public API.Even Rouault
Fixes #2482 And also add proj_context_errno_string() Revise gie 'expect failure errno XXXX' strings