[GRASS-SVN] r37887 - grass/branches/releasebranch_6_4/vector/v.clean

svn_grass at osgeo.org svn_grass at osgeo.org
Mon Jun 15 05:53:23 EDT 2009


Author: mmetz
Date: 2009-06-15 05:53:23 -0400 (Mon, 15 Jun 2009)
New Revision: 37887

Modified:
   grass/branches/releasebranch_6_4/vector/v.clean/description.html
Log:
v.clean: updated manual

Modified: grass/branches/releasebranch_6_4/vector/v.clean/description.html
===================================================================
--- grass/branches/releasebranch_6_4/vector/v.clean/description.html	2009-06-15 09:52:21 UTC (rev 37886)
+++ grass/branches/releasebranch_6_4/vector/v.clean/description.html	2009-06-15 09:53:23 UTC (rev 37887)
@@ -1,36 +1,68 @@
 <h2>DESCRIPTION</h2>
 
-<em>v.clean</em> allows the user to automatically fix topology of vector maps.
+<em>v.clean</em> allows the user to automatically fix topology of vector 
+maps.
 
-<h2>NOTES</h2>
+<h3>Break lines/boundaries</h3>
 
-The user does <b>not</b> have to run <em><a HREF="v.build.html">v.build</a></em>
-on the <em>output</em> vector, unless the <em>-b</em> flag was used. The
-<em>-b</em> flag affects <b>only</b> the <em>output</em> vector - topology is
-always built for <em>error</em> vector.
+Threshold does not apply, use dummy value if <em>v.clean</em> is 
+run with several tools.
+<p>
+The <em>break</em> tool breaks lines/boundaries at intersections and also 
+breaks lines/boundaries forming a collapsed loop, for example 0.0;1.0;0.0 
+is broken at 1.0.
+<p>
+Breaking lines should be followed by removing duplicates, e.g. 
+<em>v.clean tool=break,rmdupl</em>.
 
-<h3>Removing small angles between lines at nodes</h3>
+<h3>Remove duplicate geometry features</h3>
 
-The <em>rmsa</em> tool only concerns angles which are so small that the calculated angle
-is 0. The user cannot change this threshold. The following figure should help 
-demonstrate what the tool does.
-<P>
-<ul>
-<table><tr><td>
-<img src="v_clean_rmsa.png" border=1>
-</td></tr>
-<tr><td align=center>
-<font size=-1><em>tool=rmsa</em></font>
-</td></tr>
-</table>
-</ul>
+Threshold does not apply, use dummy value if <em>v.clean</em> is 
+run with several tools.
+<p>
+The <em>rmdupl</em> tool removes geometry features with identical 
+coordinates. Categories are merged. If a point and a centroid have 
+identical coordinates, one of them will be removed if both points and 
+centroids are selected with <em>v.clean type=point,centroid</em>. The 
+same applies for lines and boundaries.
+<p>
+The <em>rmdupl</em> tool should be used after breaking lines and 
+breaking polygons.
 
-<h3>What is a bridge?</h3>
-A bridge is an area type connection of an island (polygon in a polygon) to the outer
-polygon. This is topologically incorrect (but OGC Simple Features allow it). <em>v.clean</em>
-can be used to optionally change the line type to fulfill the topology rules or to
-remove the bridge from the map:
+<h3>Remove dangles</h3>
 
+Threshold gives maximum line/boundary length in map units, degrees for 
+latlon. All dangles shorter than <em>thresh</em> will be removed. 
+Threshold is ignored if &lt; 0.
+<p>
+The <em>rmdangle</em> tool removes dangling lines/boundaries shorter than 
+<em>thresh</em>. A line/boundary is considered to be a dangle if no other 
+line of given <em>type</em> is on at least one end node. If a dangle is 
+formed by several lines, such a string of lines is taken as one dangle 
+and either everything or nothing is deleted. The <em>rmdangle</em> tool 
+is useful to remove incorrect boundaries after other cleaning operations. 
+Areas can then be successfully built. 
+
+<h3>Change boundary dangles to type line</h3>
+
+Threshold gives maximum line/boundary length in map units, degrees for 
+latlon. All boundary dangles shorter than <em>thresh</em> will be changed 
+to type line. Threshold is ignored if &lt; 0.
+<p>
+The <em>chdangle</em> tool is similar to the <em>rmdangle</em> tool, but 
+works only on boundaries and changes dangling boundaries to lines 
+instead of removing dangles.
+
+<h3>Remove or change bridges connecting an area and an island or two 
+islands</h3>
+Threshold does not apply, use dummy value if <em>v.clean</em> is 
+run with several tools.
+<p>
+A bridge is an area type connection of an island (polygon in a polygon) 
+to the outer polygon. This is topologically incorrect (but OGC Simple 
+Features allow it). The <em>rmbridge</em> tool removes bridges and the 
+<em>chbridge</em> tool changes bridges to type line:
+
 <div class="code"><pre>
     +-------------+             +-------------+   +-------------+
     |            P|  P: polygon |            P|   |            P|
@@ -43,7 +75,94 @@
     |      |      |             |             |   |      .      |
     +------+------+             +-------------+   +-------------+
 </pre></div>
+<p>
+Islands and areas must be already clean, i.e. without dangles or small 
+angles.
 
+<h3>Snap lines to vertex in threshold</h3>
+
+Threshold gives maximum distance to another vertex in map units, 
+degrees for latlon. If there is no other vertex within <em>thresh</em>, 
+no snapping will be done.
+
+The <em>snap</em> tool snaps vertices to another vertex not farther away 
+than <em>thresh</em>. The <em>type</em> option can have a strong 
+influence on the result. Snapped boundaries may need to be cleaned with 
+<em>rmdangle,break,rmdupl</em>.
+
+<h3>Remove duplicate area centroids</h3>
+
+Threshold does not apply, use dummy value if <em>v.clean</em> is 
+run with several tools.
+<p>
+The <em>rmdac</em> tool removes duplicate area centroids that can result 
+from deleting boundaries.
+
+<h3>Break (topologically clean) areas (imported from a non topological 
+format like ShapeFile)</h3>
+
+Threshold does not apply, use dummy value if <em>v.clean</em> is 
+run with several tools.
+<p>
+The <em>bpol</em> tool breaks boundaries on each point shared between 2 
+and more areas where angles of boundary segments are different and on 
+all boundary nodes (start and end points of each boundary). The 
+<em>bpol</em> tool behaves similar to <em>break</em> for boundaries, but 
+does not break collapsed loops. The <em>bpol</em> tool is faster than 
+the <em>break</em> tool but needs more memory.
+<p>
+The <em>bpol</em> tool should be followed by <em>rmdupl</em>.
+
+<h3>Remove vertices in threshold from lines and boundaries</h3>
+
+The <em>prune</em> tool is currently broken, please use 
+<em><a href=v.generalize.html>v.generalize</a></em> instead.
+
+<h3>Remove small areas</h3>
+
+Threshold gives area size in map units, square meters for latlon.
+<p>
+The <em>rmarea</em> tool removes all areas &lt;= <em>thresh</em>. The 
+longest boundary with an adjacent area is removed or all boundaries if 
+there is no adjacent area. Area categories are not combined when a small 
+area is merged with a larger area.
+
+<h3>Remove all lines or boundaries of zero length</h3>
+
+Threshold does not apply, use dummy value if <em>v.clean</em> is 
+run with several tools.
+<p>
+The <em>rmline</em> tool removes all lines or boundaries of zero length 
+that may have resulted from other cleaning operations. Zero length 
+boundaries are redundant and do not influence area topology.
+
+<h3>Remove small angles between lines at nodes</h3>
+
+Threshold does not apply, use dummy value if <em>v.clean</em> is 
+run with several tools.
+<p>
+The <em>rmsa</em> tool only concerns angles which are so small that the 
+calculated angle is 0. The following figure should help demonstrate what 
+the tool does.
+<p>
+<table><tr><td>
+<img src="v_clean_rmsa.png" border=1>
+</td></tr>
+<tr><td align=center>
+<font size=-1><em>tool=rmsa</em></font>
+</td></tr>
+</table>
+<p>
+The <em>rmsa</em> tool should be followed by <em>break,rmdupl</em>.
+
+<h2>NOTES</h2>
+
+The user does <b>not</b> have to run <em><a HREF="v.build.html">v.build</a></em>
+on the <em>output</em> vector, unless the <em>-b</em> flag was used. The
+<em>-b</em> flag affects <b>only</b> the <em>output</em> vector - 
+topology is always built for <em>error</em> vector.
+
+
 <h2>EXAMPLES</h2>
 
 <h3>Snap lines to vertex in threshold</h3>
@@ -51,21 +170,20 @@
 v.clean input=testmap output=cleanmap tool=snap thresh=1
 </pre></div>
 
-
 <h3>Cleaning OGR imported data (Simple Feature data)</h3>
 
-The import of areas with <em><a HREF="v.in.ogr.html">v.in.ogr</a></em>
-requires a subsequent run of <em>v.clean</em> to update the map to a
-topologically valid structure (removal of duplicate collinear lines etc). The
-tools used for that are 'rmdupl' and 'bpol':
+The import of areas with <em><a HREF="v.in.ogr.html">v.in.ogr</a> -c</em>
+(no cleaning) requires a subsequent run of <em>v.clean</em> to update 
+the map to a topologically valid structure (removal of duplicate 
+collinear lines etc). The tools used for that are <em>bpol</em> and 
+<em>rmdupl</em>:
 <div class="code"><pre>
-v.clean input=areamap output=areamap_clean tool=rmdupl,bpol 
+v.clean input=areamap output=areamap_clean tool=bpol,rmdupl type=boundary
 </pre></div>
 
-
 <h3>Extracting intersection points of vector lines</h3>
 <div class="code"><pre>
-v.clean input=lines1 output=lines2 err=points tool=break 
+v.clean input=lines1 output=lines2 err=points tool=break type=line
 </pre></div>
 
 Intersection points are written to 'points' map.
@@ -86,7 +204,7 @@
 EOF
 
 v.clean in=crossed_lines out=crossed_lines_brk \
-        error=intersection tool=break
+        error=intersection tool=break type=line
 </pre></div>
 
 <h3>Remove all lines of zero length</h3>
@@ -110,6 +228,7 @@
  -806227.28362601 -971104.80702988
  1     1         
 </pre></div>
+v.clean type=boundary would remove nothing.
 
 
 <h2>AUTHORS</h2>



More information about the grass-commit mailing list