7993 Commits

Author SHA1 Message Date
Nyall Dawson
95ed5ecc9c Add QgsCoordinateReferenceSystem::celestialBodyName
Returns the associated celestial body name (proj 8.1+ only)
2021-05-10 21:58:03 +10:00
Nyall Dawson
27085cf5f4 Use @ instead of () for epoch strings 2021-05-10 20:23:07 +10:00
Nyall Dawson
299c81db5f Show coordinate epoch in QgsCoordinateReferenceSystem __repr__ 2021-05-10 20:23:07 +10:00
Nyall Dawson
2aab133c0c Add QgsCoordinateReferenceSystem::setCoordinateEpoch()/coordinateEpoch() 2021-05-10 20:23:07 +10:00
Nyall Dawson
9e7e0d4bf6 Add QgsCoordinateReferenceSystem::isDynamic()
Returns TRUE if the given proj coordinate system is a dynamic CRS.

A dynamic CRS relies on a dynamic datum, that is a datum that is no
plate-fixed.
2021-05-10 20:23:07 +10:00
Nyall Dawson
94dc209e9e Add dedicated conversion for MapInfo marker symbols 2021-05-10 15:18:01 +10:00
Juergen E. Fischer
f616be29d3 fix msvc build 2021-05-10 12:29:16 +10:00
Nyall Dawson
bfb1dd7672 [api] Add QgsCoordinateReferenceSystem::factor()
Calculate various cartographic properties, such as scale factors,
angular distortion and meridian convergence for the CRS at a
given geodetic point (in geographic coordinates).

Depending on the underlying projection values will be calculated
either numerically (default) or analytically. The function also
calculates the partial derivatives of the given coordinate.

Internally uses the proj library proj_factors API to calculate the factors.

Fixes #41952
2021-05-08 07:49:27 +10:00
Nyall Dawson
31d1df320a Move projection/transformation related files to core/proj
Minor cleanup
2021-05-08 07:49:27 +10:00
Marco Hugentobler
af607f74e3 More code layout 2021-05-07 16:42:41 +02:00
Marco Hugentobler
fc2a0d60ad Spelling and documentation 2021-05-07 16:33:33 +02:00
Marco Hugentobler
8da3d112c5 Export label symbol also to json 2021-05-07 15:05:25 +02:00
Nyall Dawson
2c75fd0ca1 Sipify 2021-05-07 19:48:19 +10:00
Nyall Dawson
e9cf180dac [api] Add methods for retrieving datum ensemble details for a
QgsCoordinateReferenceSystem

Requires proj >= 8.0
2021-05-07 11:45:07 +10:00
Nyall Dawson
1a4d7b0288 Improved conversion of MapInfo line symbols
Many MapInfo line symbols don't translate well into OGR styles, so
in order to improve the quality of the conversion this commit introduces
a new QgsMapInfoSymbolConverter class which contains utility functions
for converting MapInfo symbols by ID to their QGIS equivalent.

Implemented for line symbols only for now.
2021-05-07 06:38:09 +10:00
Marco Hugentobler
260f4b7ac2 [FEATURE]: Show legend entries for labeling 2021-05-06 11:03:15 +02:00
Nyall Dawson
dce9c15f57 [layouts] Move methods for determining if a layout requires
rasterization or contains advanced effects to QgsLayoutExporter
instead of QgsLayoutDesignerDialog

This places them in a re-usable, testable location instead of
in private code
2021-05-06 18:23:36 +10:00
Nyall Dawson
be2c5382cb Add utility function QgsSymbolLayerUtils::condenseFillAndOutline
Attempts to condense a fill and outline layer, by moving the
outline layer to the fill symbol's stroke if possible.
2021-05-06 18:23:09 +10:00
Matthias Kuhn
bf2a8b11ed
Merge pull request #42890 from rldhont/unvirtualize-setdatasource
[API] Unvirtualize layer setDataSource method
2021-05-05 10:22:09 +01:00
vcloarec
89c069f695 address review 2021-05-05 09:03:13 +02:00
vcloarec
843eebc6ec do not use hybrid symbol layer type 2021-05-05 09:03:13 +02:00
vcloarec
9a3ad85533 interpolated line symbol layer 2021-05-05 09:03:13 +02:00
Matthias Kuhn
ef3d9a2c32
Merge branch 'master' into unvirtualize-setdatasource 2021-05-05 08:01:26 +01:00
Nyall Dawson
93b7a0c3d5 [api] Add option to QgsVectorFileWriter to store layer metadata for
created layer
2021-05-05 14:12:50 +10:00
Nyall Dawson
f5449a1fe9 (optionally) Store layer notes in QML/QLR and allow copying/pasting
when copying styles between layers

Sponsored by Alta Ehf
2021-05-05 08:44:22 +10:00
Nyall Dawson
3bdb2bbcbd Move layer notes utils to a new QgsLayerNotesUtils class so that they are accessible from core 2021-05-05 08:44:22 +10:00
Nyall Dawson
928e3ee2fe Dox 2021-05-05 06:57:58 +10:00
Nyall Dawson
2f77f6f015 Dox++ 2021-05-05 06:57:58 +10:00
Nyall Dawson
755182c134 Expose more geos methods 2021-05-05 06:57:58 +10:00
NEDJIMAbelgacem
d07a0b9a29 remove the use of QgsCustomPointCloudBlock 2021-05-04 10:11:21 +02:00
NEDJIMAbelgacem
7a03571fa7 code style review 2021-05-04 10:11:21 +02:00
NEDJIMAbelgacem
42ce3b6ae9 fix misplaced laszip tiles 2021-05-04 10:11:21 +02:00
Nyall Dawson
b4f1090ff7 Add method to combine two QGIS metadata objects
All non-empty elements from one metadata object are copied onto
the target metadata object
2021-05-04 17:46:51 +10:00
Mathieu Pellerin
c27e22f5fe
Merge pull request #43043 from nirvn/labeling_shields_imp
[feature][labeling] Use fill symbols to render rectangle,square,circle,ellipse background shields
2021-05-04 14:39:19 +07:00
Mathieu Pellerin
a9c678a1e0
Merge pull request #43027 from nirvn/desired
[layouts] Respect XYZ output zoom level when previewing map items in the layout designer
2021-05-04 14:07:34 +07:00
Mathieu Pellerin
65ba35921a Address review 2021-05-04 13:12:45 +07:00
Mathieu Pellerin
672d53e5fe Handle data defined properties upgrade when reading pre-3.20 project files 2021-05-04 11:57:28 +07:00
Mathieu Pellerin
4fad4bac0f [feature][labeling] Use fill symbols to render rectangle,square,circle,ellipse background shields 2021-05-04 11:57:28 +07:00
Nyall Dawson
667fe63521 Make saveLayerMetadata raise QgsNotSupportedException if saving metadata for uri is not supported
This allows us to disambiguate between "metadata storage for the
layer SHOULD be supported, but an error occurred while doing this"
vs "metadata storage for the layer will NEVER be supported" (eg for
a WFS layer or other read-only format)
2021-05-04 12:18:06 +10:00
Nyall Dawson
64a23d2645 Add QgsProviderMetadata::SaveLayerMetadata capability to indicate that a
provider has support for saving layer metadata
2021-05-04 12:18:06 +10:00
Nyall Dawson
2f2797318f Add QgsNotSupportedException, for operations which are not supported 2021-05-04 12:18:06 +10:00
Mathieu Pellerin
8299547682 Address review 2021-05-03 20:43:37 +07:00
Mathieu Pellerin
8d1371f3e9 [layouts] Respect XYZ output zoom level when previewing map items in the layout designer 2021-05-03 18:01:24 +07:00
Paul Blottiere
f00f89eb31
Merge pull request #42986 from lbartoletti/add_default_m_value
[API][UI] Add default M value
2021-05-03 08:44:49 +02:00
Nyall Dawson
5d703a4afc Add raw QgsProviderMetadata/QgsProviderRegistry API to save
QGIS layer metadata to a URI for the provider
2021-05-03 06:33:39 +10:00
Loïc Bartoletti
d8e91acedf sipify 2021-04-30 16:19:36 +02:00
Denis Rouzaud
4e9932c37f
Merge pull request #42954 from domi4484/settingsRegistryQep124PartThree
Settings registry (QEP 124) part three
2021-04-30 14:10:53 +02:00
Nyall Dawson
1a9a533fca [feature] Automatically translate layer data from ESRI Filegeodatabases
to QGIS layer metadata

Translate as much as possible of the original ESRI metadata across
to the QGIS metadata, so that it's immediately available for
use by users after loading a .gdb file.
2021-04-30 06:37:42 +10:00
rldhont
81ed419f2c fix move 2021-04-29 16:48:59 +02:00
rldhont
b60f5a4548 Revert "Revert "[API] Remove specific deprecated QgsVectorLayer::setDataSource""
This reverts commit 2524f9635a3d09c57ccebb78208cc7b3bf8fb9b6.
2021-04-29 16:37:16 +02:00