3959 Commits

Author SHA1 Message Date
Nyall Dawson
a9f8e60064 Merge pull request #5428 from lbartoletti/triangleGML
ADD GML export to QgsTriangle
2017-10-26 08:38:10 +11:00
Nyall Dawson
70361063d8 Rename QgsGeometry::geometry as QgsGeometry::get()
Because feature.geometry().geometry() is confusing, and impossible
to search for in python code (e.g. is input.geometry() a QgsGeometry
or a QgsAbstractGeometry?)

But more importantantly: also add a const version
QgsGeometry::constGet(). The non-const
version is slow, since it now forces a detach to avoid corrupting
geometries (since QgsGeometry is shared, it's not safe to directly
access its primitive QgsAbstractGeometry and start messing with
it without first detaching). This is a big risk in the 2.x API
which could potentially corrupt feature geometries with unexpected
outcomes.

Update all uses to constGet where possible.
2017-10-26 07:06:34 +10:00
David
82d94aad9d Add some api documentations for new functions 2017-10-25 19:32:33 +02:00
David
f7073d0587 [FEATURE] Duplicate features including children (one level deep) when relation strength is competition - configuration for the relationsstrength in the relation GUI [needs-docs] 2017-10-25 17:04:48 +02:00
Blottiere Paul
8a4382a473 Private attributes 2017-10-25 15:29:13 +01:00
Blottiere Paul
4923a3f3e8 Rename signal in dirtied 2017-10-25 15:29:13 +01:00
Blottiere Paul
2bfb366e45 Remove duplicated protected 2017-10-25 15:29:13 +01:00
Blottiere Paul
32ff78b377 [FEATURE] Add a flag to dirty edit buffer when using executeSql in transactions 2017-10-25 15:29:13 +01:00
lbartoletti
7922608ef3 Change the approach: returns an empty element 2017-10-25 15:01:28 +02:00
Matthias Kuhn
ad7b2d03b0 Add missing doc 2017-10-25 02:07:14 +02:00
Matthias Kuhn
49de489c09 [feature] Allow to specify timeout when requesting features
This is potentially interesting for race conditions, but whenever it is specified,
iterators will need to be carefully checked for validity and error handling needs
to be taken care of.
2017-10-25 00:53:52 +02:00
Sandro Mani
ea0e09b322 Merge pull request #5410 from manisandro/geomchecker
[FEATURE][Geometry checker] Support checking multiple layers at once, add new checks
2017-10-23 23:32:45 +02:00
Nyall Dawson
46a6f25d6f Merge pull request #5418 from nyalldawson/from_polyline
Rename QgsGeometry::fromPolyline as QgsGeometry::fromPolylineXY
2017-10-24 08:21:30 +11:00
Sandro Mani
fde740a3ba Re-add QgsGeometryEngine::combine taking a list of QgsAbstractGeometries 2017-10-23 17:25:08 +02:00
lbartoletti
0d89504ee5 ADD GML export to QgsTriangle 2017-10-23 14:29:08 +02:00
Nyall Dawson
a48c2e8fd4 Merge pull request #4947 from lbartoletti/regularShape_gui
[FEATURE][needs-docs] Add gui to draw Circle, Ellipse, Rectangle and Regular Polygon
2017-10-23 16:04:23 +11:00
Nyall Dawson
5d675720bb Optimise calculation of QgsGeometry::vertexNrFromVertexId
By moving logic to abstract geometry subclasses so that they
can trivially retrieve the vertex number, instead of relying
on the inefficient coordinateSequence method.

Has flow on speed boosts to many geometry operations like
calculation of closest points in a geometry, which will
benefit snapping related operations.
2017-10-23 08:03:22 +11:00
Nyall Dawson
2e8e72d02d Optimise determination of adjacent vertices and move to QgsAbstractGeometry
Previously the method in QgsGeometryUtils was relying on
QgsAbstractGeometry::coordinateSequence, which is an absolute
performance killer.

Instead move to optimised methods in the various abstract
geometry subclasses which rely only on trivial calculations.
2017-10-23 08:03:22 +11:00
Nyall Dawson
c4f3832af2 Rename QgsGeometry::fromPolyline as QgsGeometry::fromPolylineXY
and add new QgsGeometry::fromPolyline which uses QgsPoint

We want to encourage people not to use the QgsPointXY method, as it drops
Z/M values. So it's moved across to a different name to make way
for a new QgsGeometry::fromPolyline which uses a QgsPoint list
instead of QgsPointXY, thus keeping Z/M values intact.

Similarly, QgsPolyline now is a list of QgsPoint (keeping z/m values)
and the old 2d QgsPolyline type was renamed to QgsPolylineXY.

Making the QgsPoint method the "preferred" method and making linestrings
just as easy to create from z/m dimensioned points as 2d points is
important to push people to write code which does not discard
these important dimensions.

As a bonus, the QgsPoint methods are more efficient anyway, since
they don't require creation of a temporary list.
2017-10-22 18:10:14 +10:00
Matthias Kuhn
6428fed8a3 Merge pull request #5385 from jachym/geopackage
Put GeoPackage at first place in the menu
2017-10-21 16:33:20 +02:00
Alessandro Pasotti
a411669dae Merge pull request #5226 from aaime/rule_labels
Also export rule based labelling in SLD. Follows up to ticket #8925
2017-10-19 17:58:25 +02:00
Jachym Cepicky
28daa1a0e0 Adding more default SHP->GPKG changes 2017-10-19 15:45:04 +02:00
Andrea Aime
aa594f5397 Also export rule based labelling. Follow up to #8925 2017-10-19 14:55:37 +02:00
Nyall Dawson
4ce166241e Allow processing providers to specify a long name, and show it in tooltips
Add version number to gdal provider long name
2017-10-19 13:12:31 +10:00
Larry Shaffer
a1efff793a [auth] Fix documentation error in QgsAuthCertUtils 2017-10-18 17:40:44 -06:00
Larry Shaffer
8107f91037 [auth] Move inline file reads to static func; add PKCS#8 sniffing func 2017-10-18 16:07:04 -06:00
Nyall Dawson
406425d68a Rename method, docs and api breaks documentation 2017-10-19 07:29:48 +10:00
Nyall Dawson
587072cae9 Split QgsFileDownloader into separate core/gui classes
So that the guts of this class can be used from non-gui code
2017-10-19 06:32:50 +10:00
Nyall Dawson
a406739975 Add render context flag to indicate canvas preview jobs
In future we can use this to optimise the preview job and shortcut
by doing lower quality/faster renders.

For now, use this flag to identify preview jobs and only apply
'updated canvas' min/max to rasters for non-preview jobs

Fixes #16988
2017-10-19 07:31:33 +11:00
Alessandro Pasotti
a7765ca966 Merge pull request #5380 from boundlessgeo/bd_2272_pki_parsed_ca
[auth] Allow to optionally add CAs from PKI bundle to the trusted CAs for the configured connection
2017-10-18 11:47:30 +02:00
Alessandro Pasotti
18517b36b0 [auth] Document cachain argument 2017-10-16 14:33:55 +02:00
Alessandro Pasotti
b3fc3a4809 [auth] Sipify and doxify 2017-10-16 12:59:44 +02:00
Alessandro Pasotti
d293e8f6ed [auth] Add method to exclude self-signed CAs from a list of certificates 2017-10-16 10:52:40 +02:00
Nyall Dawson
f579f1a449 Move bounds retrieval to QgsCoordinateReferenceSystem
Allows reuse in scripts/plugins/etc
2017-10-16 14:14:22 +11:00
Martin Dobias
7e34beec8c New API for traversal of geometry's vertices using iterator pattern
Introducing:
1. STL-style iterator: QgsAbstractGeometry::vertex_iterator
2. Java-style iterator: QgsVertexIterator (built on top of STL-style)

The iterators are modeled after Qt's STL-style and Java-style iterators,
the idea is to replace nextVertex() method and later introduce iterators
for other bits (e.g. part_iterator, ring_iterator).
2017-10-14 13:23:14 +02:00
Alessandro Pasotti
566ad8b554 [auth] Add CA utility methods 2017-10-13 12:58:08 +02:00
Alessandro Pasotti
f4b4030fd3 [auth] Add CA chain to auth config 2017-10-13 12:56:42 +02:00
Nyall Dawson
947b0cc49e Safer memory management in geos
Also speed up avoid intersections by removing unnecessary geometry
cloning
2017-10-13 19:55:57 +10:00
Nyall Dawson
c3fdaa950d Some safer memory management for geos 2017-10-13 19:54:00 +10:00
Nyall Dawson
b922166d6e Rework internal geometry memory management
Use unique_ptrs wherever possible, and cleanup geometry
detachments
2017-10-13 19:18:55 +10:00
Nyall Dawson
9a3b547d33 Merge pull request #5330 from nyalldawson/layout_next
[layouts] Port group handling
2017-10-13 13:02:44 +10:00
Nyall Dawson
b5197c8c53 Port drop geometries to c++ 2017-10-13 08:29:37 +10:00
Nyall Dawson
2951afa324 Port boundary algorithm to c++
Also allow feature based algorithms to customise their appectable
input layers types and set suitable filters for all applicable
algorithms
2017-10-13 08:28:34 +10:00
Alexander Bruy
d97a51b532 Merge pull request #5243 from alexbruy/processing-gdal
[processing] restore GDAL algorithms
2017-10-12 08:00:20 +03:00
Nyall Dawson
0028486a96 Merge pull request #5185 from nyalldawson/materialize
QgsFeatureSource::materialize experiment
2017-10-12 13:58:44 +10:00
Etienne Trimaille
098611c3f6 add helper to build a QgsRectangle from a WKT string 2017-10-12 06:32:02 +10:00
Alexander Bruy
2104b273af [processing][API]introduce QgsProcessingOutputFile output and fix gdal2xyz test 2017-10-11 17:06:11 +03:00
Martin Dobias
863197f095 Code layout fixes after rebase 2017-10-10 12:22:17 +02:00
Martin Dobias
b140b29718 [FEATURE] Tracing with optional offset
Tracing button in the snapping toolbar gets extra menu where it is possible to set
offset that will be applied to the traced line. Offset value can be either positive
(right side) or negative (left side).
2017-10-10 10:50:27 +02:00
Blottiere Paul
a9a2c200e3 Search schemaExtension.xsd in share directory 2017-10-10 08:02:33 +01:00