Hi,
I spent a long time by looking for why clean data are not build properly.
I hope, I found the problem:
1. m.in.e00 sets: map.head.orig_scale = 100000l;
2. v.build sets: Map.snap_thresh = THRESH_FUDGE * Map.head.orig_scale *
dig_unit_conversion();
3. dig_calc_begin_angle() calculates wrong angle if thresh is too big, because
it takes first point outside threshold
4. dig_build_area_with_line() fails to build area because line order is not
correct
As a solution, I have changed v.build, so that it sets snap_thresh only if it
is specified on command line. (Threshold is now printed by v.info).
Default snap_thresh is set by Vect__init_head() to 0.0, so threshold should
be zero until user changes threshold value by v.support parameter.
In addition i have added new option "err=" to v.support/v.build, which is
name of new error vector, where are saved area edges with topology
problems, so that it is possible display only that lines over original map.
For bad edges is also error message printed by v.support now.
If anybody had problems with "clean" polygon data imported by v.in.e00, please
test now (v.support map=xxx threshold=0 err=err).
Radim
Radim Blazek wrote:
Hi,
I spent a long time by looking for why clean data are not build properly.
I hope, I found the problem:
1. m.in.e00 sets: map.head.orig_scale = 100000l;
Maybe a better improvement will be a more clever setting
of scale in m.in.e00 ? I plan also to use the precision
and threshold values supplied in most e00 files.
--
Michel WURTZ - DIG - Maison de la télédétection
500, rue J.F. Breton
34093 MONTPELLIER Cedex 5
On Thursday 18 April 2002 04:03 pm, Michel Wurtz wrote:
Radim Blazek wrote:
> Hi,
>
> I spent a long time by looking for why clean data are not build properly.
> I hope, I found the problem:
> 1. m.in.e00 sets: map.head.orig_scale = 100000l;
Maybe a better improvement will be a more clever setting
of scale in m.in.e00 ? I plan also to use the precision
and threshold values supplied in most e00 files.
Yes, it may be better, the question is, what is "clever setting".
I don't know enough about e00 and in file i have here is no
threshold (BWT, where can I find e00 format description?).
If you have threshold for e00, what that means?
If it means that the file contains unclosed areas with
gaps < thresh and does not contain lines with vertices
in distance < thresh it is of course best to use that.
But I guess that's not thrue, at least for files generated by
Arc/Info - I don't know.
If you have more files with supplied threshold, could you
test to build with that threshold and threshold=0, and tell us
the results?
Radim
Radim Blazek wrote:
Yes, it may be better, the question is, what is "clever setting".
I don't know enough about e00 and in file i have here is no
threshold (BWT, where can I find e00 format description?).
Look at http://pages.infinit.net/danmo/e00/index.html
Daniel has a good analysis of it
If you have threshold for e00, what that means?
The values used for pruning lines and for the ESRI equivalent
of v.support (the values may not be the same)
If it means that the file contains unclosed areas with
gaps < thresh and does not contain lines with vertices
in distance < thresh it is of course best to use that.
But I guess that's not thrue, at least for files generated by
Arc/Info - I don't know.
If topological information is present, the topology is clean
(there is no gap : vertices are connected)
If you have more files with supplied threshold, could you
test to build with that threshold and threshold=0, and tell us
the results?
OK, I will try
--
Michel WURTZ - DIG - Maison de la télédétection
500, rue J.F. Breton
34093 MONTPELLIER Cedex 5
On Thu, Apr 18, 2002 at 04:42:39PM +0200, Radim Blazek wrote:
On Thursday 18 April 2002 04:03 pm, Michel Wurtz wrote:
> Radim Blazek wrote:
> > Hi,
> >
> > I spent a long time by looking for why clean data are not build properly.
> > I hope, I found the problem:
> > 1. m.in.e00 sets: map.head.orig_scale = 100000l;
>
> Maybe a better improvement will be a more clever setting
> of scale in m.in.e00 ? I plan also to use the precision
> and threshold values supplied in most e00 files.
>
Yes, it may be better, the question is, what is "clever setting".
I don't know enough about e00 and in file i have here is no
threshold (BWT, where can I find e00 format description?).
Radim,
have a look here:
http://pages.infinit.net/danmo/e00/docs/v7_e00_cover.html
[...]
Markus
On Thursday 18 April 2002 04:57 pm, Michel Wurtz wrote:
Look at http://pages.infinit.net/danmo/e00/index.html
Daniel has a good analysis of it
Thanks, good.
If you have threshold for e00, what that means?
The values used for pruning lines
If pruned by Arc/Info, no need to use thresh by v.support
and for the ESRI equivalent
of v.support (the values may not be the same)
In v.support threshold is used for building clean topology
from incorrect linework. Unfortunately, it may also build
incorrect topology from clean data.
If it means that the file contains unclosed areas with
gaps < thresh and does not contain lines with vertices
in distance < thresh it is of course best to use that.
Sorry, here i was not precise. Distance of vertices of one line
may be smaller than threshold, but topology formed by first
point outside the threshold must be also OK, i.e. line between
first point and first point outside threshold should not cross
the neighbour line. I know, it is not too clear explanation.
If topological information is present, the topology is clean
(there is no gap : vertices are connected)
Then threshold should not be needed for v.support.
Radim