<p>So far, i have been able to extra road from a satellite imagery but it has broken lines and it also captured buildings. these are the steps i followed to arrive at this stage:<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; g.mlist rast<br>
pitt_composite<br>pitts.blue<br>pitts.green<br>pitts.red<br>pittthin<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; g.region rast=pitts.red<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; d.mon x0<br>using default visual which is TrueColor<br>
ncolors: 16777216<br>Graphics driver [x0] started<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; d.rgb red=pitts.red green=pitts.green blue=pitts.blue<br> 100%<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; d.where</p>
<p>Buttons:<br>Left:   where am i<br>Middle: draw to/from here<br>Right:  quit this</p>
<p>             EAST:             NORTH:<br>        569059.375        4464771.875<br>        569059.375        4464778.125<br>            569425        4464771.875<br>        569409.375        4464521.875<br>            569050         4464531.25<br>
          569062.5        4464778.125<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; g.region -p w=569062 e=569425 s=4464778 n=4464771<br>ERROR: Invalid region: North must be larger than South<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; g.region -p w=569062 e=569425 s=4464771 n=4464778<br>
projection: 1 (UTM)<br>zone:       17<br>datum:      nad83<br>ellipsoid:  grs80<br>north:      4464778<br>south:      4464771<br>west:       569062<br>east:       569425<br>nsres:      0.30434783<br>ewres:      0.3<br>rows:       23<br>
cols:       1210<br>cells:      27830<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; r.composite red=pitts.red green=pitts.green blue=pitts.blue out=pitts<br>Creating color table for output raster map...<br> 100%<br>Writing raster map &lt;pitts&gt;...<br>
 100%<br>r.composite complete. Raster map &lt;pitts&gt; created.<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; d.rast pitts<br> 100%<br>GRASS 6.4.0RC5 (Pittsburgh):~/Desktop &gt; d.rgb red=pitts.red green=pitts.green blue=pitts.blue<br>
 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; d.rast pitts<br> 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; v.digit -n train bgcmd=&quot;d.rast pitts&quot;<br> 100%<br>Building topology for vector map &lt;train&gt;...<br>Registering primitives...<br>
5 primitives registered<br>21 vertices registered<br>Building areas...<br> 100%<br>0 areas built<br>0 isles built<br>Attaching islands...<br>Attaching centroids...<br> 100%<br>Number of nodes: 9<br>Number of primitives: 5<br>
Number of points: 0<br>Number of lines: 0<br>Number of boundaries: 4<br>Number of centroids: 1<br>Number of areas: 0<br>Number of isles: 0<br>Number of incorrect boundaries: 4<br>Number of centroids outside area: 1<br>Region restored to original extent.</p>

<div>GRASS 6.4.0RC5 (sis):~/Desktop &gt; v.to.rast in=traingis out=traingis use=attr type=area col=label_id labelcolumn=label<br>Loading data...<br>Reading features...<br> 100%<br>Writing raster map...<br> 100%<br>Converted areas: 0 of 0<br>
Converted points/lines: 0 of 0<br>v.to.rast complete.<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; i.group group=sislabgp subgroup=sislabsub in=sismap.red,sismap.green,sismap.blue<br>Adding raster map &lt;<a href="mailto:sismap.red@PERMANENT">sismap.red@PERMANENT</a>&gt; to group<br>
Adding raster map &lt;<a href="mailto:sismap.green@PERMANENT">sismap.green@PERMANENT</a>&gt; to group<br>Adding raster map &lt;<a href="mailto:sismap.blue@PERMANENT">sismap.blue@PERMANENT</a>&gt; to group<br>Adding raster map &lt;<a href="mailto:sismap.red@PERMANENT">sismap.red@PERMANENT</a>&gt; to subgroup<br>
Adding raster map &lt;<a href="mailto:sismap.green@PERMANENT">sismap.green@PERMANENT</a>&gt; to subgroup<br>Adding raster map &lt;<a href="mailto:sismap.blue@PERMANENT">sismap.blue@PERMANENT</a>&gt; to subgroup<br>i.group complete.<br>
GRASS 6.4.0RC5 (sis):~/Desktop &gt; i.gensigset trainingmap=trainsis group=sislabgp subgroup=sislabsub signaturefile=sist.sig<br>Finding training classes...<br> 100%<br>3 classes found<br>Reading raster maps...<br> 100%<br>
Clustering class 1 (3903 pixels)...<br>Number of subclasses is 4<br>Clustering class 2 (3126 pixels)...<br>Number of subclasses is 5<br>Clustering class 3 (2593 pixels)...<br>Number of subclasses is 4<br>i.gensigset complete.<br>
GRASS 6.4.0RC5 (sis):~/Desktop &gt; i.smap group=sislabgp subgroup=sislabsub signaturefile=sist.sig out=test_class<br>Processing rows 1-128 (of 1833)...<br>Processing rows 129-256 (of 1833)...<br>Processing rows 257-384 (of 1833)...<br>
Processing rows 385-512 (of 1833)...<br>Processing rows 513-640 (of 1833)...<br>Processing rows 641-768 (of 1833)...<br>Processing rows 769-896 (of 1833)...<br>Processing rows 897-1024 (of 1833)...<br>Processing rows 1025-1152 (of 1833)...<br>
Processing rows 1153-1280 (of 1833)...<br>Processing rows 1281-1408 (of 1833)...<br>Processing rows 1409-1536 (of 1833)...<br>Processing rows 1537-1664 (of 1833)...<br>Processing rows 1665-1792 (of 1833)...<br>Processing rows 1793-1833 (of 1833)...<br>
Writing raster map &lt;test_class&gt;...<br> 100%<br>i.smap complete.<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; d.rast test_class<br> 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; r.null test_class setnull=18<br> 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; d.rast test_class<br>
 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; r.thin<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; d.rast test_test<br>WARNING: Socket is already in use or not accepting connections.<br>WARNING: Use d.mon to select a monitor<br>ERROR: No graphics device selected<br>
GRASS 6.4.0RC5 (sis):~/Desktop &gt; d.mon x0<br>using default visual which is TrueColor<br>ncolors: 16777216<br>Graphics driver [x0] started<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; d.rast test_test<br> 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; r.to.vect test_test feature=line out=roadsExtracting lines...<br>
 100%<br> 100%<br>Building topology for vector map &lt;roads&gt;...<br>Registering primitives...<br>100484 primitives registered<br>254643 vertices registered<br>Building areas...<br> 100%<br>0 areas built<br>0 isles built<br>
Attaching islands...<br>Attaching centroids...<br> 100%<br>Number of nodes: 94750<br>Number of primitives: 100484<br>Number of points: 0<br>Number of lines: 100484<br>Number of boundaries: 0<br>Number of centroids: 0<br>Number of areas: 0<br>
Number of isles: 0<br>r.to.vect complete.<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; d.vect roads<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; r.null test_class setnull=2<br> 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; r.null test_class setnull=8<br>
 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; r.null test_class setnull=4<br> 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; r.null test_class setnull=6<br> 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; r.thin<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; d.rast test_test<br>
 100%<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; r.to.vect test_test feature=line out=roads<br>Extracting lines...<br> 100%<br> 100%<br>Building topology for vector map &lt;roads&gt;...<br>Registering primitives...<br>19581 primitives registered<br>
54295 vertices registered<br>Building areas...<br> 100%<br>0 areas built<br>0 isles built<br>Attaching islands...<br>Attaching centroids...<br> 100%<br>Number of nodes: 19302<br>Number of primitives: 19581<br>Number of points: 0<br>
Number of lines: 19581<br>Number of boundaries: 0<br>Number of centroids: 0<br>Number of areas: 0<br>Number of isles: 0<br>r.to.vect complete.<br>GRASS 6.4.0RC5 (sis):~/Desktop &gt; d.vect roads<br></div>
<div>How can i get roads maps without gaps or broken lines?</div>
<p>Nathaniel</p>