Nyall Dawson
3201a62702
Add missing documentation
2023-05-27 06:34:04 +10:00
Nyall Dawson
7f8fd5ea8e
Create QgsProfileExporterTask task for generating and exporting
...
elevation profiles to files
2023-05-27 06:34:04 +10:00
Nyall Dawson
33ffe9f6b9
[api] Add framework for exporting elevation profile results
...
as vector layers
2023-05-27 06:34:04 +10:00
Nyall Dawson
b99a349e66
Fix pixelated appearance of elevation profile chart on hidpi displays
2023-05-24 08:10:45 +10:00
Nyall Dawson
f9c3da1e06
Move unit enums to Qgis, promote to enum class
2023-02-19 13:29:06 +10:00
Nyall Dawson
4cf399f7c9
Implement layout elevation profile plot rendering
2023-01-27 17:38:59 +10:00
Nyall Dawson
97bb5f6e95
Try to fix build
2022-05-06 08:58:41 +10:00
Nyall Dawson
3c086ead05
Add framework for identifying results from profile generators
2022-05-06 08:58:41 +10:00
Nyall Dawson
e6b65767cf
Use different snap tolerances when snapping to points vs snapping
...
to continuous elevation surfaces
When snapping to a surface we want to be very "grabby" in the height
axis but ungrabby in the distance axis. For points we should be equally
grabby on either axis.
2022-04-29 19:58:21 +10:00
Nyall Dawson
0f13138e0c
Fix typo
2022-04-29 19:58:21 +10:00
Nyall Dawson
a9e1f1125f
Use DPI directly instead of scale factor
2022-04-29 19:58:21 +10:00
Nyall Dawson
548f3df629
Add elevation profile support for point cloud layers
2022-04-29 19:58:21 +10:00
Nyall Dawson
bad241ead2
Ensure that results from final plot area are always shown in plot, even when
...
a job was already in progress when the plot area was changed
2022-04-29 19:58:21 +10:00
Nyall Dawson
77052c6473
Add map units per pixel to QgsProfileGenerationContext
2022-04-29 19:58:21 +10:00
Nyall Dawson
5fb4f656c1
Fix doxygen warning
2022-04-28 13:54:47 +10:00
Nyall Dawson
bc7fa813e5
Only refine layers which benefit from refining (i.e. rasters)
2022-04-28 13:54:47 +10:00
Nyall Dawson
85966c7625
Add support for refining elevation plot based on scale and visible range
...
For some layer types (rasters, point clouds) this gives a much better
experience vs generating the profile completely upfront. (I.e. even
with super-detailed DEM layers the profile is now basically instant
to generate).
2022-04-28 13:54:47 +10:00
Nyall Dawson
5a6524f3aa
Use "regenerate" instead of "update" for re-building the profile for
...
a layer, as "update" is ambiguous and is associated with "repainting"
a Qt widget
2022-04-27 10:24:12 +10:00
Nyall Dawson
ddfe22aedb
Rename method to copyPropertiesFromGenerator and avoid some duplicate code
2022-04-27 10:24:12 +10:00
Nyall Dawson
e59c5d9881
Add dox note about source ID and layer IDs
2022-04-27 10:24:12 +10:00
Nyall Dawson
a35e74c656
Add api to allow redrawing of previously collected results for a single
...
elevation profile source
And use this to just redraw the existing results whenever a setting
relating only to the appearance of the profile chart is changed,
instead of regenerating the whole chart
2022-04-27 10:24:12 +10:00
Nyall Dawson
99da12fcac
Add api to trigger regeneration of profile results for a single layer
2022-04-27 10:24:12 +10:00
Nyall Dawson
86704dbe16
Add means of linking profile results back to source layer
2022-04-27 10:24:12 +10:00
Nyall Dawson
5ff12f41e7
Account for non-equal axis scaling during snapping
2022-04-15 12:15:54 +10:00
Nyall Dawson
d163b4fb21
Use Snap context class instead
2022-04-15 12:15:54 +10:00
Nyall Dawson
a5f9b558f4
Move snapping results class to own file
2022-04-15 12:15:54 +10:00
Nyall Dawson
e1eb8ffd4d
Use QgsProfilePoint
2022-04-15 12:15:54 +10:00
Nyall Dawson
4b008ed7ac
Add QgsProfilePoint class
2022-04-15 12:15:54 +10:00
Nyall Dawson
20613ea608
Add since
2022-04-15 12:15:54 +10:00
Nyall Dawson
27dc6e7a7d
Snap plot cursor to sampled heights
...
And add a "snapping" toggle to disable this behavior
2022-04-15 12:15:54 +10:00
Nyall Dawson
cca19d74ff
Add an expression context to QgsProfileRequest
2022-04-14 14:16:26 +10:00
Nyall Dawson
b779bfc44a
Spelling
2022-04-07 19:22:19 +10:00
Nyall Dawson
d2e5186d56
Add action to export profile graph to PDF
2022-04-07 19:22:19 +10:00
Nyall Dawson
0d88a6f834
Documentation
2022-04-07 19:22:19 +10:00
Nyall Dawson
9970782045
Use actual ranges of plot when rendering, use correct raster/mesh profile symbols
2022-04-07 19:22:19 +10:00
Nyall Dawson
305f0790cc
Add range of z to QgsAbstractProfileResults
2022-04-07 19:22:19 +10:00
Nyall Dawson
6d4c2803f6
Start on profile renderer class
2022-04-07 19:22:19 +10:00
Nyall Dawson
cea1215bee
Add cancelation support for profile generators
2022-04-07 19:22:19 +10:00
Nyall Dawson
141f7bf9f2
Plot wip
2022-04-07 19:22:19 +10:00
Nyall Dawson
74db16608e
Use map instead of hash
2022-03-25 10:08:11 +10:00
Nyall Dawson
83f88548f2
Add step distance parameter to profile request
2022-03-25 10:08:11 +10:00
Nyall Dawson
f5d9c14ef1
Fix cppcheck warning
2022-03-25 10:08:11 +10:00
Nyall Dawson
87c3c911c0
Implement profile generation for point vector layers
2022-03-25 10:08:11 +10:00
Nyall Dawson
200be450f2
Add framework for profile generation
...
- Adds an abstract base class for profile generators,
QgsAbstractProfileGenerator. This is modeled off the approach
used by map layer renderers, where a QgsAbstractProfileGenerator
subclass object is created in the main thread and does all
required (hopefully inexpensive!) preparation steps necessary
to do on the main thread. Then a separate background thread can
later call the virtual generateProfile method, which does
the heavy lifting of calculating the associated profile. Later
the results of the profile generation can be retrieved back
on the main thread.
- Adds an interface "QgsAbstractProfileSource" for objects which
can create a profile generator given a QgsProfileRequest. Map layer
classes will implement this interface, but potentially 3rd party
(plugin based) objects can also implement the interface if they
also want to add custom results to the profile charts (e.g.
borehole trace lines).
2022-03-25 10:08:11 +10:00
Nyall Dawson
a356469058
Add terrain provider to QgsProfileRequest
2022-03-25 10:08:11 +10:00
Nyall Dawson
b75adafe1c
Add equals method to QgsTerrainProvider
2022-03-25 10:08:11 +10:00
Nyall Dawson
0a6dac826f
Profile request
2022-03-25 10:08:11 +10:00
Nyall Dawson
14952ab6b0
Fix sip build
2022-03-19 05:58:37 +10:00
Nyall Dawson
acdc5d2128
Fix cppcheck warning
2022-03-19 05:58:37 +10:00
Nyall Dawson
c19ec553ab
Add scale and offset to terrain providers
2022-03-19 05:58:37 +10:00