20329 Commits

Author SHA1 Message Date
Nyall Dawson
388a72abd8 [feature] Replace marker/hash line "on vertices" placement option
with "on inner vertices"

This new mode places the symbols on all inner vertices (ie all
vertices except the first or last). (We can safely do this now
that its easy for users to also set the symbols to show on
first/last vertex by clicking those checkboxes too!)

The motivation here is that when the "Vertex" mode puts the
symbols on the first/last vertex as well as inner vertices,
it's basically impossible to style a line with a different
marker on the first/last vertex to the rest of the line's
vertices. (The best you can get is just hiding the unwanted
first/last vertex by overlaying a second symbol layer on
the first/last vertices with a larger symbol)

Sponsored by North Road, thanks to SLYR
2021-11-12 14:09:42 +11:00
Nyall Dawson
aaafd786df
Make placement options in marker and hash line symbol layers checkboxes instead of mutually exclusive buttons
Makes it considerably quicker to create a marker line with the
markers on the first AND last vertex, amongst other things...

Fixes #18433

Sponsored by North Road, thanks to SLYR
2021-11-12 04:44:08 +10:00
Clemens Raffler
4c2e96aad4
[feature] Port Export to PostgreSQL algorithm to C++ 2021-11-11 08:10:36 +10:00
Denis Rouzaud
1bb212ee9a
Merge pull request #45962 from 3nids/ux-db-table-filter
improve filtering of layers in DB dialogs
2021-11-10 15:13:03 +01:00
Denis Rouzaud
54eb1584c5 sipify 2021-11-10 10:24:33 +01:00
Denis Rouzaud
325ab02468 deprecate QgsDatabaseFilterProxyModel 2021-11-10 09:11:26 +01:00
Nyall Dawson
b8e4eeea22 Fix conversion of non rgb gradients to QGradient 2021-11-10 18:42:42 +11:00
Nyall Dawson
acabfb30f5 Add support for setting the color model to use when interpolating a
gradient ramp

Some gradients will pass through murky grey mid-tones when interpolating
using red/green/blue channels. Interpolating via
hue/saturation/lightness/value channels can avoid these desaturated
mid tones, resulting in more visually pleasing gradients.

The color spec can be set per stop in a multi-stop gradient, and there's
also an option to control the direction which interpolation should
follow for the Hue component of a HSL/HSV color spec interpolation.

Sponsored by North Road, thanks to SLYR
2021-11-10 18:42:42 +11:00
Nyall Dawson
aaca87ca06 Move curve orientation enum (Clockwise/CounterClockwise) to Qgis and
generalise the name

These values are useful for more than just curve orientations
2021-11-10 18:42:42 +11:00
Nyall Dawson
5b8d164008 Split qgscolorramp.h/.cpp out into qgscolorrampimp.h/.cpp
Avoids a bunch of unwanted includes throughout QGIS
2021-11-10 18:42:42 +11:00
Alexander Bruy
16d2eb276d [processing] multidirectional and combined shading options are mutually
exclusive (fix #45957)
2021-11-10 08:06:39 +11:00
Denis Rouzaud
0f68ec7249 fix typo 2021-11-09 14:14:34 +01:00
Denis Rouzaud
93bb188e2a add python bindings 2021-11-09 14:13:52 +01:00
Denis Rouzaud
5fb2236491 improve filtering of DB tables (hide useless schemas) 2021-11-09 14:06:12 +01:00
Denis Rouzaud
ac63c6e645
Merge pull request #45841 from 3nids/fix-rel-mismatch-type
improve success of compiled expressions running on backend with mismatching types in relation field pairs
2021-11-09 09:30:36 +01:00
Nyall Dawson
c15ff5e391 Fix const 2021-11-09 14:58:44 +11:00
Nyall Dawson
37b3eaa869 Add method to find opposite edge in a QgsGraph 2021-11-09 14:58:44 +11:00
Nyall Dawson
c0b253a69b Add API to remove vertices or edges from QgsGraph
Useful when you've built a graph and want to perform multiple
different analysis on it after excluding routes without
having to rebuild the whole graph again

Eg. find the shortest path between two vertices, then remove all
these edge from this path and repeat to try to find the second-shortest
path which doesn't use any of the same edges from the shortest
path
2021-11-09 14:58:44 +11:00
Nyall Dawson
9b02c301a5 Raise IndexError when requesting invalid edge or vertex indices
from QgsGraph, instead of crashing
2021-11-09 14:58:44 +11:00
Nyall Dawson
730cd7e23a [feature] Add "stretch" setting for labels and text formats
Allows text to be horizontally stretched or condensed by a %
factor. Handy for tweaking the widths of fonts to fit a bit
of extra text into labels (when used sparingly, that is...
you can certainly abuse font stretching with some horrendous
results!)

Requires Qt 6.3+ or KDE's 5.15 fork

Thanks for KDAB for fixing the upstream issues blocking this!
2021-11-09 14:58:14 +11:00
Denis Rouzaud
4b3c50d59e add optional type parameter to QgsExpression::createFieldEqualityExpression 2021-11-08 09:18:19 +01:00
Nyall Dawson
dae69acc76 [feature] Support Small Caps style in labels/text renderer
Adds two new capitalization styles for labels and text symbols:

- Small Caps: Renders lowercase characters as small caps
- All Small Caps: Renders all characters as small caps (regardless
of their original case)

Requires Qt 6.3+, or Qt 5.15 using KDE's fork and the cmake
HAS_KDE_QT5_SMALL_CAPS_FIX switch defined during build.
2021-11-08 14:36:44 +11:00
nicogodet
ea981d89f9 Homogenize toMapLayer function definition 2021-11-08 10:13:28 +11:00
Nyall Dawson
294282c970 Add new map settings/render context flag for high quality image transforms
which is opt in, and consistently respect this for better quality
raster image markers, svg/raster fills when set

We don't set this by default (keep things light for server), but
do use it in the map canvas and layout exports whenever antialiasing
is enabled.
2021-11-07 17:16:59 +11:00
Harrissou Sant-anna
ab42fbbda6 Relabel the geometric predicate option
Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2021-11-05 09:51:27 +11:00
Harrissou Sant-anna
7a2ae423ed Relabel "join by location..." algorithms inputs 2021-11-05 09:51:27 +11:00
Alessandro Pasotti
d4876f3842 Add operator for flgs and update docs 2021-11-05 07:29:18 +11:00
Alessandro Pasotti
2fbb830c16 Address PR comments 2021-11-05 07:29:18 +11:00
Alessandro Pasotti
c5f956dbef Introduce VectorLayerType flags 2021-11-05 07:29:18 +11:00
Alessandro Pasotti
a04112d740 Add isQuery() to vector layer and data provider
The method returns TRUE if the layer is a query/sql layer.

This allows to selectively show the "Update SQL Layer..." menu
entry in the legend.

Partial fix for #45796
2021-11-05 07:29:18 +11:00
Nyall Dawson
cf467c4e17 Improve PDF export
We no longer require paint engine hack for Qt 6.3 or KDE's fork, which
now means that pattern brushes and gradients are correctly exported
to PDF without forced rasterization.

Results in higher quality PDF outputs with smaller file sizes

Thanks to KDAB for the fix!
2021-11-05 07:28:32 +11:00
Germán Carrillo
6d3cec6dcf [plugins] Minor improvement to find_dependencies: avoid two consecutive calls to updateAvailablePlugins(); add missing keys to Plugins dict in installer_data 2021-11-05 07:26:42 +11:00
Germán Carrillo
10633af446 [plugins] In dependencies dialog, make sure column Name's width is enough to show the whole plugin name 2021-11-05 07:26:42 +11:00
Germán Carrillo
f9c203cafa [plugins] Add support for experimental dependencies 2021-11-05 07:26:42 +11:00
Tom Kralidis
d3a2e45582 [MetaSearch] remove data.gov CSW from default connections list (#43386) 2021-11-05 07:22:12 +11:00
Antoine Facchini
97b288dcee
Add roundness method to curve polygon (#45154)
* add roundness function

* add roundness function tests

* add roundness function help

* add roundness expression

* add roundness expression tests

* add roundness expression help

* add roundness processing

* add roundness processing tests

* add roundness processing help

* fix import and typo

* Fix typo

Co-authored-by: Harrissou Sant-anna <delazj@gmail.com>

* Add tag

Co-authored-by: Harrissou Sant-anna <delazj@gmail.com>

* Fix typo

Co-authored-by: Harrissou Sant-anna <delazj@gmail.com>

* Modify the description

Co-authored-by: Harrissou Sant-anna <delazj@gmail.com>

* Replace equality condition by qgsDoubleNear

Co-authored-by: Loïc Bartoletti <lbartoletti@users.noreply.github.com>

* Change types for literals

Co-authored-by: Loïc Bartoletti <lbartoletti@users.noreply.github.com>

* add since version

Co-authored-by: Loïc Bartoletti <lbartoletti@users.noreply.github.com>

* add a const

* add the \since adding in the sip file

* Fix typo

Co-authored-by: Loïc Bartoletti <lbartoletti@users.noreply.github.com>

* Fix typo

Co-authored-by: Loïc Bartoletti <lbartoletti@users.noreply.github.com>

* Remove SIP factory annotation

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* Remove double calculation of permimeter

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* Always add an attribute

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* Use QGSCOMPARENEAR in tests

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* Shorten the short description

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* Make a more complete help string

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* Correct the description

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* reformat bad code styles

* sipify

Co-authored-by: Harrissou Sant-anna <delazj@gmail.com>
Co-authored-by: Loïc Bartoletti <lbartoletti@users.noreply.github.com>
Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2021-11-04 08:44:03 +01:00
nirvn
d8ac5e6f2c [editor widgets] Provide a show first feature setting to avoid UI freeze of attribute form containing a large number of embedded relations 2021-11-03 18:20:49 -07:00
Sandro Mani
18d598ba4a Set release_gil = True when generating bindings 2021-11-04 08:51:00 +11:00
nicogodet
40df6ec76b Add geometryType() method to root Table class 2021-11-03 18:09:27 +01:00
Alessandro Pasotti
dc3e9ebad0
Merge pull request #45158 from dmarteau/fix-server-filter-streaming
[server] Allow better control of the response flow chain from server filters.
2021-11-03 13:43:54 +01:00
Antoine
9272035c4e copy model only when no error 2021-11-03 06:53:03 +11:00
Antoine
d2425f51b8 remove model validity condition 2021-11-03 06:41:45 +11:00
Julien Cabieces
d2f27f5e7e
Merge pull request #45727 from elpaso/expose-qgsserverfid-to-bindings
Expose QgsServerFeatureId to Python
2021-11-02 08:38:52 +01:00
Nyall Dawson
14bd167aba Ensure zip items behave correctly as files in browser
Also fixes drag and drop support for zip to project

Refs https://github.com/qgis/QGIS/issues/45769
2021-11-02 17:04:18 +11:00
Nyall Dawson
4b7dff669c Improve docs 2021-11-02 15:03:56 +11:00
Nyall Dawson
dabc17bbcb Ensure correct symbol geometry type is used for more preview icons 2021-11-02 06:29:25 +11:00
Nyall Dawson
11dc9cca18 Add force_polygon_cw and force_polygon_ccw expression functions
These are recommended for use instead of the existing force_rhr
function, due to the variability in definition of the "right hand
rule" between different software applications. Using an explicit
force_polygon_cw/ccw function removes user confusion when the
results vary between different applications.
2021-11-01 12:10:41 +11:00
Nyall Dawson
0795f726cf [api] Add function to apply a dash pattern vector to a geometry
This returns a new multilinestring geometry which represents the
input geometry with the dash pattern applied to the lines or rings
of the input geometry.

Options are available to set rules for the start/end of the pattern,
e.g. ending on a full dash or gap, or half dash or gap.

Sponsored by North Road, thanks to SLYR
2021-10-30 18:18:03 +11:00
Alessandro Pasotti
5c3915b9ed
Merge pull request #45587 from elpaso/bugfix-gh45582-vector-renderer-localization-issues
Fix multiple localization issues with vector renderers
2021-10-29 15:49:14 +02:00
Alessandro Pasotti
c2b15d89e3 Bah :/ 2021-10-29 15:39:52 +02:00