Hi,
I wonder whether there is a tool in GRASS which enables writing to
attribute table information about next/previous lines. Basically info
about next_right_edge/next_left_edge.
My idea is to extend `v.to.db` option `sides` to work also for lines.
v.to.db mysoils option=roads columns=left,right layer=2
would write into `left` column next_left_edge line category, similarly
for `right` column.
Does it make sense to you or I am simply overlooking some existing
tool in GRASS?
Thanks, Martin
--
Martin Landa
http://geo.fsv.cvut.cz/gwiki/Landa
http://gismentors.cz/mentors/landa
Hi Martin,
Am 8. Mai 2019 08:29:22 MESZ schrieb Martin Landa <landa.martin@gmail.com>:
Hi,
I wonder whether there is a tool in GRASS which enables writing to
attribute table information about next/previous lines. Basically info
about next_right_edge/next_left_edge.
My idea is to extend `v.to.db` option `sides` to work also for lines.
v.to.db mysoils option=roads columns=left,right layer=2
would write into `left` column next_left_edge line category, similarly
for `right` column.
Does it make sense to you or I am simply overlooking some existing
tool in GRASS?
I don't think we have a tool for this currently. However, I'm not sure that right and left are relevant terms for this case. Also: what do you do in the case when three lines meet at a node. What would be the 'next_left_edge line' ?
I think this needs a little bit more thinking through...
I think a connectivity matrix between lines could be a possible alternative, as was recently discussed on the lists. Or possibly some form of association table node cats <-> line cats, knowing that will be n-to-n, so maybe best not to be directly integrated into the layers attribute table at least not the nodes' table. From the perspective of lines, one related lower hanging fruit I thought about was to extend v.to.db to include start_cat, stop_cat in addition to the current start/stop which provide the coordinates of nodes. This would then allow to easily identify lines that share common nodes.
Moritz
Hi,
st 8. 5. 2019 v 11:31 odesílatel Moritz Lennert
<mlennert@club.worldonline.be> napsal:
I don't think we have a tool for this currently. However, I'm not sure that right and left are relevant terms for this case. Also: what do you do in the case when three lines meet at a node. What would be the 'next_left_edge line' ?
right, these terms comes from TopoGeo model based described in ISO 13249-3:2006.
See eg.
http://freegis.fsv.cvut.cz/gwiki/PostGIS_Topology
https://trac.osgeo.org/postgis/attachment/ticket/3046/error_in_getRingedge.png
Martin
--
Martin Landa
http://geo.fsv.cvut.cz/gwiki/Landa
http://gismentors.cz/mentors/landa
On 8/05/19 11:44, Martin Landa wrote:
Hi,
st 8. 5. 2019 v 11:31 odesílatel Moritz Lennert
<mlennert@club.worldonline.be> napsal:
I don't think we have a tool for this currently. However, I'm not sure that right and left are relevant terms for this case. Also: what do you do in the case when three lines meet at a node. What would be the 'next_left_edge line' ?
right, these terms comes from TopoGeo model based described in ISO 13249-3:2006.
See eg.
http://freegis.fsv.cvut.cz/gwiki/PostGIS_Topology
https://trac.osgeo.org/postgis/attachment/ticket/3046/error_in_getRingedge.png
Right. That does make sens. I didn't think of left and right in that way.
I don't know what use cases are for this feature, compared to the ones I listed in my previous mail...
Moritz
On Wed, May 8, 2019 at 2:34 PM Moritz Lennert <mlennert@club.worldonline.be> wrote:
On 8/05/19 11:44, Martin Landa wrote:
Hi,
st 8. 5. 2019 v 11:31 odesílatel Moritz Lennert
<mlennert@club.worldonline.be> napsal:
I don’t think we have a tool for this currently. However, I’m not sure that right and left are relevant terms for this case. Also: what do you do in the case when three lines meet at a node. What would be the ‘next_left_edge line’ ?
right, these terms comes from TopoGeo model based described in ISO 13249-3:2006.
See eg.
http://freegis.fsv.cvut.cz/gwiki/PostGIS_Topology
https://trac.osgeo.org/postgis/attachment/ticket/3046/error_in_getRingedge.png
Right. That does make sens. I didn’t think of left and right in that way.
I don’t know what use cases are for this feature, compared to the ones I
listed in my previous mail…
If I understand all this correctly, there is a next_left_edge, next_right_edge, previous_left_edge, previous_right_edge. Left would be equivalent to going CW from the current node, right would be going CCW from the current node. Next would be the end node, previous would be the start node.
GRASS example (different from PostGIS terminology): if there are no other lines connected at the start node of line 1, previous_left_edge = next_edge_edge = 1, conforming to the GRASS topology model. The corresponding function to get the next/previous line is dig_angle_next_line().
Markus M