56 Commits

Author SHA1 Message Date
Nyall Dawson
6f652d251b Drop no-value copy constructor dox 2024-07-25 04:02:55 +10:00
Nyall Dawson
45090576b2 Add method to determine whether a QgsCoordinateTransform has a vertical
component
2024-07-17 13:40:35 +10:00
Nyall Dawson
cc937af28a Add equality operator for QgsCoordinateTransform 2024-07-17 13:40:35 +10:00
Nyall Dawson
cc6a840b52 Add QgsProjUtils and QgsCoordinateReferenceSystem ::hasVerticalAxis
Can be used to test if a crs contains a vertical axis
2024-04-26 20:26:41 +10:00
Nyall Dawson
1d52a7a8de Report proj error when creating compound crs fails 2024-04-26 20:26:41 +10:00
Julien Cabieces
dc677f4230
Merge pull request #56600 from troopa81/feat_add_srs_getfeatureinfo_json
[Feature][WMS] Add crs information in WMS GetFeatureInfo output when it differs from WGS84
2024-04-02 17:54:00 +02:00
Nyall Dawson
14313198dc Add QgsCoordinateReferenceSystem::horizontalCrs()
Similar to verticalCrs(), this returns just the horizontal component
of a crs
2024-03-12 12:45:36 +10:00
Nyall Dawson
9d281971d5 Add QgsCoordinateReferenceSystem method to create a compound CRS 2024-03-10 12:19:04 +10:00
Nyall Dawson
b2c1fff11a [api] Add method to retrieve vertical CRS from QgsCoordinateReferenceSystem
Returns the vertical CRS associated with this CRS object.

In the case of a compound CRS, this method will return just the vertical CRS component.

An invalid CRS will be returned if the object does not contain a vertical component.
2024-03-10 06:40:39 +10:00
Julien Cabieces
533a7170ec update version 2024-03-06 19:07:05 +01:00
Julien Cabieces
101a5cccf7 [Feat] Add crs information in WMS GetFeatureInfo output 2024-03-06 19:07:05 +01:00
Even Rouault
15ea5c46bc
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-18 20:57:23 +01:00
Even Rouault
d43ceb45b6
qgscoordinatetransform.h: add a couple missing SIP_THROW( QgsCsException ), and add Doxygen \throw hint to make it obvious exceptions might be thrown 2024-02-07 03:16:44 +01:00
Nyall Dawson
1092e6dd8b Add isDeprecated method to QgsCoordinateReferenceSystem 2024-01-20 12:11:30 +10:00
Nyall Dawson
f25a87ea3f Correctly deprecate method 2024-01-20 12:11:30 +10:00
Nyall Dawson
20075f8809 Use consistent case 2024-01-17 10:16:32 +10:00
Nyall Dawson
6c7cf97d85 Add signals for recent crs changes
And move tests to correct file
2024-01-17 10:16:32 +10:00
Nyall Dawson
f2903c7935 Move QgsCoordinateReferenceSystem enums to qgis, promote to enum class 2024-01-17 10:16:32 +10:00
Nyall Dawson
25fb7cefe1 Move recent crs methods to QgsCoordinateReferenceSystemRegistry 2024-01-17 10:16:32 +10:00
Nyall Dawson
ce95f9a522 Do a one-time read and store of qgis srs db, instead of re-reading with every widget construction 2023-07-19 10:47:47 +10:00
Nyall Dawson
bc8c3a75b0 Add method to translate proj projection names
And abort crssync if unhandled projection strings are found
2023-07-11 14:57:04 +10:00
Nyall Dawson
71d6188e3d Add method to return CRS type, based on proj_get_type() values
And show in CRS details for layer properties
2023-07-09 22:48:59 +10:00
Nyall Dawson
31138aa970 Add method to retrieve list of known crs authorities 2023-07-09 18:14:10 +10:00
Nyall Dawson
3b1b6d56ec Correctly use horizontal vs single crs extraction methods in different
functions
2023-07-09 18:14:10 +10:00
Hannes
6a14504c10 Further clarify CRS' hasAxisInverted
Thanks to @pathmapper & @nyalldawson
2023-06-09 07:06:58 +10:00
Yoann Quenach de Quivillic
08bf81dbeb Add methods to clear recent crs or remove one crs 2023-04-24 09:22:32 +02:00
Nyall Dawson
50c76929e1
Followup 30700f1, ensure links to Qgis members are set in docstrings 2023-03-31 10:46:24 +10:00
Nyall Dawson
f9c3da1e06 Move unit enums to Qgis, promote to enum class 2023-02-19 13:29:06 +10:00
Damiano Lombardi
37c0535079 Invert bbox rect if crs has inverted axis 2022-10-25 16:03:49 +02:00
Damiano Lombardi
a4ae707ff6 Add bbox-crs parameter to the request (if not default CRS84) 2022-10-25 16:03:49 +02:00
Nyall Dawson
c97f3ec8d6 Rename to isTransformationPossible 2022-06-03 12:02:13 +10:00
Nyall Dawson
7edcb9899e Add a constructor flag to QgsCoordinateTransform to ignore impossible
transformations, such as those which happen across different
celestial bodies

If set, the flag indicates that no user-facing warnings should be
shown and instead the transform should be short circuited
2022-06-03 12:02:13 +10:00
Julien Cabieces
012b6a46db constify methods 2022-04-29 08:21:47 +10:00
Mathieu Pellerin
5d5b1492fb [map canvas] Right-click copy coordinates should respect CRS axis ordering 2022-04-06 13:25:41 +07:00
Nyall Dawson
0b8e6abb22 Add QgsCoordinateReferenceSystemUtils class, with function to determine
most appropriate x/y or y/x coordinate order for a crs
2022-04-06 16:05:08 +10:00
Nyall Dawson
28bb05b0d5 Add method to retrieve axis order for a QgsCoordinateReferenceSystem 2022-04-06 11:45:32 +10:00
Nyall Dawson
370bdfd84d Add api to allow the native format for a crs definition (i.e. wkt
or proj) to be saved when the crs is saved to xml

Allows us a way to present a custom crs in the same format as it was
originally defined using
2022-01-13 13:58:00 +10:00
Nyall Dawson
24a498b57c Rename to 'toGeographicCrs' 2022-01-11 19:50:46 +10:00
Nyall Dawson
1f240c0196 Add method to convert QgsCoordinateReferenceSystem to geodetic crs 2022-01-11 19:50:46 +10:00
Nyall Dawson
6e7e8d3d7d Promote CRS format enum to enum class, move to Qgis 2022-01-11 19:50:46 +10:00
Nyall Dawson
e6b39077a2
Promote QgsCoordinateTransform::TransformDirection to enum class, move to Qgis
This enum was forcing an include of qgscoordinatetransform.h within the
widely used qgsabstractgeometry.h header, causing an absolute explosion
of includes of a bunch of very heavy header classes all across QGIS. By
removing the forced include we can avoid a ton of unwanted includes
and make wider use of forward declarations...
2021-09-22 16:40:49 +10:00
Nyall Dawson
711a615be3 Fix raises sphinx format 2021-06-25 10:50:04 +10:00
Nyall Dawson
4ff3f447dc Don't try to insert links in raises blocks in PyQGIS docs
These aren't formatted correctly if we do
2021-06-10 11:03:43 +10:00
Denis Rouzaud
35c557a234 run sipify 2021-05-26 14:30:54 +02:00
Nyall Dawson
bd26ae1d29 Add basic support for coordinate epoch of dynamic (not plate fixed) crs
to QgsCoordinateTransform

QgsCoordinateTransform class can perform time-dependent transformations
between a static and dynamic CRS based on either the source OR destination CRS coordinate epoch,
however dynamic CRS to dynamic CRS transformations are not currently supported.

Using the same approach as the GDAL changeset in https://github.com/OSGeo/gdal/pull/3810
2021-05-13 19:33:15 +10:00
Nyall Dawson
0b5a95ce44 Deprecate constructor which should have been deprecated a long time ago 2021-05-13 19:33:15 +10:00
Nyall Dawson
b6f60f6120 Add QgsCoordinateReferenceSystem::operation() for retrieving details
of the associated proj operation for a CRS

Allows callers to determine the projection used for CRS objects and
their details.

Also add QgsCoordinateReferenceSystemRegistry::projOperations() for
retrieving a complete list of all available PROJ operations
2021-05-11 14:25:53 +10:00
Nyall Dawson
7604b6e47e Add QgsCoordinateReferenceSystemRegistry::celestialBodies() for
retrieving a list of all known celestial bodies from PROJ

Requires PROJ 8.1+
2021-05-10 21:58:03 +10:00
Nyall Dawson
7e1f9d771d Add celestial body name to EllipsoidDefinition
Requires proj 8.1+
2021-05-10 21:58:03 +10:00
Nyall Dawson
95ed5ecc9c Add QgsCoordinateReferenceSystem::celestialBodyName
Returns the associated celestial body name (proj 8.1+ only)
2021-05-10 21:58:03 +10:00