14216 Commits

Author SHA1 Message Date
Etienne Trimaille
c1f8db9b2e
fix nodata parameter in saga 2018-11-22 14:08:49 -04:00
Mathieu Pellerin
4e1d6841ae Avoid more needless project dirtying 2018-11-21 21:46:50 +07:00
Alessandro Pasotti
bb44e2b60b
Merge pull request #8512 from elpaso/docker-testing-env-tests
Docker testing env tests
2018-11-21 13:27:02 +01:00
Denis Rouzaud
d1d3a51efb
Merge pull request #8429 from lbartoletti/extendMapTool
[needs-docs][FEATURE] Trim/extend
2018-11-21 06:36:08 +01:00
Nyall Dawson
5603546c26 Dox 2018-11-21 08:48:55 +11:00
Nyall Dawson
e21ea25c66 Add method to set QgsFeature geometry directly from QgsAbstractGeometry
Allows

    feat.setGeometry(QgsPoint(1,2))

instead of the more obscure

    feat.setGeometry(QgsGeometry(QgsPoint(1,2)))
2018-11-21 08:48:55 +11:00
Alessandro Pasotti
ed9709b4fa Copy updated test runner into the docker
Handle -e and do not exit on error
2018-11-20 10:31:05 +01:00
Nyall Dawson
a22422c4bf [FEATURE][API] Add parts iterators to QgsGeometry
This allows easy iteration over all the parts of a geometry,
regardless of the geometry's type. E.g.

geometry = QgsGeometry.fromWkt( 'MultiPoint( 0 0, 1 1, 2 2)' )
for part in geometry.parts():
  print(part.asWkt())

geometry = QgsGeometry.fromWkt( 'LineString( 0 0, 10 10 )' )
for part in geometry.parts():
  print(part.asWkt())

There are two iterators available. QgsGeometry.parts() gives
a non-const iterator, allowing the parts to be modified in place:

geometry = QgsGeometry.fromWkt( 'MultiPoint( 0 0, 1 1, 2 2)' )
for part in geometry.parts():
   part.transform(ct)

For a const iteration, calling .const_parts() gives a const
iterator, which cannot edit the parts but avoids a potentially expensive
QgsGeometry detach and clone

geometry = QgsGeometry.fromWkt( 'MultiPoint( 0 0, 1 1, 2 2)' )
for part in geometry.const_parts():
   print(part.x())
2018-11-20 05:05:37 +11:00
Nyall Dawson
f5a6aef55f Raise IndexError in PyQGIS when calling geometryN on a collection
with an invalid geometry index

And add len operator to QgsGeometryCollection
2018-11-20 05:05:37 +11:00
Blottiere Paul
4e209724cf
Merge pull request #8260 from lbartoletti/dbmanager_add_save_sql_file
[FEATURE][needs-docs]Add buttons to load and save an external SQL file
2018-11-19 04:49:59 +00:00
Blottiere Paul
50e2b76ae7
Merge pull request #8005 from lbartoletti/bugfix_18902
Fixes #18902 Snapping and tracing inconsistent behaviour
2018-11-19 04:49:03 +00:00
Håvard Tveite
ce313755d7 GDAL extractreprojection missing from the raster menu
This was missed in #8378.
2018-11-18 08:59:24 +10:00
lbartoletti
c292e69e49
Merge branch 'master' into extendMapTool 2018-11-15 11:37:26 +01:00
lbartoletti
574a57f2e4 Merge branch 'extendMapTool' of github.com:lbartoletti/QGIS into extendMapTool 2018-11-13 13:39:56 +01:00
Peter Petrik
0e413c04bc sipify 2018-11-13 10:48:02 +01:00
Peter Petrik
7564276994 QPrinter is unavailable on some platforms 2018-11-13 10:48:02 +01:00
Peter Petrik
1559013270 support platforms that does not have QProcess support (iOS) 2018-11-13 10:48:02 +01:00
lbartoletti
03d53fb871 missing translations; add extension at save 2018-11-13 09:22:33 +01:00
lbartoletti
be2ac88643
Merge branch 'master' into extendMapTool 2018-11-13 09:04:56 +01:00
lbartoletti
a8f865917e Nyall's review 2018-11-13 09:03:26 +01:00
lbartoletti
abcf2aa4cf init trim/extend feature 2018-11-13 09:03:26 +01:00
lbartoletti
ebdc932ec2 add LastDir for SQL File 2018-11-13 08:20:20 +01:00
Nyall Dawson
17ced9186a Tweak behavior of new shapefile/gpkg browser actions 2018-11-13 07:14:19 +10:00
Nyall Dawson
8ae1880d38 Rename method for consistency, fix dox 2018-11-13 07:13:36 +10:00
Nyall Dawson
8703fb219b [FEATURE][API] New class QgsExifTools
Contains utilities for retrieving the geotag from images and
for setting an image's geotag.

Working with geotags (before this class!) is super-annoying
and fiddly and relies on either parsing command line tools
or depending on non-standard Python libraries which are
not available everywhere, and often very difficult for users
on certain platforms to get installed and working correctly.

With this class we have stable methods for geotag getting/setting
which are universally available and can be used safely
by plugins and scripts.
2018-11-13 07:13:36 +10:00
Martin Dobias
1275708a49
Merge pull request #8458 from wonder-sk/terrain-shading
[3d] Terrain shading
2018-11-12 18:13:43 +01:00
lbartoletti
5eecbf2d4c Add translation ; add button 'load file' 2018-11-12 17:48:14 +01:00
Martin Dobias
d3e81f6d18 [FEATURE] Add support for shading of terrain
This adds new options for user to choose how the terrain should be rendered:
- shading disabled - color of terrain is determined only from map texture
- shading enabled - color of terrain is determined using Phong's shading model,
  taking into account map texture, terrain normal vector, scene light(s) and
  terrain material's ambient+specular colors and shininess

(configuration of lights is not there yet - now we always have a single point
light with white color at the middle of the scene at 1km above the zero elevation)
2018-11-11 16:10:58 +01:00
Luigi Pirelli
530cd5c12c
Merge pull request #8378 from havatv/patch-1
Reintroduce GDAL extract projection and update extractprojection.py to QGIS 3
2018-11-11 11:49:03 +01:00
Juergen E. Fischer
b39e5a0937 processing: add windows support to exportRasterLayersIntoDirectory (fixes #20146) 2018-11-11 03:15:21 +01:00
Juergen E. Fischer
3a4a3af1d6 osgeo4w:
* only use GRASS major version in executable names
* autodetect GRASS folder
2018-11-10 21:35:09 +01:00
Nyall Dawson
149726cfa5 [dbmanager] Fix exception when browsing project layers 2018-11-10 12:30:52 +10:00
Denis Rouzaud
30cf2d37bc
Merge pull request #8404 from 3nids/locator_core
Move parts of QgsLocatorFilter to core
2018-11-09 12:18:27 +00:00
Denis Rouzaud
f4f5d1ef5b missing destructor 2018-11-09 10:01:38 +00:00
Denis Rouzaud
31cd1644c3 also move triggering of results to core 2018-11-09 10:01:29 +00:00
Nyall Dawson
ba17b130f8 Move forceRHR to QgsGeometry, avoid duplicate code 2018-11-09 19:06:48 +10:00
Nyall Dawson
63c9bcb5d2 Update reference lines 2018-11-09 19:06:48 +10:00
Nyall Dawson
30214538c2 [FEATURE] Add option to simple line and marker line to only
render exterior ring or interior rings

This option is shown whenever a simple line symbol or
marker line symbol is used as part of a fill symbol for
rendering polygons.

The default behavior is to render both interior and exterior
rings, but this new setting allows users to set the symbol
layer to render only for the exterior ring OR only
for interior rings.

This allows for symbolisation which wasn't directly possible
before, such as a marker line with markers for interior
rings angled toward the interior of the polygon.

Sponsored by the German QGIS User Group

Fixes #12652
2018-11-09 19:06:48 +10:00
Nyall Dawson
a947bb3b9b Dox++ 2018-11-09 19:06:48 +10:00
Nyall Dawson
73d0ced5df [FEATURE] Add option to force right-hand-rule during polygon symbol rendering
This new option, available under the "Advanced" button for fill symbols,
allows forcing rendered polygons to follow the standard "right hand
rule" for ring orientation (where exterior ring is clockwise, and
interior rings are all counter-clockwise).

The orientation fix is applied while rendering only, and the original
feature geometry is unchanged.

This allows for creation of fill symbols with consistent appearance,
regardless of the dataset being rendered and the ring orientation
of individual features.

Refs #12652
2018-11-09 19:06:48 +10:00
Nyall Dawson
d1e09a2bc7 [FEATURE][processing] New algorithm to force right hand rule for polygons
This algorithm forces polygon geometries to respect the Right-Hand-Rule,
in which the area that is bounded by a polygon is to the right of the
boundary. In particular, the exterior ring is oriented in a clockwise
direction and the interior rings in a counter-clockwise direction.
2018-11-09 19:06:48 +10:00
Nyall Dawson
27e1ef5c1c Add method to QgsCurvePolygon to force RHR, ensuring standard ring orientation 2018-11-09 19:06:48 +10:00
Nyall Dawson
c22364d45e Add method to determine orientation of closed curves 2018-11-09 19:06:48 +10:00
Etienne Trimaille
6e16651d96 [FEATURE] explode hstore algorithm (#8212) 2018-11-09 13:00:29 +07:00
Håvard Tveite
669d650895
No output - no mention (gdalalg yaml) 2018-11-08 14:55:03 +01:00
Alessandro Pasotti
02ecb56d95 QgsDataSourceSelectDialog: filter, refresh and scroll to last selected item
plus:
- expand children of last selected item
- save/restore status
2018-11-07 11:08:49 +01:00
Nyall Dawson
4b32e7cc78 [afs] Implemented decodeUri for AFS provider
Allows retrieval of the web URL for an AFS layer
2018-11-07 15:30:17 +10:00
Denis Rouzaud
107e646219 rename QgsLocatorWidgetCore to QgsLocatorModelBridge 2018-11-06 13:59:37 -04:00
Denis Rouzaud
f652e8dcba save current extent and CRS in locator core
remove remaining bits of interface
2018-11-06 13:37:39 -04:00
Denis Rouzaud
6a9d7a69d8 implement roleNames for QgsLocatorModel 2018-11-06 10:09:20 -04:00