1455 Commits

Author SHA1 Message Date
Alessandro Pasotti
f568e6f06c Server OGC API OPENAPI validation
Fix some OPENAPI validation issues.

Swagger is happy now, except for the MAP=/...
in the query string: no query string parameters
are allowed in the endpoint, but we can
fix this in the web server configuration.
2019-09-21 15:43:12 +02:00
nirvn
015b7e91a1 Add test case covering drawing of effects in legend renderer 2019-09-19 14:26:15 +07:00
Nyall Dawson
2f220022b0 Update reference images 2019-09-19 16:56:50 +10:00
Nyall Dawson
6b5d43ec26 More test mask updates 2019-09-19 14:38:42 +10:00
Nyall Dawson
6c4d0efa1f Fix test which relied on local layout default font setting 2019-09-19 14:38:42 +10:00
Nyall Dawson
c988bd8c23 More test mask updates 2019-09-19 14:38:42 +10:00
Nyall Dawson
570ce04b00 Add some test mask images 2019-09-19 14:38:42 +10:00
rldhont
7a77d90c52
Merge pull request #31351 from rldhont/server-wms-dimensions
Support WMS dimensions in QGIS Server
2019-09-18 18:26:31 +02:00
Alessandro Pasotti
6146456075
Merge pull request #31865 from elpaso/bugfix-gh31846-server-contextual-legend-no-width-no-height
Server fix getLegendGraphic default WIDTH/HEIGHT when BBOX
2019-09-18 12:09:11 +02:00
Alessandro Pasotti
10cf18a995 Add mask to getLegendGraphic test and check SRC(HEIGHT/WIDTH) 2019-09-18 11:32:05 +02:00
Alessandro Pasotti
5b3360081b Server getLegendGraphic default WIDTH/HEIGHT when BBOX
is set.

Fixes #31846
2019-09-17 18:55:01 +02:00
Alessandro Pasotti
f7d1971d01 PG views: be tolerant for unsupported field type ...
... if it's in URI key

Fixes #31799
2019-09-17 14:30:33 +02:00
Alessandro Pasotti
04f0879ed5 Processing editing in place: handle constraints
Fixes #31634
2019-09-16 10:41:58 +10:00
Alessandro Pasotti
9b7a2cd5d1
Merge pull request #31673 from elpaso/server-api-wfs3-acl
Server api wfs3 acl
2019-09-12 15:07:28 +02:00
Alessandro Pasotti
0c657f01af Fix raster calc OpenCL bool to float
Fixes #31193
2019-09-11 15:56:43 +02:00
Alessandro Pasotti
dabc380906 Typo 2019-09-11 07:42:19 +02:00
Alessandro Pasotti
67c8e56f9c QGIS Server WFS3 ACL + alias + excluded fields
Takes into account aliases, excluded attributes and ACL plugins
2019-09-10 18:21:53 +02:00
Alessandro Pasotti
b2c7ba05c2 Cast vector layer 2019-09-10 18:21:53 +02:00
Alessandro Pasotti
13353e2194 Typo 2019-09-10 18:21:53 +02:00
Alessandro Pasotti
95c0ad54ff WFS3 add ACL and other visibility options 2019-09-10 18:21:53 +02:00
rldhont
5d05322bc3 [Test] Server: Add GetMap tests to PyQgsServerWMSDimension test 2019-09-07 16:07:10 +02:00
rldhont
31e823345e [Test] Server: Create PyQgsServerWMSDimension test 2019-09-07 16:07:10 +02:00
Mathieu Pellerin
5df309447e
[delimiter text] Add Point{Z,M,ZM} geometry support (fixes #25645) (#31595)
[FEATURE][delimiter text] Add Point{Z,M,ZM} geometry support (fixes #25645)
2019-09-06 19:35:27 +07:00
Nyall Dawson
ee414f5750 Add unit test for upgrading older project bookmarks 2019-09-04 14:19:47 +10:00
Sandro Santilli
ffad801fad Add test for custom bbox in postgresql provider
See #18107
2019-08-29 17:47:25 +02:00
Sandro Santilli
81146a639d [tests] Load postgis_raster extension when available, and needed 2019-08-29 17:47:25 +02:00
Nyall Dawson
377b4d7dc8 Unit tests for dynamic grid interval 2019-08-28 14:12:28 +10:00
Nyall Dawson
88c66b805f Unit tests for data defined grid 2019-08-28 14:12:28 +10:00
Ismail Sunni
b9978d53d1 [FEATURE][3D] Billboard Rendering for Points (#31308)
* Add button to change billboard symbol.

* Add shaders for billboards.

* Add billboard material class.

* Add sample billboard image.

* Add dummy handler for billboard.

* Add billboard geometry class.

* First working version of 3D point as billboard.

* Make selected feature bigger.

* Use default symbol preview as billboard.

* Update billboard when changes the viewport size.

* Use QgsTerrainTextureImage for adding image to texture.

* Show better quality of billboard default symbol.

* Promote QgsSymbolButton not working.

* Add QgsSymbolButton properly.

* Add seTexture2DFromSymbol.

* Use default symbol

* [On Progress] Get symbol from the QgsSymbolButton.

* [On progress] failed to change the symbol

* Fix billboard fragment shader for macOS

* Better transparency handling.

* Use size from the symbol.

* Add set layer for 3d billboard symbol.

* Set billboard size from the symbol pixel size * 20

* Use size from the image.

* [Debug] set white symbol to success kid, it work when previous billboard is success kid.

* Use store and restore symbol from Nyall.

* Remove unrelated code.

* Apply random extent to fix the bug, from Martin.

* Remove add mesh entities for billboard.

* Hide material and transformation widget for billboard.

* Remove add scene entities for billboard.

* Add selected as parameter in drawPreviewIcon.

* Add QgsMarkerSymbol to store the symbol in billboard

* Put billboard symbol in point3dsymbol serialization.

* Add billboard height in the UI.

* Set height for billboard.

* Store billboard height separately. Perhaps better to use existing transform.

* Set height of billboard to TY.

* Flipped image for billboard symbol.

* Add helper function to set billboard function.

* Generate billboard transform from general transform.

* Use static dpi for context size.

* Remove debug message.

* Use Qgs3DRenderContext for selection color and dpi from QgsApplication.

* Remove unnecessary file and code.

* Remove commented iut code.

* Add documentation of new classes.

* Fix banned keywords.

* Add missing parameter's documentation.

* Address PR review.

* Use context from readXML.

* Remove one line function.

* Fix billboard size.

* Make some functions private, remove unused function.

* Use unique_ptr for the ownership.

* Use unique_ptr for default symbol to avoid memory leak.

* Add parent to texture2D.

* Fix documentation.

* Add copy constructor.

* Fix documentation.

* Remove documentation warning.

* Fix sip error.

* Add unit test for billboard rendering.

* Set ambient to not transparent for measurement line.

* Add dpi in the Qgs3DMapSetting

* Update billboard rendering unit test.

* Remove layer from 3d point widget since it's not supported yet.

* Addressing PR review from Martin.

* Attach dom directly for the billboard symbol.

* Remove unused constructor for point3dsymbol.

* Use stroke width ratio for solving big stroke width.

* Update unit test for rendering with some stroke color.

* Fix typo.
2019-08-27 10:04:56 +02:00
Jürgen Fischer
596ffd06fd
Fix layout picture item test (alternate fix to #31382) (#31383)
* Fix layout picture item test (alternate fix to #31382)
* doxygen: add pointer to QgsProperty::value() to QgsAbstractPropertyCollection::value()
2019-08-24 23:49:22 +02:00
Nyall Dawson
77f7988496 Update test 2019-08-23 06:33:47 +10:00
Nyall Dawson
9210478998 Update test mask image 2019-08-23 06:33:47 +10:00
Nyall Dawson
2ca302999d [FEATURE] "Center of segment" placement mode for marker and hash line symbol layers
Adds a new placement option to place markers/hash lines at the center
point of individual line segments

Refs #29785
2019-08-21 19:41:58 +10:00
Alessandro Pasotti
b20f2ea175 Use layerId as OperationId (because of spaces and utf8 in the layer
names)
2019-08-19 14:44:58 +02:00
Alessandro Pasotti
a3c4eb9947
Providers connections interface API
This is the implementation of the new DB connections API (grant proposal 2019).
Summary

The new API makes it available to QGIS core a new interface for provider connections and will allow to:

    replace the provider specific QgsSettings management in QGIS4 (save/load connections from the settings) NOT IN SCOPE FOR NOW.
    provide a unified API for common operations on DB connections:
        executeSql and get the results
        list tables names and properties and schemas
        create a new vector table (no rasters for now)
        create/rename/drop schemas and tables
        vacuum
       ....
2019-08-16 20:44:05 +02:00
Nyall Dawson
41f819a52f Add API to allow labels in QgsMapRendererStagedRenderJob to be
rendered by individual map layer

This allows seperation of labels belonging to different layers,
but may affect label stacking order as the order will become
layer-dependant, instead of per-label-dependant.
2019-08-14 06:46:19 +10:00
Nyall Dawson
9b512b0f6e Render labels in staged renderer job 2019-08-14 06:46:19 +10:00
Nyall Dawson
244eb92a82 Add QgsMapRendererStagedRenderJob
This map renderer job subclass is designed for step-by-step rendering
of a map to different QPainters.

It exposes an API which lets callers iterate over parts of a map
(e.g. individual map layers, labels), specifying a destination
QPainter for each step in the iteration.

This is designed to improve the existing print layout export to
layered output map rendering, where currently the maps are rendered
by multiple renderer jobs, each only rendering one layer at a time.
This current approach of rendering individual layers are separate
jobs is fundamentally broken (and cannot be fixed), because it
prevents any handling of interactions between map layers (e.g. shifting
colliding labels).
2019-08-14 06:46:19 +10:00
Alessandro Pasotti
b76a04323c Tests for bugfix GH31177 2019-08-10 15:33:51 +02:00
Māris Nartišs
6eeb031134 WMS provider: Extract WMS-C TileSet layer title and abstract from matching WMS Layer data (fixes #30262) 2019-08-09 13:42:10 +03:00
nirvn
6a75d9d997 [text renderer] Add rotation-based orientation mode 2019-08-08 16:59:22 +07:00
Alessandro Pasotti
92ac7a2e93
[server] Server api and WFS3 (#10016)
Implementation of OGC API and WFS3 core draft specification
2019-08-06 16:38:21 +02:00
Denis Rouzaud
0698eedc94
add test for detecting composite key relations (#31092) 2019-08-06 13:39:00 +02:00
nirvn
ec75aa0300 [FEATURE][text renderer] Support vertical text orientation 2019-08-06 13:24:15 +07:00
Julien Cabieces
4f7975d2dc Fix WMS GetMap 8bit mode with transparency (#31014)
* Fix WMS GetMap 8bit mode with transparency

* Correct indentation

* Remove french text in qgs test project

* Correct render checker for 8bit image

* Remove empty line
2019-08-01 17:14:43 +02:00
nirvn
b68a9c3b81 Add tests 2019-07-30 18:06:26 +07:00
nirvn
8b5ba4a0cf Fix rebase gone wrong and address review 2019-07-29 15:14:34 +07:00
nirvn
3a37c83da7 [FEATURE][layout] Add horizontal placement option for scale bar labels 2019-07-29 15:14:34 +07:00
nirvn
e5deb5517b [FEATURE][layout] Add above/below segments placement option for scale bar labels 2019-07-29 15:14:34 +07:00
Nyall Dawson
4d5fe9a086 [FEATURE][callouts] Add setting to allow callouts to be drawn to all parts
of a multi-part feature

Also data-definable!
2019-07-29 11:18:10 +10:00