Linear referenced Point-Layer ("PoL", Point-on-Line) |
Linear referenced Line-Layer ("LoL", Line-on-Line) |
One point per record with reference line assignment and stationing |
One line segment per record with reference line assignment, two stationings
(From...To) and an additional offset defining the distance from segment to reference line |
f.e. Structures on a watercourse:![]() |
f.e. Segments on a watercourse:![]() |
Example reference geometry: | |||
---|---|---|---|
![]()
|
|||
Example LoL-Layer: | |||
![]() (identical presentation for the three show-layers regardless of LR-mode) |
|||
Demo-edit of the reference-geometry: | |||
Vertex 6 moved 25 meters to the north:![]() |
|||
Effects on the to linear referenced geometries: | |||
Nabs | Nfract | Mabs | |
![]() |
![]() |
![]() |
|
Auxiliary idea:
|
Auxiliary idea:
|
Auxiliary idea:
|
|
Advantages/disadvantages (depending on use case, without claim to completeness): | |||
Advantages:
|
Advantages:
|
Advantages:
|
|
Disadvantages:
|
Disadvantages:
|
Disadvantages:
|
"_data_layer_stationing_field_n_abs_" / length( geometry( get_feature( '_reference_layer_', '_reference_layer_id_field_', "_data_layer_reference_field_" ) ) )
m( line_interpolate_point( geometry( get_feature( '_reference_layer_', '_reference_layer_id_field_', "_data_layer_reference_field_" ) ), "_data_layer_stationing_field_n_abs_" ) )
"_data_layer_stationing_field_n_fract_" * length( geometry( get_feature( '_reference_layer_', '_reference_layer_id_field_', "_data_layer_reference_field_" ) ) )
m( line_interpolate_point( geometry( get_feature( '_reference_layer_', '_reference_layer_id_field_', "_data_layer_reference_field_" ) ), "_data_layer_stationing_field_n_fract_" * length( geometry( get_feature( '_reference_layer_', '_reference_layer_id_field_', "_data_layer_reference_field_" ) ) ) ) )
get_point_m_2( geometry( get_feature( '_reference_layer_', '_reference_layer_id_field_', "_data_layer_reference_field_" ) ), "_data_layer_stationing_field_m_abs_" )
get_point_m_2( geometry( get_feature( '_reference_layer_', '_reference_layer_id_field_', "_data_layer_reference_field_" ) ), "_data_layer_stationing_field_m_abs_" ) / length( geometry( get_feature( '_reference_layer_', '_reference_layer_id_field_', "_data_layer_reference_field_" ) ) )
PoL | LoL | |
---|---|---|
Point-on-Line | Line-on-Line | |
![]() |
![]() |
|
Layers and fields: | ||
Reference-Layer | ||
![]() |
||
|
||
Data-Layer | ||
PoL | LoL | |
![]() |
![]() |
|
|
|
|
Show-Layer | ||
![]() |
||
Back-Reference-Field ➞ 1:1-link to data-layer ID-field | ||
Style: Customize the style of the temporary auxiliary graphics | ||
PoL | LoL | |
![]() |
![]() |
|
Store/Restore Configuration: | ||
![]() |
||
|
Procedure: | ||
---|---|---|
PoL | LoL | |
|
|
|
Results: | ||
![]() |
![]() |
|
|
|
|
Instead of interactive measurement, you can select reference line in
dialog and enter numerical stationings manually
|
Procedure: | ||
---|---|---|
Dialog: open the tab "Feature-Selection":![]()
|
||
Result: | ||
PoL | LoL | |
![]() |
![]() |
|
|
|
|
click on table-row ➞ select feature, highlight on map, show
meta-data in Measurement-Tab
for the textual contents of reference-, data- and
show-layer the layer-property "Display Name" is used, accessible via
standard-dialog or [
for display-precision of stationings see precision in
Data-Layer-Settings
Faulty features are marked with red text color, the error-reason is
indicated in the FlyOut
Note:
The plugin treads records with stationings out of value-range as "faulty", because they can lead to faulty calculations (f.e. segment-length from difference Nabs-from-to-stationings). In show-layer these records are nevertheless displayed and positioned to start/end of the assigned reference line. |
||
Follow-up functions: | ||
|
PoL | LoL | |
---|---|---|
before: | ||
![]() |
![]() |
|
after: | ||
![]() |
![]() |
|
the following points (in digitize-direction) have moved by the dimension of the extension in direction of mouth (previous points not affected with LR-mode "Nabs") | the following segments (in digitize-direction) have moved by the dimension of the extension in direction of mouth rsp. adapted to the new course (previous segments not affected with LR-mode "Nabs"). | |
Post-Processing-Dialog: | ||
PoL | LoL | |
![]() |
![]() |
|
|
|
|
click on table-row ➞ select feature and highlight on map
for the textual contents of reference- and data-layer the
layer-property "Display Name" is used, accessible via
standard-dialog or [
for display-precision of stationings see precision in
Data-Layer-Settings
|
||
Follow-up functions: | ||
|
Author: | Ludwig Kniprath |
Mailto: | ludwig[at]kni-online.de |
Version: | 2.0.0 (2024-09) |
The plugin was developed with the available QGis-Versions, currently QGIS 3.38.4 'Grenoble' and QGIS 3.34.10 'Prizren' (LTR). | |
Source-code and tracker https://github.com/Ludwig-K/QGisLinearReference/ | |
The project is licensed under the GNU GPL 2 license. |