10748 Commits

Author SHA1 Message Date
Nyall Dawson
c5ae3a0c98 Merge pull request #5199 from nyalldawson/extract_by_extent2
[processing] Extent handling improvements
2017-09-15 15:52:00 +10:00
Nyall Dawson
9b112284c7 Add method to recover extent parameter CRS 2017-09-15 14:09:27 +10:00
Nyall Dawson
4fd2a1a05c Fix unit test data 2017-09-15 12:23:36 +10:00
Nyall Dawson
cfdc3c71e7 Use geometry of reproject extent parameters for more accurate clipping 2017-09-15 08:35:42 +10:00
Nyall Dawson
60b56db904 Use CRS when calculating extent during algorithm extection 2017-09-15 08:35:11 +10:00
Nyall Dawson
80a1d71131 Return a referenced rectangle from ExtentSelectionPanel 2017-09-15 08:34:47 +10:00
Nyall Dawson
74565e22de Nicer display of rectangle parameter values 2017-09-15 08:34:13 +10:00
Nyall Dawson
ae8bc04b6c Allow use of Qgs(Referenced)Rectangle for processing extent parameter values
And add a new target CRS argument to parameterAsExtent. If set, and
the source CRS of the rectangle parameter can be determined, then
the returned value will be the rectangle automatically reprojected
to the desired target CRS.
2017-09-15 08:33:45 +10:00
Nyall Dawson
d8db3ecc4d [FEATURE] New processing algorithm "extract/clip by extent"
Allows extract a subset of another layer using an extent, with
optional setting to clip geometries to the extent
2017-09-15 08:33:19 +10:00
Giovanni Manghi
3a78253764 fix SAGA LTR vectorizing grid classes tool for QGIS master 2017-09-14 21:03:56 +01:00
Alessandro Pasotti
91a98902a1 Adds connectionsChanged signal to iface
This is meant to be used by plugins (DBManager is the
first candidate) to notify the application that
the GUI elements that handle connections needs to
be updated (i.e. the data source manager dialog
and the browsers)
2017-09-14 14:08:59 +02:00
Alessandro Pasotti
d8940544f7 [bugfix] Geopackage restore connections in DB-manager 2017-09-14 13:39:44 +02:00
Nyall Dawson
d96a3f4dd4 Port simplify geometries to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
8e8f3edc55 Port merge lines and smooth to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
7c5521ecdf Port fix geometries alg to c++ 2017-09-14 09:57:15 +10:00
Nyall Dawson
bf078b1c84 [processing] Fix intersection and union tools don't work with
input layers with Z or M values present

Also ensure that written geometries are always multitype, to
match the created layer geometry type (before the layer was
being created as a multi* layer, but single part geometries
were sometimes created. This causes errors with some data
providers)
2017-09-14 07:35:54 +10:00
Nyall Dawson
c371b72dfe Merge pull request #5184 from nyalldawson/join_locate
[FEATURE] Reworked processing 'Join by location' alg
2017-09-14 06:09:56 +10:00
Nyall Dawson
d084cc6b73 Merge pull request #5178 from Gustry/metadata_viewer
use the metadata API for the metadata viewer
2017-09-14 06:08:37 +10:00
Etienne Trimaille
c3309b9257 use the metadata API in the HTML viewer 2017-09-13 16:50:14 +02:00
Nyall Dawson
742f3e5b4d Merge pull request #5112 from nyalldawson/locator_core
Move locator non-gui classes to core
2017-09-13 18:50:28 +10:00
Nyall Dawson
be88da8173 [FEATURE][processing] Add 'Join by location (summary)' algorithm
Like the main Join Attributes by Location algorithm, this algorithm
takes two layers and combines the attributes based on a spatial
criteria.

However this algorithm calculates summaries for the attributes for
all matching features, e.g. calculating the mean/min/max/etc.

The list of fields to summaries, and the summaries to
calculate for those, can be selected.
2017-09-13 18:45:56 +10:00
nirvn
fe8b751eb5 [FEATURE] Make symbol levels dialog a style dock panel widget 2017-09-13 11:46:28 +07:00
nirvn
5e7dadd575 [symbology] resurrect symbol levels dialog (fixes #16996) 2017-09-13 11:17:58 +07:00
Nyall Dawson
458e994d39 [FEATURE] Reworked processing 'Join by location' alg
Improvements:
- transparently handle different source/join CRS
- added option to create output feature for EVERY joined
feature (i.e. 1 to many type join)
- added option to select joined fields to take
- optimised performance of algorithm

The previous option to create a summary of joined features has been
removed, and will be moved to a separate 'Join by location (summary)'
algorithm.
2017-09-13 08:01:56 +10:00
Nyall Dawson
54df0a28fd Fix geonode connection correctly storing service specific settings 2017-09-13 05:47:53 +10:00
Nyall Dawson
ac15df9863 Add support for updating a uri with GeoNode WFS/WMS related connection settings 2017-09-13 05:47:53 +10:00
Nyall Dawson
05e047d779 Generalize some WFS/WMS connection setting handling 2017-09-13 05:47:53 +10:00
Nyall Dawson
4c8733853a Cleanup QgsOwsConnection 2017-09-13 05:47:53 +10:00
Nyall Dawson
ffaafa6229 Rework QgsGeoNodeNewConnection to inherit from QgsNewHttpConnection
Avoids a lot of duplicate code.

Note that while this refactoring was done to allow WFS and WMS
settings to be simultaneously visible, I've removed the settings
from the GeoNode connection for now. Looking into this they were
being stored, but not used at all when loading the layers from
the GeoNode instance.
2017-09-13 05:47:53 +10:00
Nyall Dawson
35eea229aa Rework QgsNewHttpConnection layout so that both WFS and WMS settings
can be shown simultaneously
2017-09-13 05:47:53 +10:00
Nyall Dawson
6134950609 Use explicit flags to set behavior of QgsNewHttpConnection instead of key parsing 2017-09-13 05:47:53 +10:00
Nyall Dawson
944cb8c4bd Revert unused changes to QgsDataItem 2017-09-13 05:47:53 +10:00
Nyall Dawson
9a8adfc802 Fix spelling 2017-09-13 05:47:53 +10:00
Nyall Dawson
e25436811b Cleanup and add docs for QgsGeoNodeConnection 2017-09-13 05:47:53 +10:00
Nyall Dawson
e1562df16b [geonode] Don't block data source manager while connecting to a server
Also add missing docstrings
2017-09-13 05:47:53 +10:00
Nyall Dawson
1a19283634 Class shuffle 2017-09-13 05:47:53 +10:00
Nyall Dawson
e803545258 Add missing sip file 2017-09-13 05:47:53 +10:00
Nyall Dawson
29539e6712 Move remaining geonode classes from gui->app 2017-09-13 05:47:53 +10:00
Nyall Dawson
61e70c93a6 Slight folder restructuring 2017-09-13 05:47:53 +10:00
Nyall Dawson
15f9241109 Add a bit more structure to provider source select ordering 2017-09-13 05:47:20 +10:00
Nyall Dawson
b89c16e3cf Move QgsGeoNodeSourceSelect to app 2017-09-13 05:47:20 +10:00
Nyall Dawson
239e353155 Allow QgsAbstractDataSourceWidget subclasses to add vector layers
with a specific provider key
2017-09-13 05:47:20 +10:00
Nyall Dawson
e51a0d4fac Minor code cleanup 2017-09-13 05:47:20 +10:00
Nyall Dawson
003bf3a76f QgsGeoNodeSourceSelect is a QgsAbstractDataSourceWidget 2017-09-13 05:47:20 +10:00
Nyall Dawson
378a9e90dd Split QgsGeoNodeConnection into two classes
Move utility functions to QgsGeoNodeConnectionUtils
2017-09-13 05:47:20 +10:00
Nyall Dawson
b7683f209e QgsGeonodeConnection is not a Q_OBJECT 2017-09-13 05:47:20 +10:00
Nyall Dawson
5b092aeb8d Performance optimizations
- avoid container detachments
- use QStringLiteral
2017-09-13 05:47:19 +10:00
Ismail Sunni
3016158558 Add style retriever for a geonode layer. 2017-09-13 05:47:19 +10:00
Ismail Sunni
500c5c1108 Simplify getLayers method for geonode client. 2017-09-13 05:47:19 +10:00
Muhammad Yarjuna Rohmat
bea89b32ca [FEATURE] QGIS - GeoNode Integration: Integrate with QGIS Browser Panel (#4816)
* add Geonode connection menu to the toolbar

* add header files for geonode-qgis client

* add action to launch geonode connection dialog from menubar

* Move to proper directory

* Add geonodeconnection class.

* Add unit test for geonode connection.

* Use const static to avoid typo.

* Get list layers from geonode.

* Add get maps method.

* Geonode connection dialog (#13)

* add new geonode connection dialog

* apply functionality to the geonode connection manager dialog

* add save and load geonode connection functionality

* edit baseKey and credentialBaseKey

* remove auto-connect slots

* Add unit test for geonode connection.

* Add wms url getter.

* Add uuid and layer name in the table.

* Add handler for the list layer clicked. WIP.

* Use new style connect, better hacky to get wms url.

* update gitignore

* Make QGIS able to add WMS layer from geonode. With hacky code.

* Fix Docstring.

* Show web service type (WMS/WFS) in layer table.

* fix http and toolbar menu

* add geonode data item to the browser panel as an extention of ows provider

* [WIP] Add WFS.

* Add geonode get service url.

* combobox functionality and test geonode connection

* Add WFS.

* Disable add button if it's a map. Currently we can't do anything for map.

* Add busy cursor when add layer.

* get service uri capabilitites

* add available layers to the geonode browser panel

* remove debugging footprint and replace old style connect

* add actions (new, edit, delete) to geonode browser panel

* fix getLayers by WMS url

* add Geonode connection menu to the toolbar

* Filter out invalid layer / map.

* Fix service url method.

* Add service url for XYZ for GeoNode QGIS Server backend.

* Add XYZ url to geonode connection  dialog.

* Add XYZ layer to QGIS.

* fix double geonode submenu

* add wfs/wms layers from browser panel using its native provider

* comply with qgis3 new class naming

* Handle different prefix for layer in GeoNode QGIS Server backend.

* base class for cms connection

* make geonode connection as a derived class from cms connection

* update cmakelists

* move geonode connection to geocms dir

* update CMakeLists

* Handle geonode 2.7 with new API.

* Handle multiple geoserver url in one geonode.

* Fix add xyz for qgis server. Fix add wms, wfs, xyz for geoserver in geonode 2.7

* Refactor serviceURL to return QStringList.

* add 'add geonode layer' icon

* add geonode to the data source manager dialog

* [GeoNode-Client] Fix add WFS layer.

* fix wms url parameter

* add xyz dataitems

* Use new style connect.

* [GeoNode Client] Handle qgis server specific typename to make add WFS works.

* Code improvement.

* [GeoNode Client] Make geonode dialog in add universal layer can add layer.

* Open universal add layer when click Add GeoNode layer.

* Make sure the geonode url has protocol.

* Handle geonode version in a better way.

* make sure the serviceUrl method has scheme in its urls

* add services option to the dialog

* remove version label if not wfs

* construct wms url with parameters for geonode connection

* handle layer from multi service urls for every wfs, wms, & xyz services

* fix new style connect using static_cast

* hode close button if dialog is in embedded mode

* fix xyz layer naming in the browser tree

* create base class for geocms dataitems

* fix compiling warning

* Use struct instead QVariantMap.

* tidy up code

* Tidy up code, use QgsStringMap instead QVariantMap.

* Add spellok for catalogue.

* update sip

* update sip

* Use naming convention for QgsGeoCmsConnection and use QUuid.

* Async by using GeoNodeRequest class.

* Move geonode to src/gui.

* Use stack not heap.

* Remove unused includes.

* Use signal to handle request.

* Use QStringLiteral.

* Switch to use Q_FOREACH.

* Use Q_FOREACH and addressing PR's review.

* Set private for data members.

* update sip

* Update sip.

* Update sip.

* Fix sip problem to make it buildable again.

* Remove geocms

* Tidy up code.

* Use QgsSetting Scope::Provider.

* Fix missing zip.h
2017-09-13 05:47:19 +10:00