aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-09-12createOperations(): when tranforming from a compoundCRS whose vertical ↵Even Rouault
component is a BoundCRS, do not apply the horizontal transformation twice
2019-09-12createOperations(): use more candidates when transforming between a ↵Even Rouault
geographic and vertical CRS For example when transforming from NAD83+NAVD88 height to WGS84, there is no transformation between NAVD88 height to WGS84. In that case, use all potential transformations from NAVD88 height to another geographic CRS for the vertical part.
2019-09-12Coordinate transformation: improve transformations from/to WGS84 (Gxxxx)Even Rouault
Currently very few transformations from/to WGS84 (Gxxxx) are registered in the EPSG database, and there isn't even transformations between WGS84 EPSG:4326 and those ones. Consequently transformations to those realizations often ended up as no-operation, whereas going through WGS84 EPSG:4326 will bring more meaningful results. So register those EPSG:4326<-->WGS 84 (Gxxx) null transformations, and when having WGS 84 (Gxxx) as source/target, consider EPSG:4326 as an intermediate. This change has no effect on the existing direct transformations from/to WGS 84 (Gxxx).
2019-09-12createOperations(): make sure sorting function is transitive (a < b and b < ↵Even Rouault
c --> a < c), to get consistent results
2019-09-12C API: add proj_crs_create_bound_vertical_crs_to_WGS84()Even Rouault
2019-09-12createOperations(): make it work when transforming between CompoundCRS and ↵Even Rouault
Geog3D when the DB has only VertCS to Geog2D This is needed to fix cases that would not work if using the promoteTo3D()/--3d functionnality just added per a6e1d72890615b42f54edad9b17acff8e7623844 In some cases, the EPSG database only contains a Geographic 2D CRS (like NAD83), without a 3D version. Consequently vertical transformations between that Geographic CRS and a Vertical CRS are only available with a 2D CRS code (kind of a bug in modelization by the way...). So when promoting the Geographic 2D CRS to a 3D one, we suddenly cannot find the available transformations any more. So in such situation, try to fallback to the 2D CRS to restore the capability to find the available transformations.
2019-09-12Merge pull request #1604 from rouault/fix_proj_trans_generic_unknown_timeEven Rouault
proj_trans_generic(): properly set coordinate time to HUGE_VAL when no value is passed to the function
2019-09-12proj_trans_generic(): properly set coordinate time to HUGE_VAL when no value ↵Even Rouault
is passed to the function
2019-09-11createOperations(): fix conversion from/to PROJ.4 CRS strings with ↵Even Rouault
non-ISO-cosher options and towgs84/nadgrids This actually fixes a regression introduced in PROJ 6.2.0 per 78302efb70eb4b49610cda6a60bf9ce39b82264f that made a conversion like EPSG:4326 to "+proj=something +towgs84/+nadgrids +over +type=crs" apply the towgs84/nadgrids operation twice.
2019-09-11API: add CRS::promoteTo3D(), proj_crs_promote_to_3D() and ↵Even Rouault
proj_crs_create_projected_3D_crs_from_2D() (fixes #1587) Also add a --3d switch to projinfo
2019-09-09Add copyright and license headerEven Rouault
2019-09-08Merge pull request #1585 from rouault/replace_2018_by_2019Kristian Evers
Use in API and utilities WKT2_2019 instead of WKT2_2018 (fixes #1578)
2019-09-08Use in API and utilities WKT2_2019 instead of WKT2_2018 (fixes #1518)Even Rouault
- C API: PJ_GUESSED_WKT2_2019 is added, PJ_GUESSED_WKT2_2018 aliased to it - C API: PJ_WKT2_2019[_SIMPLIFIED] is added, PJ_WKT2_2018[_SIMPLIFIED] alias to it - C++ API: similarly for WKTFormatter::Convention::WKT2_2019[_SIMPLIFIED] Those above changes should be fully backward API and ABI compatible. projinfo changes: - accept WKT2_2019 as value for -o switch. WKT2_2018 is still accepted (undocumented) - output now uses 'WKT2_2019 string:', so might break scripts that would rely on that. Other internal code references to WKT2_2018 changes to WKT2_2019, included in tests.
2019-09-06Merge pull request #1589 from rouault/fix_1574Even Rouault
PROJStringParser::createFromPROJString(): avoid potential infinite recursion (fixes #1574)
2019-09-05BUG: add SANITIZE_CTX for coordoperation is_instantiable and ↵snowman2
has_ballpark_transformation
2019-09-05PROJStringParser::createFromPROJString(): avoid potential infinite recursion ↵Even Rouault
(fixes #1574) The exact circumstances are a bit difficult to explain, but they involve using a non-default context, enabling proj_context_use_proj4_init_rules() on it, using proj_create(ctxt, "+init=epsg:XXXX +type=crs"), whereas PROJ_LIB is defined to a directory that has a 'epsg' file in it.
2019-09-05Merge pull request #1581 from jef-n/win-no-abi-libKristian Evers
stick with proj.lib on windows
2019-09-05Merge pull request #1584 from rouault/add_proj_create_ellipsoidal_3D_csEven Rouault
C API: add proj_create_ellipsoidal_3D_cs()
2019-09-05Merge pull request #1583 from rouault/constify_proj_create_crs_to_crs_from_pjEven Rouault
proj_create_crs_to_crs_from_pj(): make the PJ* arguments const PJ*
2019-09-04proj_create_crs_to_crs_from_pj(): make the PJ* arguments const PJ*Even Rouault
This will make the life of C++ users using the C API slightly easier. There's no ABI or API backward compatibility issue in doing that change as constness of arguments is not retained in the C ABI, and any non-const object passed as argument is implicitly converted as a const object if that is what is mentionned in the argument list.
2019-09-04C API: add proj_create_ellipsoidal_3D_cs()Even Rouault
2019-09-04proj_experimental.h: fix wrong comment forPJ_ELLIPSOIDAL_CS_2D_TYPE enumEven Rouault
2019-09-03Debug Bertin1953R. Schmunk
Northern hemisphere "warp" implemented incorrectly. See #1579
2019-09-03stick with proj.lib on windowsJuergen E. Fischer
2019-09-02Merge pull request #1570 from rouault/update_link_to_wkt2_2019Kristian Evers
Doc: add link to final WKT2:2019 document
2019-09-01Merge pull request #1573 from dg0yt/dg0yt-potsdamKristian Evers
Fix spelling of Potsdam datum
2019-09-01Update version numbers in preparation for 7.0.0Kristian Evers
2019-08-30Fix spelling of potsdam datumKai Pastor
2019-08-27Doc: add link to final WKT2:2019 documentEven Rouault
2019-08-27Merge remote-tracking branch 'osgeo/master'6.2.0Kristian Evers
2019-08-26Add a proj_cleanup() function to free global resources, typically at process ↵Even Rouault
termination
2019-08-26Fix 6.0 regression regarding +init=epsg:4326 +over +to +init=epsg:3857 +over ↵Even Rouault
with longitudes outside of [-180,180]
2019-08-26createOperations(): follow-up of previous commit for +datum=NAD83 caseEven Rouault
2019-08-26createOperations(): fix pipeline generation when a CRS has terms like ↵Even Rouault
+datum=NAD27 and +over, where the datum was just replaced by its ellipsoid
2019-08-26Update API numbers in preparation for 6.2.0 releaseKristian Evers
2019-08-26Update ABI numbers in preparation for 6.2.0 releaseKristian Evers
2019-08-25Import WebMercator from PROJ string: make sure the WGS84 datum is setEven Rouault
2019-08-24createFromUserInput(): speed-up instanciation with +init=epsg: prefix in ↵Even Rouault
lowercase. This showed in MapServer use cases
2019-08-23Add proj_create_crs_to_crs_from_pj()Even Rouault
I've been frustrated a number of times with proj_create_crs_to_crs() not accepting a PJ* object for the source and target CRS. And thus constraining to go back to WKT2 in a artificial way.
2019-08-20C API: add proj_context_set_autoclose_database() to automatically close ↵Even Rouault
database (fixes #1565)
2019-08-20Merge pull request #1547 from rouault/json_exportEven Rouault
Add CRS JSON export (refs #1545)
2019-08-17PROJJSON: rename file as projjson.schema.json, and add versionning to it and ↵Even Rouault
to exported PROJJSON strings
2019-08-12PROJJSON: add support for importing 'ids'Even Rouault
2019-08-10PROJJSON: a few fixes, and add import of DerivedCRS, EngineeringCRS, ↵Even Rouault
ParametricCRS and TemporalCRS
2019-08-10PROJJSON: add support for DatumEnsemble and ↵Even Rouault
Dynamic[Geodetic|Vertical]ReferenceFrame
2019-08-09C API: add proj_as_projjson()Even Rouault
2019-08-09projinfo: document PROJJSON output, and add single-line output capabilityEven Rouault
2019-08-09PROJSJON: add import/export of VerticalCRS, CompoundCRS, BoundCRS, ↵Even Rouault
Transformation and ConcatenatedOperation
2019-08-09createFromUserInput(): add capability to import PROJJSONEven Rouault
2019-08-09PROJJSON export: use more compact formEven Rouault