3197 Commits

Author SHA1 Message Date
nirvn
3d70259fe4 Fix dox 2021-05-12 17:52:24 +07:00
nirvn
f916c06a8e [authentication] Add a pair of APIs to export and import configurations to/from XML 2021-05-12 16:05:38 +07:00
Even Rouault
a11baa0e5a Workaround a gcc warning for switch() { case X: return ...; } constructs
Fixes warnings like the following one with gcc 9.3
```
/home/even/qgis/qgis/src/gui/qgsfilecontentsourcelineedit.cpp: In member function ‘virtual QString QgsPictureSourceLineEditBase::fileFilter() const’:
/home/even/qgis/qgis/src/gui/qgsfilecontentsourcelineedit.cpp:307:1: warning: control reaches end of non-void function [-Wreturn-type]
  307 | }
      | ^
```
2021-05-12 08:12:57 +10:00
Denis Rouzaud
6817d9416a [FEATURE] supports dynamic SVGs in layouts
also fix a UX bug where you couldn't switch between raster and SVG radios if the data defined property was active (unreported in tracker)
2021-05-11 11:15:55 +02:00
Nyall Dawson
21edff4ed7 Show more details about layer CRSes in the layer properties information
screen
2021-05-11 14:25:53 +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
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
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
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
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