[GRASS-user] nan values by v.generalize

Dylan Beaudette dylan.beaudette at gmail.com
Sat Dec 15 14:36:22 EST 2007


On Saturday 15 December 2007 05:38:44 am Daniel Bundala wrote:
> 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


Daniel / others:

how about doing a first pass to check for points / segments where the 
requested interpolator is undefined ? That way an appropriate warning could 
be issued along with suggestions like you have presented. 

I suppose that a moving window on the vertices could accomplish this, checking 
for the conditions above.

What do you think?

Cheers,

Dylan

> 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
>
> _______________________________________________
> 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