aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2019-08-09projinfo: rename JSON to PROJJSONEven Rouault
2019-07-19Add set discard superseded method to api (#1534)Matt Littlemore
Closes #1519