59906 Commits

Author SHA1 Message Date
Denis Rouzaud
71808d2d2d
[github] stop the milestone bot during feature freeze
since it tags PR for master as 3.12 while they might be waiting for 3.14
2020-01-16 09:02:06 +01:00
Nyall Dawson
8c8d48bb8f [FEATURE][processing] Add new algorithm "Detect Dataset Changes"
This algorithm compares two vector layers, and determines which features
are unchanged, added or deleted between the two. It is designed for comparing
two different versions of the same dataset.

When comparing features, the original and revised feature geometries will be
compared against each other. Depending on the Geometry Comparison Behavior setting,
the comparison will either be made using an exact comparison (where geometries must
be an exact match for each other, including the order and count of vertices) or a
topological comparison only (where are geometries area considered equal if all of
the their component edges overlap. E.g. lines with the same vertex locations but
opposite direction will be considered equal by this method). If the topological
comparison is selected then any z or m values present in the geometries will not
be compared.

By default, the algorithm compares all attributes from the original and revised
features. If the Attributes to Consider for Match parameter is changed, then only
the selected attributes will be compared (e.g. allowing users to ignore a timestamp
or ID field which is expected to change between the revisions).

If any features in the original or revised layers do not have an associated geometry,
then care must be taken to ensure that these features have a unique set of
attributes selected for comparison. If this condition is not met, warnings will be
raised and the resultant outputs may be misleading.

The algorithm outputs three layers, one containing all features which are considered
to be unchanged between the revisions, one containing features deleted from the
original layer which are not present in the revised layer, and one containing features
add to the revised layer which are not present in the original layer.
2020-01-16 16:35:50 +10:00
Sandro Mani
c304eb5496 Call QgsMapTool::deactivate after clearing QgsMapCanvas::mMapTool
Ensures that QgsMapCanvas::mapTool does not return tool currently being unset.
2020-01-16 15:37:35 +10:00
Sandro Mani
ae25d6179f Clear QgsMapCanvas::mMapTool before emitting mapToolSet in QgsMapCanvas::unsetMapTool
Otherwise, third-parties setting another tool based on the emitted signal will have their tool cleared again immediately
2020-01-16 15:37:35 +10:00
Sandro Mani
4667152d84 Disconnect QgsMapTool::destroyed also when tool is unset via QgsMapCanvas::unsetMapTool
Ensures consistent behaviour with when tool is replaced in QgsMapCanvas::setMapTool.
2020-01-16 15:37:35 +10:00
Sandro Mani
0c83435e2b Emit QgsMapCanvas::mapToolSet before tool is activated
So that QgisApp::mapToolChanged can connect the relevant signals before the tool is actually activated
2020-01-16 15:37:35 +10:00
Sandro Mani
60b4cad050 Add const version of QgsRenderContext::painter 2020-01-16 15:22:58 +10:00
Sandro Mani
062600f101 Add inline keyword to declarations to match definitions and avoid "redeclared without dllimport" warnings 2020-01-16 15:22:58 +10:00
Juergen E. Fischer
8946aa707c translation string fix 2020-01-16 00:08:01 +01:00
Denis Rouzaud
56bb8e958c
[github] fix condition followup 2020-01-15 15:37:19 +01:00
Denis Rouzaud
2f7eaf7aed
[github] fix conditions 2020-01-15 14:20:03 +01:00
Matthias Kuhn
ee0449e48d
Merge pull request #33792 from m-kuhn/offline_editing_boolean
Preserve boolean in offline editing
2020-01-15 14:11:19 +01:00
Sandro Mani
e684b51f80
Merge pull request #33760 from kadas-albireo/headers
Install various missing headers and fix some includes to work with installed headers
2020-01-15 13:40:26 +01:00
Peter Petrik
cf36172e33 bugfix: fix exporting of the mesh contours for polygons. now the exported polygons does not match triangular mesh 2020-01-15 12:31:11 +01:00
Peter Petrik
a2a80976c2 update MDAL to 0.4.94 2020-01-15 12:25:03 +01:00
Juergen E. Fischer
51c2f0ffad followup 69a53d945c28f 2020-01-15 12:18:58 +01:00
Juergen E. Fischer
69a53d945c fix windows build 2020-01-15 11:01:03 +01:00
Sandro Mani
be42816ee1 Install various missing headers and fix some includes to work with installed headers 2020-01-15 10:21:22 +01:00
Peter Petrik
ecd90c6ecb
[FEATURE] Allow customization of the items shown in browser (#33679)
* [FEATURE] Allow customization of the items show is browser. User can select in Interface Customization dialog to hide some of the items in the browser panel

Funded by Limerick City and County Council
2020-01-15 10:08:58 +01:00
Nyall Dawson
a9ed83f1a6 [FEATURE][processing] New algorithm "Rename table field"
Takes an input layer, existing field and a new name for the field, and
outputs a new layer with the selected field renamed.

While this result could also be achieved with the Refactor Fields
algorithm, Refactor Fields isn't particularly model friendly. It
relies on a constant, fixed table structure, and can't adapt to
input tables with different field structures.

In constrast, this simple Rename Field algorithm adapts nicely for
model use, because it operates on a single field only and leaves
all the other fields untouched.
2020-01-15 21:56:10 +13:00
Nyall Dawson
d3b94025a0 Reuse existing QgsDistanceArea instead of creating new ones 2020-01-15 21:55:27 +13:00
Nyall Dawson
1461ae8d0f [FEATURE][gps] Show distance from GPS lock position to current cursor
position in status bar

When a GPS device is connected, whenever the user moves the cursor
over the canvas a live status bar message displays the distance
and bearing from the cursor to the GPS fix position.

Project distance and bearing settings are respected in this display.
2020-01-15 21:55:27 +13:00
Nyall Dawson
cb6fe01284 Reuse coordinate transform in GPS information widget instead of making
new ones all the time
2020-01-15 21:55:27 +13:00
signedav
993fa38d73
Merge pull request #33688 from signedav/copy-child
Fix invalid attributes dialog on copy to another layer
2020-01-15 07:00:43 +00:00
Nyall Dawson
ddf3d2dffa Use modern approach to combobox population, fix capitalization 2020-01-15 17:10:59 +13:00
Nyall Dawson
0cd955743c Create QgsLabeling class for labeling related enums and constants,
and avoid inclusion of pal header in a public QGIS header

pal is an internal implementation detail -- it should not be exposed
publicly
2020-01-15 17:10:37 +13:00
Nyall Dawson
15a63634f3 [processing] Don't show invalid layer warning if a layer was not even set 2020-01-15 16:38:25 +13:00
nirvn
ff96140393 Fix out-of-sync vector layer extent after a dataChanged was emitted 2020-01-15 10:27:04 +07:00
Nyall Dawson
6bbe28bcf7 Fix some Qt 5.13 deprecation warnings 2020-01-15 08:12:36 +13:00
Nyall Dawson
527eca9684 Fix QgsMapCanvas::xyCoordinates reports incorrect coordinates if a pan
operation is in progress

This causes the status bar coordinates widget to show nonsense coordinates
during the pan operation. The cursor world position ISN'T changing during
a pan operation, it stuck to a fixed location!
2020-01-15 08:12:02 +13:00
Denis Rouzaud
8a74a3dd2f [github] fix cron period 2020-01-14 18:36:40 +01:00
Denis Rouzaud
7602174369 [github] move condition at step level
instead of job level

this should stop the spammy notification about failing jobS2
2020-01-14 18:33:54 +01:00
Matthias Kuhn
60b21f2a89 Preserve boolean in offline editing 2020-01-14 16:26:12 +01:00
Peillet Sebastien
84563cb2c5 apply different test depend on Qt version 2020-01-14 13:43:21 +01:00
Peillet Sebastien
7b1890931c These tests have different results between azure and travis building 2020-01-14 13:43:21 +01:00
speillet
b13846578f BUG: fix expected value for a test, due to changes in qtcore package version between bionic and disco Ubuntu release
BUG: fix expected value for a test, due to changes in qtcore package version between bionic and disco Ubuntu release
2020-01-14 13:43:21 +01:00
speillet
18f65c6345 add scientific notation for double type when precision is mentionned 2020-01-14 13:43:21 +01:00
speillet
5fe6bb89be BUG: scientific notation for double number between 1 and -1, fix #33475 2020-01-14 13:43:21 +01:00
Matthias Kuhn
f00cbb300b
Merge pull request #33782 from nyalldawson/fix_azure
Fix azure test failure, missing .arg
2020-01-14 13:11:55 +01:00
Matthias Kuhn
a47bbf4148
Merge pull request #33642 from lbartoletti/fix_snap_3d_on_2d_vertex
Fix ZM snapping for line/polygon on 2D vertex
2020-01-14 13:11:37 +01:00
Denis Rouzaud
18549faea7
[github] switch bot to 1h period
It will be able to handle 24 PR a day which sounds enough! And should save a bit of energy.
2020-01-14 12:14:27 +01:00
Nyall Dawson
94cb5f8ca9 [processing] Improve spatial join speed when joining few features to many
E.g. when joining a 7 feature polygon layer to a 3.2 million feature polygon
layer, processing time (on a debug build) has dropped from 696 seconds
to 1.3 seconds
2020-01-14 21:28:30 +13:00
Nyall Dawson
771fc3ff60 [FEATURE][processing] Add new mode to "Join Attributes by Location" algorithm
to take attributes from matching feature with largest area of overlap only

This allows for easy polygon->polygon joins, where you expect there to be
only a single matching feature and don't want to include features which
are just touching or have just tiny sliver polygon overlaps.

Sponsored by SMEC/SJ
2020-01-14 21:28:30 +13:00
root676
4c495dc0c3 fix constant raster cellsize - prefer cellsize over extent parameter so that rectangular pixels are avoided. 2020-01-14 19:59:24 +13:00
Nyall Dawson
68fbca28dc Test mask updates 2020-01-14 16:11:53 +10:00
Nyall Dawson
f14a06c2fd Make table cell editing behave more like the spreadsheet style conventions
Where selecting a cell and then typing enters a "weak" edit mode, whereby
pressing a cursor key will immediately end editing and move to another
cell. But double-clicking a cell to edit enters a "strong" edit mode,
where cursor key presses are used to navigate through the current
cell text
2020-01-14 19:08:20 +13:00
Nyall Dawson
515a6b19e0 Nicer initial dialog cell sizes 2020-01-14 19:08:20 +13:00
Nyall Dawson
979af783b9 Allow multiline text editing in table editor (ctrl+enter inserts a line break) 2020-01-14 19:08:20 +13:00
Nyall Dawson
60d5e22a05 Make a custom delegate for the table editor 2020-01-14 19:08:20 +13:00
Nyall Dawson
2117aa7a5d Make table editing action text more descriptive
By describing the number of rows/columns affected, eg "Insert 2 Columns Before"
2020-01-14 19:08:20 +13:00