[GRASS-user] nan values by v.generalize

Daniel Bundala bundala at gmail.com
Sat Dec 15 08:38:44 EST 2007


Hello,

I am not 100% certain as I did not test it, but I think that the
problem is that the very last line in myvect map contains 2 points at
the exactly same position (131.5, 67.5). Actually, you are so lucky to
get this (faulty?) behaviour:) because this occurs only if there is
exactly one point in between them. In your case, 2nd and 4th points
have the same position whereas 3rd is at a different position.

Possible solutions are:
-Firstly, is your map correct? I mean, does it make a sense to you
that one of your lines is of this strange shape?
-If yes, then I believe that the behaviour of the algorithm is
undefined. Because Hermitian interpolation needs to have some "notion"
of a tangent at each point. And I really don't know what can be a good
choice of a tangent at points like your 3rd point on the last line.
-So you can either use different smoothing algorithm (Chaiken?) or
shuffle the second and fourth point little bit so that they do not
coincide. In other words, translate the second point to 131.5000001
67.500001 and fourth point to 131.49999999 67.499999 say. In the later
case, I doubt that the output of v.generalize will be particularly
nice......

Hope this helps,
Daniel

On Dec 14, 2007 4:41 PM, Andre Hauptfleisch <ahaupt at gmail.com> wrote:
> I've attached the myvect and myvect_smooth files.
>
> Thanks for the help!!
>
>
>
>
> On Dec 14, 2007 4:53 PM, Moritz Lennert <mlennert at club.worldonline.be >
> wrote:
> >
> > On 14/12/07 15:37, Andre Hauptfleisch wrote:
> > > I'll try to upload the vector layer I used to an ftp site. What would
> > > the best output format be? DXF?
> >
> > You can just use the output of v.out.ascii. If the file is not too
> > large, you can zip the output and send it to me directly.
> >
> > Moritz
> >
> >
> > >
> > >
> > > On Dec 14, 2007 4:13 PM, Moritz Lennert < mlennert at club.worldonline.be
> >
> >
> >
> > > <mailto: mlennert at club.worldonline.be>> wrote:
> > >
> > >     On 14/12/07 14:48, Andre Hauptfleisch wrote:
> > >      > Good day guys,
> > >      >
> > >      > I came across a problem in the v.generalize module. I do the
> > >     following:
> > >      > v.generalize input=myvect at test output=myvect_smooth type=line
> > >      > method=hermite threshold=10
> > >      >
> > >      > I then do a v.out.svg and noticed the following line in the svg
> file:
> > >      > <path gg:cat="31" d="M 111.500000 -80.500000 l 8.734748 4.771559
> > >      > 9.907176 6.337565 nan nan nan nan nan nan nan nan nan nan" />
> > >      >
> > >      > Any idea how I can get rid of those nan's? They cause stuff such
> as
> > >      > v.to.rast to hang.
> > >
> > >     I cannot reproduce this with the speafish60 dataset:
> > >
> > >     v.out.svg input=roads at PERMANENT output=roads type=line precision=6
> > >     layer=1
> > >
> > >     and
> > >
> > >     v.generalize input=roads at PERMANENT output=roads_smooth type=line
> > >     method=hermite threshold=10 look_ahead=7 reduction=50 slide= 0.5
> > >     angle_thresh=3 degree_thresh=0 closeness_thresh=0
> betweeness_thresh=0
> > >     alpha=1.0 beta=1.0 iterations=1 layer=1
> > >
> > >     v.out.svg input=roads_smooth at user1 output=roads_smooth type=line
> > >     precision=6 layer=1
> > >
> > >     Both give me svg files without nan's.
> > >
> > >     Can you reproduce this with spearfish data ? Can you look at the
> line
> > >     with cat=31 in your grass vector (maybe in v.digit) and see if there
> is
> > >     anything abnormal about it ?
> > >
> > >     Moritz
> > >
> > >
> > >
> > >
> > > --
> > > Groete,
> > > Andre Hauptfleisch
> > >
> > > M: 082 5722 469
> > > F: 086 687 1106
> > > E: ahaupt at gmail.com <mailto:ahaupt at gmail.com>
> >
> >
>
>
>
> --
> Groete,
> Andre Hauptfleisch
>
> M: 082 5722 469
> F: 086 687 1106
> E: ahaupt at gmail.com
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
>


More information about the grass-user mailing list