[GRASS5] v.clean rmsa option - what does it do ?

Hello Radim,

Could you (or someone else who knows this) give a more thorough explanation of what the 'rmsa' option of v.clean does (ideally in some graphical form) ?

The man page says "remove small angles between lines at nodes", but I don't really understand what this means and the French translators of the manuals are trying to understand...

Thanks !

Moritz

On 4/27/06, Moritz Lennert <mlennert@club.worldonline.be> wrote:

Hello Radim,

Could you (or someone else who knows this) give a more thorough
explanation of what the 'rmsa' option of v.clean does (ideally in some
graphical form) ?

The man page says "remove small angles between lines at nodes", but I
don't really understand what this means and the French translators of
the manuals are trying to understand...

If angle between 2 lines is smaller than threshold the lines
are broken and the partialy merged.

Radim

Thanks !

Moritz

Radim Blazek wrote:

On 4/27/06, Moritz Lennert <mlennert@club.worldonline.be> wrote:

Hello Radim,

Could you (or someone else who knows this) give a more thorough
explanation of what the 'rmsa' option of v.clean does (ideally in some
graphical form) ?

The man page says "remove small angles between lines at nodes", but I
don't really understand what this means and the French translators of
the manuals are trying to understand...

If angle between 2 lines is smaller than threshold the lines
are broken and the partialy merged.

Thanks for the explanation.

So if I understand correctly it does what is shown here:

http://geog-pc40.ulb.ac.be/grass/rmsa.pdf

i.e. converting the black line with a small angle into the new red line.

However, when I try to apply this to this line:

http://geog-pc40.ulb.ac.be/grass/rmsa_example.jpg

defined as follows in v.build:

> v.build brol
Building topology ...
3 primitives registered
Building areas: 100%
0 areas built
0 isles built
Attaching islands:
Attaching centroids: 100%
Topology was built.
Number of nodes : 4
Number of primitives: 3
Number of points : 0
Number of lines : 3
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0

in the following projection:

  > g.proj -p
-PROJ_INFO-------------------------------------------------
name : Lambert Conformal Conic
proj : lcc
datum : bel72
a : 6378388
es : 0.0067226700
lat_1 : 49.83333333333334
lat_2 : 51.16666666666666
lat_0 : 90
lon_0 : 4.356939722222222
x_0 : 150000.01256
y_0 : 5400088.4378
no_defs : defined
-PROJ_UNITS------------------------------------------------
unit : metre
units : metres
meters : 1

Then whatever the threshhold value I set (going up to ridiculous values, I continue to get 4 nodes, with 3 lines which look identical to the original.

Am I still wrong in my understanding of rmsa, or is it something else ?

Moritz

On 4/28/06, Moritz Lennert <mlennert@club.worldonline.be> wrote:

Radim Blazek wrote:
> On 4/27/06, Moritz Lennert <mlennert@club.worldonline.be> wrote:
>
>>Hello Radim,
>>
>>Could you (or someone else who knows this) give a more thorough
>>explanation of what the 'rmsa' option of v.clean does (ideally in some
>>graphical form) ?
>>
>>The man page says "remove small angles between lines at nodes", but I
>>don't really understand what this means and the French translators of
>>the manuals are trying to understand...
>
>
> If angle between 2 lines is smaller than threshold the lines
> are broken and the partialy merged.

Thanks for the explanation.

So if I understand correctly it does what is shown here:

http://geog-pc40.ulb.ac.be/grass/rmsa.pdf

No, this can be don with 'prune' but tolerance is distance.

I have attached picture of what rmsa does.

Radim

i.e. converting the black line with a small angle into the new red line.

However, when I try to apply this to this line:

http://geog-pc40.ulb.ac.be/grass/rmsa_example.jpg

defined as follows in v.build:

> v.build brol
Building topology ...
3 primitives registered
Building areas: 100%
0 areas built
0 isles built
Attaching islands:
Attaching centroids: 100%
Topology was built.
Number of nodes : 4
Number of primitives: 3
Number of points : 0
Number of lines : 3
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0

in the following projection:

  > g.proj -p
-PROJ_INFO-------------------------------------------------
name : Lambert Conformal Conic
proj : lcc
datum : bel72
a : 6378388
es : 0.0067226700
lat_1 : 49.83333333333334
lat_2 : 51.16666666666666
lat_0 : 90
lon_0 : 4.356939722222222
x_0 : 150000.01256
y_0 : 5400088.4378
no_defs : defined
-PROJ_UNITS------------------------------------------------
unit : metre
units : metres
meters : 1

Then whatever the threshhold value I set (going up to ridiculous values,
I continue to get 4 nodes, with 3 lines which look identical to the
original.

Am I still wrong in my understanding of rmsa, or is it something else ?

Moritz

(attachments)

rmsa.png

On Fri, Apr 28, 2006 at 11:41:44AM +0200, Radim Blazek wrote:
...

I have attached picture of what rmsa does.

I have added the figure into the module's documentation.

Markus

Radim Blazek wrote:

On 4/28/06, Moritz Lennert <mlennert@club.worldonline.be> wrote:

Radim Blazek wrote:

On 4/27/06, Moritz Lennert <mlennert@club.worldonline.be> wrote:

Hello Radim,

Could you (or someone else who knows this) give a more thorough
explanation of what the 'rmsa' option of v.clean does (ideally in some
graphical form) ?

The man page says "remove small angles between lines at nodes", but I
don't really understand what this means and the French translators of
the manuals are trying to understand...

If angle between 2 lines is smaller than threshold the lines
are broken and the partialy merged.

Thanks for the explanation.

So if I understand correctly it does what is shown here:

http://geog-pc40.ulb.ac.be/grass/rmsa.pdf

No, this can be don with 'prune' but tolerance is distance.

I have attached picture of what rmsa does.

Thanks, that makes it much clearer. However, one more thing. In the source code you write:

"It may happen that even if the angle between 2 boundaries at node is very small, the calculated angle is 0 because of representation error."

And when one tries to set a threshold, the module says "WARNING: Threshold for tool 1 may not be > 0, set to 0".

So, does this mean that this tool only works automatically for those nodes where the calculation ends up with an angle of 0 ? The user cannot change this threshold.

Should the description of the tool thus read something like this:

rmsa: remove small angles between lines at nodes (Only concerns angles which are so small that the calculated angle is 0. The user cannot change this threshold.)

Moritz

Radim

i.e. converting the black line with a small angle into the new red line.

However, when I try to apply this to this line:

http://geog-pc40.ulb.ac.be/grass/rmsa_example.jpg

defined as follows in v.build:

> v.build brol
Building topology ...
3 primitives registered
Building areas: 100%
0 areas built
0 isles built
Attaching islands:
Attaching centroids: 100%
Topology was built.
Number of nodes : 4
Number of primitives: 3
Number of points : 0
Number of lines : 3
Number of boundaries: 0
Number of centroids : 0
Number of areas : 0
Number of isles : 0

in the following projection:

> g.proj -p
-PROJ_INFO-------------------------------------------------
name : Lambert Conformal Conic
proj : lcc
datum : bel72
a : 6378388
es : 0.0067226700
lat_1 : 49.83333333333334
lat_2 : 51.16666666666666
lat_0 : 90
lon_0 : 4.356939722222222
x_0 : 150000.01256
y_0 : 5400088.4378
no_defs : defined
-PROJ_UNITS------------------------------------------------
unit : metre
units : metres
meters : 1

Then whatever the threshhold value I set (going up to ridiculous values,
I continue to get 4 nodes, with 3 lines which look identical to the
original.

Am I still wrong in my understanding of rmsa, or is it something else ?

Moritz

------------------------------------------------------------------------

On 4/28/06, Moritz Lennert <mlennert@club.worldonline.be> wrote:

>>>>The man page says "remove small angles between lines at nodes", but I
>>>>don't really understand what this means and the French translators of
>>>>the manuals are trying to understand...
>>>
>>>If angle between 2 lines is smaller than threshold the lines
>>>are broken and the partialy merged.
>>
>>Thanks for the explanation.
>>
>>So if I understand correctly it does what is shown here:
>>
>>http://geog-pc40.ulb.ac.be/grass/rmsa.pdf
>
> No, this can be don with 'prune' but tolerance is distance.
>
> I have attached picture of what rmsa does.

Thanks, that makes it much clearer. However, one more thing. In the
source code you write:

"It may happen that even if the angle between 2 boundaries at node is
very small, the calculated angle is 0 because of representation error."

And when one tries to set a threshold, the module says "WARNING:
Threshold for tool 1 may not be > 0, set to 0".

So, does this mean that this tool only works automatically for those
nodes where the calculation ends up with an angle of 0 ? The user cannot
change this threshold.

Should the description of the tool thus read something like this:

rmsa: remove small angles between lines at nodes (Only concerns angles
which are so small that the calculated angle is 0. The user cannot
change this threshold.)

Yes.
Radim

Moritz

>
> Radim
>
>>i.e. converting the black line with a small angle into the new red line.
>>
>>However, when I try to apply this to this line:
>>
>>http://geog-pc40.ulb.ac.be/grass/rmsa_example.jpg
>>
>>defined as follows in v.build:
>>
>> > v.build brol
>>Building topology ...
>>3 primitives registered
>>Building areas: 100%
>>0 areas built
>>0 isles built
>>Attaching islands:
>>Attaching centroids: 100%
>>Topology was built.
>>Number of nodes : 4
>>Number of primitives: 3
>>Number of points : 0
>>Number of lines : 3
>>Number of boundaries: 0
>>Number of centroids : 0
>>Number of areas : 0
>>Number of isles : 0
>>
>>in the following projection:
>>
>> > g.proj -p
>>-PROJ_INFO-------------------------------------------------
>>name : Lambert Conformal Conic
>>proj : lcc
>>datum : bel72
>>a : 6378388
>>es : 0.0067226700
>>lat_1 : 49.83333333333334
>>lat_2 : 51.16666666666666
>>lat_0 : 90
>>lon_0 : 4.356939722222222
>>x_0 : 150000.01256
>>y_0 : 5400088.4378
>>no_defs : defined
>>-PROJ_UNITS------------------------------------------------
>>unit : metre
>>units : metres
>>meters : 1
>>
>>Then whatever the threshhold value I set (going up to ridiculous values,
>>I continue to get 4 nodes, with 3 lines which look identical to the
>>original.
>>
>>Am I still wrong in my understanding of rmsa, or is it something else ?
>>
>>Moritz
>>
>> ------------------------------------------------------------------------
>>