[GRASS-dev] [GRASS GIS] #2531: v.parallel: strange output

#2531: v.parallel: strange output
-------------------------+--------------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 7.1.0
Component: Vector | Version: svn-trunk
Keywords: parallel | Platform: MSWindows Vista
      Cpu: Unspecified |
-------------------------+--------------------------------------------------
tested in the nc sample data set

{{{
v.extract input=streams@PERMANENT cats=83348 output=streams_oneline
v.parallel --verbose input=streams_oneline@user1
output=streams_oneline_parallel_test distance=100 side=both
}}}

see attached result; is this correct?

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel: strange output
-------------------------+--------------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 7.1.0
Component: Vector | Version: svn-trunk
Keywords: parallel | Platform: MSWindows Vista
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by hellik):

Replying to [ticket:2531 hellik]:
> tested in the nc sample data set
>
> {{{
> v.extract input=streams@PERMANENT cats=83348 output=streams_oneline
> v.parallel --verbose input=streams_oneline@user1
output=streams_oneline_parallel_test distance=100 side=both
> }}}
>
> see attached result; is this correct?

tested with

{{{
System Info
GRASS Version: 7.1.svn
GRASS SVN Revision: 63945
Erstellungsdatum: 2015-01-04
Build Platform: i686-pc-mingw32
GDAL/OGR: 1.11.1
PROJ.4: 4.8.0
GEOS: 3.4.2
SQLite: 3.7.17
Python: 2.7.4
wxPython: 2.8.12.1
Platform: Windows-Vista-6.0.6002-SP2 (OSGeo4W)
}}}

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel: strange output
-------------------------+--------------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 7.1.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel | Platform: MSWindows Vista
      Cpu: Unspecified |
-------------------------+--------------------------------------------------
Changes (by neteler):

  * keywords: parallel => v.parallel

Comment:

IMHO this ticket is a duplicate of #90

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel: strange output
-------------------------+--------------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 7.0.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel | Platform: MSWindows Vista
      Cpu: Unspecified |
-------------------------+--------------------------------------------------
Changes (by hellik):

  * priority: major => blocker
  * milestone: 7.1.0 => 7.0.0

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel: strange output
-------------------------+--------------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 7.0.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel | Platform: MSWindows Vista
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by hellik):

Replying to [comment:2 neteler]:
> IMHO this ticket is a duplicate of #90

yes it seems to be duplicate of #90. #90 is for g6. as also v.segment is
affected by this bug, I've raised priority.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel: strange output
-------------------------+--------------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 7.0.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel | Platform: MSWindows Vista
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by martinl):

Replying to [comment:3 hellik]:

I wonder why it's blocker? I would say it's critical, but not the blocker.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:5&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel: strange output
-------------------------+--------------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 7.0.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel | Platform: MSWindows Vista
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by hellik):

Replying to [comment:5 martinl]:
> Replying to [comment:3 hellik]:
>
> I wonder why it's blocker? I would say it's critical, but not the
blocker.

IMHO create parallel vector lines is a basic GIS function which should
work in a release of a new GRASS GIS generation. additionally it's still
an longstanding issue in g6 (see #90).

please feel free to downgrade.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:6&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel: strange output
-------------------------+--------------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: critical | Milestone: 7.0.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel | Platform: MSWindows Vista
      Cpu: Unspecified |
-------------------------+--------------------------------------------------
Changes (by neteler):

  * priority: blocker => critical

Comment:

It does not impact the overall GRASS functionality, hence downgrading.

We may also consider to move it to Addons... I am not sure how important
v.parallel is.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:7&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel: strange output
-------------------------+--------------------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: critical | Milestone: 7.0.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel | Platform: MSWindows Vista
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by hellik):

Replying to [comment:7 neteler]:
> I am not sure how important v.parallel is.

IMHO creating parallel vector lines is a core functionality of a GIS
vector engine.

>
> We may also consider to move it to Addons...

then, also v.segment should be moved to addons (see screenshot), as also
this module is affected by the underlying function.

my 0.02c

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:8&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel: strange output
-----------------------------------+----------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: critical | Milestone: 7.0.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel, v.segment | Platform: MSWindows Vista
      Cpu: Unspecified |
-----------------------------------+----------------------------------------
Changes (by hellik):

  * keywords: v.parallel => v.parallel, v.segment

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:9&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel/v.segment: strange output
-----------------------------------+----------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: critical | Milestone: 7.0.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel, v.segment | Platform: MSWindows Vista
      Cpu: Unspecified |
-----------------------------------+----------------------------------------

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:10&gt;
GRASS GIS <http://grass.osgeo.org>

#2531: v.parallel/v.segment: strange output
-----------------------------------+----------------------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: critical | Milestone: 7.0.0
Component: Vector | Version: svn-trunk
Keywords: v.parallel, v.segment | Platform: MSWindows Vista
      Cpu: Unspecified |
-----------------------------------+----------------------------------------

Comment(by mlennert):

In Vect_line_parallel2 in
[http://trac.osgeo.org/grass/browser/grass/trunk/lib/vector/Vlib/buffer2.c#L1181
lib/vector/Vlib/buffer2.c], a call to clean_parallel is commented out.
clean_parallel exists in buffer.c, not in buffer2.c. Maybe this might be a
path to a solution.

What seems to be the issue (AFAIU) is that the length of the parallel line
segments is longer than that of the original line segments, as if the
lines as projected outward. This seems to be what leads to the loops.
Don't know why such a projection is done... I'll attach a screenshot to
show what I mean.

Have you checked out the -b flag ? And possibly tried to generalize the
line before creating using v.parallel. Both might actually give you what
you are looking for ?

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:11&gt;
GRASS GIS <http://grass.osgeo.org>

Markus,

As you are probably the one that knows the buffer code the best: do you have any idea about this ?

Moritz

-------- Forwarded Message --------
Subject: Re: [GRASS GIS] #2531: v.parallel/v.segment: strange output
Date: Fri, 09 Jan 2015 11:32:27 -0000
From: GRASS GIS <trac@osgeo.org>
Reply-To: grass-dev@lists.osgeo.org
To: undisclosed-recipients:;

#2531: v.parallel/v.segment: strange output
-----------------------------------+----------------------------------------
  Reporter: hellik | Owner: grass-dev@…

      Type: defect | Status: new

  Priority: critical | Milestone: 7.0.0

Component: Vector | Version: svn-trunk
  Keywords: v.parallel, v.segment | Platform: MSWindows Vista

       Cpu: Unspecified |
-----------------------------------+----------------------------------------

Comment(by mlennert):

  In Vect_line_parallel2 in
[http://trac.osgeo.org/grass/browser/grass/trunk/lib/vector/Vlib/buffer2.c#L1181
  lib/vector/Vlib/buffer2.c], a call to clean_parallel is commented out.
  clean_parallel exists in buffer.c, not in buffer2.c. Maybe this might be a
  path to a solution.

  What seems to be the issue (AFAIU) is that the length of the parallel line
  segments is longer than that of the original line segments, as if the
  lines as projected outward. This seems to be what leads to the loops.
  Don't know why such a projection is done... I'll attach a screenshot to
  show what I mean.

  Have you checked out the -b flag ? And possibly tried to generalize the
  line before creating using v.parallel. Both might actually give you what
  you are looking for ?

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2531#comment:11&gt;
GRASS GIS <http://grass.osgeo.org>