Hi all,
I have two line vectors: LV1) a complete stream network LV2) sections of the same stream network representing impoundments.
LV2 is a subset of LV1 and fully spatially overlapping. However, the full stream network consists of polylines with start/end nodes that do not correspond to the impoundments vector:
LV1 (complete network):
±------------------±-----------------+
LV2 (subset with different start/end nodes)
±–+ ±------------+
So how can I get the information of impoundments (LV2) into the attribute table of the first line vector (LV1). A way that came into my mind but which is somehow cumbersome:
- Extract the start/end node coordinates each impoundment (LV2) using v.to.db
- Use these coordinates in v.edit to break the river network (LV1)
- Add new categories in layer 2 of LV1 and add an attribute table
- Use v.distance to query the information from LV2 and copy it to the corresponding new reaches in LV1
…This is not yet tested and not the most straight forward way.
All this I guess would be easier if there would be something like v.overlay that works with two line vectors…
Has anybody done similar analysis in GRASS so far?
cheers,
Johannes
tart/end nodes of the
Hi Johannes,
On Fri, Feb 28, 2020 at 4:27 PM Johannes Radinger <johannesradinger@gmail.com> wrote:
Hi all,
I have two line vectors: LV1) a complete stream network LV2) sections of the same stream network representing impoundments.
LV2 is a subset of LV1 and fully spatially overlapping. However, the full stream network consists of polylines with start/end nodes that do not correspond to the impoundments vector:
LV1 (complete network):
±------------------±-----------------+
LV2 (subset with different start/end nodes)
±–+ ±------------+
So how can I get the information of impoundments (LV2) into the attribute table of the first line vector (LV1). A way that came into my mind but which is somehow cumbersome:
- Extract the start/end node coordinates each impoundment (LV2) using v.to.db
- Use these coordinates in v.edit to break the river network (LV1)
- Add new categories in layer 2 of LV1 and add an attribute table
- Use v.distance to query the information from LV2 and copy it to the corresponding new reaches in LV1
…This is not yet tested and not the most straight forward way.
All this I guess would be easier if there would be something like v.overlay that works with two line vectors…
The only alternative I can think of is v.clean tool=break errors=nodes, but this might not be exactly what you need: start/end nodes from LV2 might be missing if there are matching nodes in LV1. Your approach seems to be reasonable, even if it involves several steps.
Markus M
Has anybody done similar analysis in GRASS so far?
cheers,
Johannes
tart/end nodes of the
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user