A very fast static spatial index for 2D points based on a flat KD-tree,
using https://github.com/mourner/kdbush.hpp
Compared to QgsSpatialIndex, this index:
- supports single point features only (no multipoints)
- is static (features cannot be added or removed from the index after construction)
- is much faster!
- supports true "distance based" searches, i.e. return all points within a radius
from a search point
Rudimentary support of rendering of vector data (e.g. velocity) on mesh map layers.
Rendering can be adjusted by QgsMeshRenderer*Settings. Only in Python
API, no GUI widgets for styling present.
Introducting MDAL, QgsMeshLayer, mesh data providers (mesh_memory, mdal)
to read and visualize raw meshes: vertices and faces. Support dragging
2dm files from browser on canvas to visualize 2dm meshes.
Support for QgsMeshLayer in Python API.
Provides a simple method for fetching remote HTTP
content in a QgsTask. Utilises QgsNetworkContentFetcher so
Url redirects and progress reports are automatically handled.
A new base class QgsMetadataBase has been split off QgsLayerMetadata,
containing all non-layer specific metadata items.
This allows us to reuse the common metadata settings for other
non-layer items, e.g. projects.
Reports are based on the new layouts engine. They consist of multiple
nested sections. Each individual section (and the report itself)
can have an optional header and footer (which are themselves layouts,
and can consist of multiple pages!).
Two different types of sections are implemented so far:
- a standard section, which has a single, static body layout. This
can be used to embed static layouts mid way through a report
- a "field group" section, which repeats its body layout for
every feature in a layer. The features are sorted by the selected
grouping feature (with an option for ascending/descending sort).
If a field group section has child sections (e.g. another field
group section with a different field, then only features
with unique values for the group feature are iterated over.
This allows nested reports, e.g.
Report
- Country: Australia
- State: NSW
- Town: Sydney
- Town: Woolongong
- State: QLD
- Town: Beerburrum
- Town: Brisbane
- Town: Emerald
- Country: NZ
- State: ... etc
In this example country, state or town groups can have their
own headers and footers which will be inserted in the report.
Reports are configured through a new panel in the layout designer
dialog, which is shown when editing a report (created through
the Layout Manager Dialog). The organizer allows for adding
(and removing) sections to the report, and for selecting which
layout (e.g. headers, footers, bodies) to edit within the
layout designer.
* update HTML data provider metadata for grass, gdal and ams
* update HTML data provider metadata for WMS and WCS
* move HTML bullet list to QgsHtmlUtils