[GRASS-user] v.patch drops adjacent polygons

A. Marcia BARBOSA anamarciabarbosa at gmail.com
Sat Jun 6 07:37:44 EDT 2009


> Now you could try v.clean with 1) remove
> small angles, 2) break boundaries, 3) remove duplicates (v.clean
> tool=rmsa,break,rmdupl). If anything was changed by any of the 3 tools,
> you may need to repeat the three cleaning operations. Maybe snapping is
> also necessary.

$ v.clean input=UTM10_31to34_clean output=UTM10_31to34_clean2
tool=rmsa,bpol,rmdupl
--------------------------------------------------
Tool: Threshold
Remove small angles at nodes: 0.000000e+000
Break polygons: 0.000000e+000
Remove duplicates: 0.000000e+000
--------------------------------------------------
Copying vector lines...
Rebuilding parts of topology...
Building topology ...
260423 primitives registered
Topology was built.
Number of nodes     :   173845
Number of primitives:   260423
Number of points    :   0
Number of lines     :   0
Number of boundaries:   173863
Number of centroids :   86560
Number of areas     :   -
Number of isles     :   -
--------------------------------------------------
Tool: Remove small angles at nodes
Modifications:   174
174 modifications done
--------------------------------------------------
Tool: Break polygons
Registering points ... 87288
All points (vertices): 434253
Registered points (unique coordinates): 87288
Points marked for break: 87285
Breaks:     0
--------------------------------------------------
Tool: Remove duplicates
Duplicates:     1
--------------------------------------------------
Rebuilding topology for output vector map...
Building topology ...
260404 primitives registered
Building areas:  100%
86560 areas built
1 isles built
Attaching islands:  100%
Attaching centroids:  100%
Topology was built.
Number of nodes     :   173845
Number of primitives:   260404
Number of points    :   0
Number of lines     :   0
Number of boundaries:   173844
Number of centroids :   86560
Number of areas     :   86560
Number of isles     :   1

-- It worked - the number of boundaries diminished and the map now
looks fine! No need for an extra v.clean.
Also, if I use all 3 tools (rmsa,bpol,rdupl) when v.cleaning the first
patched map directly, it works as well, no need for intermediary
steps. Great program!

> v.clean error=<vector with location
> of changes> lets you see where modifications were done.

$ v.info UTM10_31to34_errors
[...]
 |   Type of Map:  vector (level: 2)                                          |
 |                                                                            |
 |   Number of points:       0               Number of areas:      0          |
 |   Number of lines:        0               Number of islands:    0          |
 |   Number of boundaries:   539             Number of faces:      0          |
 |   Number of centroids:    0               Number of kernels:    0          |
 |                                                                            |
 |   Map is 3D:              0                                                |
 |   Number of dblinks:      0                                                |
 |                                                                            |
 |         Projection: Lat/Lon                                                |
 |               N:  72:04:34.200379N    S:  27:05:25.520375N                 |
 |               E:               12E    W:               12E

-- So it seems the problems were with 539 boundaries along the
vertical line where the two patched vectors met.

Thanks a lot,
Márcia


More information about the grass-user mailing list