Recent GDAL versions emit in the console a non critical warning when opening
world_map.gpkg at QGIS startup:
"Warning 1: Non-conformant content for record 1 in column update_time, 2019-08-15T21:28:22Z, successfully parsed"
The reason is that values in the update_time column in the layer_styles
column lack milliseconds information.
```
$ sqlite3 ../resources/data/world_map.gpkg "select update_time from layer_styles"
2019-08-15T21:28:22Z
2019-08-15T21:29:54Z
2019-08-15T21:30:31Z
2019-08-22T08:16:25Z
```
Fixed with:
```
$ sqlite3 ../resources/data/world_map.gpkg "update layer_styles set update_time = substr(update_time,0,length(update_time)) || '.000Z'"
$ sqlite3 ../resources/data/world_map.gpkg "select update_time from layer_styles"
2019-08-15T21:28:22.000Z
2019-08-15T21:29:54.000Z
2019-08-15T21:30:31.000Z
2019-08-22T08:16:25.000Z
```
This adds a newer style variable form of referencing the current
feature and its attributes in expressions.
The newly introduced variables are:
- @feature: a replacement for $currentfeature, contains the
current feature
- @id: a replacement for $id, contains the current feature id
- @geometry: a replacement for $geometry, contains the current
feature geometry
This is intended as a step towards eventually deprecating the
older $ style functions, and providing a more consistent
approach to expressions instead of the older unpredictable mix of @/$.
For now these old functions still work (and likely will ALWAYS
remain working for old project compatibility), AND they are also
still exposed in the UI just to avoid user confusion (eventually
we can hide them).
Returns a collection containing paths shared by the two
input geometries. Those going in the same direction are
in the first element of the collection, those going in
the opposite direction are in the second element. The
paths themselves are given in the direction of the first
geometry.
(Exposes the GEOS shared paths functionality for use
in expressions.)
- Make it more obvious that the distance is in CRS units, not a percentage, on the first example
- Add example that ends up with floating point coordinates
- Add example that returns NULL
update states_provinces set iso_a2='UA',sov_a3='UA',adm0_a3='UA',admin='Ukraine',gu_a3='UKR' where name IN ('Crimea','Sevastopol');
update countries set geom=st_union(geom, (select st_union(geom) from states_provinces where name IN ('Crimea','Sevastopol'))) where name='Ukraine';
update countries set geom=st_difference(geom, (select st_union(geom) from states_provinces where name IN ('Crimea','Sevastopol'))) where name='Russia';
Instead of always defaulting to 100mb, then base the cache size
on the system memory:
- > 32gb, use 500mb
- 16-32gb, use 250mb
- else 100mb
The larger sizes can make a big difference to rendering speed for
complex projects, so let's let powerful systems utilise all that
memory!
(Only supported on linux for now)