39293 Commits

Author SHA1 Message Date
Nyall Dawson
32ecbcfa21 Merge pull request #4693 from nyalldawson/request_crs
Allow specifying a destination CRS in QgsFeatureRequest
2017-06-09 10:49:02 +10:00
Nyall Dawson
482ed3f25a Explicitly mention in docs that presence of destination CRS does
not affect filter expressions or virtual field values
2017-06-09 09:00:04 +10:00
Nyall Dawson
e437812a68 Return an invalid iterator if a transform exception occurs
when projecting filter rects from destination crs
2017-06-09 08:57:00 +10:00
Nyall Dawson
7d847bf34a Rename transform methods for clarity 2017-06-09 08:41:46 +10:00
Nyall Dawson
9f71156a13 Merge pull request #4678 from nyalldawson/layer_scale
Swap QgsMapLayer min/max scale API definitions (unify scale api, pt 2)
2017-06-09 07:44:01 +10:00
Martin Dobias
b280c873d5 Node tool: give preference to vertex match over segment match from previous feature 2017-06-08 23:02:27 +02:00
Martin Dobias
91be49a163 Fix python tests after previous commit 2017-06-08 23:02:02 +02:00
Martin Dobias
2964c33d63 Reshape tool: use default Z value for 3D geometries 2017-06-08 21:56:21 +02:00
Martin Dobias
f5b38fedba Node tool: add default Z value to new vertices in 3D geometries (fixes #16240) 2017-06-08 21:53:56 +02:00
Martin Dobias
bdd81685a1 Fix a crash when toggling a layer to editable mode 2017-06-08 15:56:56 +02:00
Martin Dobias
c340e37e88 Do not #include QtConcurrent when using map renderer jobs C++ API
This way C++ apps using the API do not need to add QtConcurrent to their build
2017-06-08 15:56:56 +02:00
Denis Rouzaud
866bfc3db6 sipify core symbology part 2 2017-06-08 15:16:55 +02:00
Nyall Dawson
1a418f5d64 Handle request crs transform in cached feature iterators 2017-06-08 19:31:21 +10:00
Nyall Dawson
8ef6722e9a Indentation 2017-06-08 19:20:07 +10:00
Nyall Dawson
b6e1eea4c7 Handle request destinationCrs in QgsVectorLayerFeatureIterator 2017-06-08 19:20:07 +10:00
Nyall Dawson
a98923507e Allow specifying a destination CRS in QgsFeatureRequest
If set, all geometries will be reprojected from their original
coordinate reference system to the destination CRS while
iterating over features.

If a CRS has been set as the destination CRS, then the filterRect
parameter should be specified in the same CRS as this destination
CRS.

Additionally, a callback function can be specified on the request
to be called if a transform exception is encountered while
iterating over features.

This is designed to make it easier for scripts and plugins to
correctly reproject layers in an efficient and robust way, instead
of having to implement lots of repeated code themselves and
potentially missing some of the important considerations which
come with reprojecting geometries & bounding boxes.

Now, if a script wants the features from a layer in a specific
CRS, they can call:

    crs = QgsCoordinateReferenceSystem('epsg:4326')
    request = QgsFeatureRequest().setDestinationCrs(crs)
    for f in layer.getFeatures(reqeuest):
        print('geometry in 4326 is {}.format(f.geometry().exportToWkt()))
2017-06-08 19:20:07 +10:00
Harrissou Sant-anna
fcc06ce380 More typo fixes 2017-06-08 09:55:25 +02:00
Harrissou Sant-anna
a148a7890d Typo fix and list ordering 2017-06-08 09:55:25 +02:00
Nyall Dawson
7651f9fb71 Merge pull request #4698 from nyalldawson/cache_test
Add feature source test for QgsVectorLayerCache
2017-06-08 17:39:14 +10:00
Denis Rouzaud
9e176feeac gps fixes 2017-06-08 09:38:34 +02:00
Denis Rouzaud
e545d44c4f sipify core gps 2017-06-08 09:38:34 +02:00
Nyall Dawson
e052933b14 Identation 2017-06-08 17:05:35 +10:00
Nyall Dawson
fbad91165c Add feature source test for QgsVectorLayerCache
While it's not a QgsFeatureSource subclass (yet), it behaves
just like one so when can run the feature source conformance
test suite over it.

Fix a few minor issues identified by the test suite, and one
potential crash (requesting an invalid id from a cache iterator
crashes qgis)
2017-06-08 16:59:21 +10:00
Denis Rouzaud
ed915e75a2 sipify gui part 1 2017-06-08 08:52:02 +02:00
Denis Rouzaud
a7c9cc8133 fix merge 2017-06-08 07:31:47 +02:00
Denis Rouzaud
41ceed3d77 [sipify] fix false virtual methods 2017-06-08 07:28:36 +02:00
Nyall Dawson
0591225fbc Don't allow selection of adding z/multigeometries when saving a vector
layer with geometry type set to No Geometry
2017-06-08 14:09:18 +10:00
Nyall Dawson
dbdbd1579a Fix composer legend "Filter by Atlas Feature" does not save
Fix #16663

(forward port from ecb4c5a)
2017-06-08 10:35:47 +10:00
Nyall Dawson
7d9cc131e8 Merge pull request #4657 from DelazJ/patch-1
Typo fix: Add missing spacing
2017-06-08 10:17:10 +10:00
Nyall Dawson
1bbfd5b8c2 Merge pull request #4692 from nyalldawson/prepare
Make more use of prepared geometries for intersection tests
2017-06-08 07:29:09 +10:00
Nyall Dawson
648ff29304 Merge pull request #4695 from nyalldawson/buffer_test
Add feature source unit tests for vector layer with edits in buffer
2017-06-08 07:12:25 +10:00
Nyall Dawson
342897c6ae Add source test for vector layer with deleted features in buffer 2017-06-08 06:42:09 +10:00
Denis Rouzaud
6606d463d3 fix enum 2017-06-07 19:43:45 +02:00
Denis Rouzaud
67b01dee0c [sipify] fix negative value assignment 2017-06-07 16:34:45 +02:00
Denis Rouzaud
542dc85433 sipify core symbology classes 2017-06-07 16:04:30 +02:00
Denis Rouzaud
154c8f5d70 [sipify] fix body detection* 2017-06-07 16:04:30 +02:00
Nyall Dawson
3f81fc0913 Add feature source unit tests for vector layer with edits in buffer
Run the feature source tests over a layer with added, edited
geometries, and edited attributes unsaved in an edit buffer

Fix identified issues when iterating over these edited features
2017-06-07 22:26:11 +10:00
Even Rouault
7435d34239 [WFS provider] Recognize Geomedia layers with gmgml:LineString_Curve_MultiCurve_CompositeCurvePropertyType type as multilinestring layers (#16675) 2017-06-07 12:36:23 +02:00
Denis Rouzaud
9a40754fb8 sipify Qgis, QgsDxfExport 2017-06-07 12:03:22 +02:00
Denis Rouzaud
8d2f72c3df [sipify] uniform die messages 2017-06-07 12:03:22 +02:00
Nyall Dawson
be501a0f5f Make more use of prepared geometries for intersection tests
Should speed up a few operations
2017-06-07 14:08:22 +10:00
Nyall Dawson
fa9f202b05 Merge pull request #4691 from nyalldawson/validator
Add an explicit argument to set QgsGeometryValidator method
2017-06-07 13:12:58 +10:00
Nyall Dawson
64a86e3d6c Add an explicit argument to set QgsGeometryValidator method
Previously this was always read from settings when using
QgsGeometryValidator. It's now an explicit argument
when constructing QgsGeometryValidator or calling the
static validation methods, allowing choice of internal/GEOS
validation methods.

Helps remove more QgsSettings use from core.
2017-06-07 11:36:14 +10:00
Nyall Dawson
5f1a78ddab Update inverted polygon test mask 2017-06-07 05:46:56 +10:00
Martin Dobias
9cd3ef02ac Use invalid CRS as default in map settings
I have got caught by the default set to WGS 84 when I loaded a layer
in projected CRS, set extent to layer's extent and... nothing got rendered
because map renderer was reprojecting to WGS 84.

This default is closer to the default in 2.x where reprojection is turned off.
2017-06-06 15:06:01 +02:00
Sandro Santilli
362d4f0697 Add DBManager test for service-only URI
Ref #16626

Also fixes runs with non-standard QGIS_PGTEST_DB env variable set
2017-06-06 14:56:40 +02:00
Nyall Dawson
de9e70e6ba Merge pull request #4684 from nyalldawson/processing_pt3
Add sourceExtent method to QgsFeatureSource
2017-06-06 21:50:45 +10:00
Martin Dobias
39b5f4e5b3 Update acceptable missing doc 2017-06-06 13:16:58 +02:00
Sandro Santilli
eddf23c381 Make the check rule use xvfb-run, drop check-no-x
I see no reason for anyone wanting to see popping windows during
a `make check` run. Closes #12172.
2017-06-06 12:39:35 +02:00
Alexander Bruy
80911c6e74 Merge pull request #4675 from alexbruy/processing-help
[processing] improve help system
2017-06-06 13:08:22 +03:00