54 Commits

Author SHA1 Message Date
Matthias Kuhn
1cbfb35b23 Escape # in doxy 2020-10-23 08:28:21 +02:00
Matthias Kuhn
42af1efa18 Fix a bunch of doc issues 2020-10-22 20:42:14 +02:00
Nyall Dawson
746ee315bd Fix boolean literal presentation in dox/PyQGIS docs 2020-10-16 16:03:26 +10:00
Even Rouault
a76670e521 QStringLiteral -> QLatin1String changes generated by scripts/qstringfixup.sh --all 2020-10-11 12:30:58 +10:00
Nyall Dawson
bd9c8a7621 Show warnings generated during mapbox gl style conversion after loading vector tiles with default styles 2020-09-15 14:06:21 +07:00
Nyall Dawson
01f942fd63 More helpful warnings generated during style conversion 2020-09-15 14:06:21 +07:00
Nyall Dawson
789eccb572 [vectortiles] Optimise rendering of complex vector tiles
Instead of ALWAYS converting all features in a tile to QGIS representations,
now we intelligently skip over any layers which aren't required for
rendering or labeling (e.g. because the current renderer/labeling
configuration is disabling these layers or doesn't have a rule for
them).

This improves rendering speed with sources like the OS ZoomStack tiles,
which have a LOT of detail even at small map scales (e.g. building
data is present in very zoomed out tiles!!).
2020-09-15 05:05:57 +10:00
nirvn
1de8d01e30 Support hidpi sprites when converting mapboxgl styles 2020-09-14 16:47:09 +10:00
Nyall Dawson
229c240b59 Correctly parse 'match' interpolation list values during conversion 2020-09-14 12:42:49 +10:00
Mathieu Pellerin
31b2b89c4e Address review 2020-09-14 08:57:35 +10:00
nirvn
73e73c0319 Convert interpolated icon marker sprites 2020-09-14 08:57:35 +10:00
Nyall Dawson
38bdca20e1 Fix incorrect truncation to int in interpolation expression results 2020-09-10 14:11:42 +10:00
Nyall Dawson
5ee97c9623 Correctly parse interpolated text-anchor 2020-09-10 14:11:42 +10:00
Nyall Dawson
542b1c8ce9 Fix conversion of line-opacity and fill-opacity ignores existing
base color opacity when converting MapBox GL styles
2020-09-09 17:43:32 +10:00
Nyall Dawson
ca3d53d3c2 [vectortiles] Convert fill-translate property to simple fill offset 2020-09-09 13:02:36 +10:00
Nyall Dawson
4547d1cb4f Convert repeating line symbols to QGIS marker line layers 2020-09-09 13:02:36 +10:00
Nyall Dawson
b6846295fe Add support for parsing and converting MapBox GL raster fills to QGIS symbology 2020-09-09 13:02:36 +10:00
Nyall Dawson
6901d6f68a After loading an ArcGIS Vector Tile Service layer, automatically load
and set the default style and labels for the layer

Also populate the layer metadata with the available content from the
service definition (e.g. layer attribution)
2020-09-08 15:45:58 +10:00
Nyall Dawson
93d25d61e7 Fix conversion of multiplied pixel sizes for some interpolated values, improve interpolation expression results 2020-09-07 13:20:55 +10:00
Nyall Dawson
88f9daee09 [vectortiles] Make information tab appearance/content consistent
with other layer types
2020-09-07 12:52:14 +10:00
Nyall Dawson
c0ebc68eff Fix test 2020-09-06 21:07:25 +10:00
Nyall Dawson
1c683e2e36 Fix broken seealso link 2020-09-06 21:07:25 +10:00
Nyall Dawson
54b506a02a When converting a interpolated line width, also set the base setting to a decent value so that legends look ok 2020-09-06 21:07:25 +10:00
Nyall Dawson
98ba6a47ff Add option to convert units during conversion
Because pixel based units are unfriendly for hi-dpi or print layouts
2020-09-06 21:07:25 +10:00
Nyall Dawson
52c0a18fb5 Fix tests 2020-09-06 21:07:25 +10:00
Nyall Dawson
53c72bc800 More API improvements 2020-09-06 21:07:25 +10:00
Nyall Dawson
37de374e19 Cleaner API 2020-09-06 21:07:25 +10:00
Nyall Dawson
4b72c835d0 Misc fixes 2020-09-06 21:07:25 +10:00
Nyall Dawson
659388a57e Completed port 2020-09-06 21:07:25 +10:00
Nyall Dawson
b9dd8b2602 More interpolation work 2020-09-06 21:07:25 +10:00
Nyall Dawson
c4858b4231 Color work, some tests 2020-09-06 21:07:25 +10:00
Nyall Dawson
958d5ddb7b Start on test 2020-09-06 21:07:25 +10:00
Nyall Dawson
0b6af81cb1 Fix build 2020-09-06 21:07:25 +10:00
Nyall Dawson
fe7470c6ea Blank shell for Mapbox GL style converter 2020-09-06 21:07:25 +10:00
Nyall Dawson
74400c7ff8 Some fixes to numbered list handling in dox/PyQGIS API 2020-06-15 13:43:58 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Martin Dobias
b2da49b78b [vector tile] Fix issue with disappearing features (fixes #36982)
The issue was that renderer/labeling were only keeping "their" required fields,
but the final fields may have been extended by the other, making the field indices
cached in expressions invalid.

The fix is to keep the final QgsFields around and avoid creating those QgsFields on-the-fly
from previously requested fields.
2020-06-11 14:39:45 +02:00
Nyall Dawson
ae42850d08 Sipify 2020-06-11 13:29:59 +10:00
Nyall Dawson
c795ddb1e9 Updates 2020-06-11 13:29:59 +10:00
Martin Dobias
5d59048387 [vector tile] Add basic GUI support for labeling configuration
This adds a new tab in the layer styling dock widget for vector tile layers.

The new QgsVectorTileBasicLabelingWidget class is based on the code used for QgsVectorTileBasicRendererWidget
2020-05-14 21:14:27 +02:00
Martin Dobias
ac8b956640 Allow relative paths to vector tile layers in projects (fixes #36023) 2020-05-04 13:05:19 +02:00
Martin Dobias
c2a7f25829 Improvements to the vector tile writer
- filtering of input layers by expressions and min/max zoom level
- custom layer names in the output
- writing of custom metadata for MBTiles output
- auto-calculate output extent (instead of defaulting to the whole world's extent)
- passing transform context to the encoder
2020-04-27 12:09:25 +02:00
Martin Dobias
6f746b557e Add writing of vector tiles to MBTiles container 2020-04-25 14:31:10 +02:00
Martin Dobias
0973da69b1 Nyall's review suggestions, test fixes, windows build fix 2020-04-21 13:28:56 +02:00
Martin Dobias
da4764472e sip fix 2020-04-21 13:28:56 +02:00
Martin Dobias
41db54aa16 [FEATURE] Vector tiles writer API
Initial work... Currently supporting output to a directory based on XYZ template, using Mapbox vector tiles encoding.

New classes:
- QgsVectorTileMVTEncoder - low-level class that operates on a single tile, converts vector features to raw tile byte array, for internal use
- QgsVectorTileWriter - higher level class that manages generation of multiple tiles, for use by clients
- QgsVectorTileMVTUtils - assorted helper functions for MVT encoding/decoding
2020-04-21 13:28:56 +02:00
Martin Dobias
8ec0dc53fe Few bits from the review 2020-04-15 08:33:29 +10:00
Martin Dobias
f8a6b9fa3a Add support for labeling of vector tile layers 2020-04-15 08:33:29 +10:00
Martin Dobias
f713cc3559 Vector tiles: styling panel integration + widget for basic renderer 2020-04-07 13:25:49 +02:00
Martin Dobias
9e80f59f20 Use random colors, fix sip includes, fix warnings in server 2020-03-27 19:41:18 +01:00