For a study into the expansion of road networks in the rainforest I am trying to extract roads out of Landsat images. We already have sharp and cloud-free composites on which the roads are clearly visible by eye but extracting those into line features is proving difficult so i was wondering if anyone knows a good algorithm or method that can handle the large images that Landsat provides? I've tried Grass's r.thin but this doesn't seem to work.
[GIS] Extracting roads out of Landsat raster images
landsatrasterremote sensingroad
Best Answer
I would recommend using image segmentation with the free software SPRING, available from the Brazilian National Institute for Space Research. Documentation is available here and tutorials are available here. Image segmentation produces high classification accuracy compared to purely pixel based classification methods (e.g. ISODATA, Maximum Likelihood, etc). To help better elucidate my answer, I performed image segmentation on imagery (nIR, 1m resolution) that had a road running through rangeland in eastern Oregon. The general workflow to perform image segmentation with SPRING is as follows:
The first image shows the results of the actual segmentation. The road is highlighted in blue and was used during step 3 (training). I lumped all of the other classes (e.g. grass, trees, etc) into another category. The final image shows the results of the image segmentation and classification algorithm. As you can see, image segmentation produced very good results with the sample imagery.
With Landsat imagery, you will have less spatial resolution than my sample imagery, yet you will have greater spectral resolution and will thus be able to detect greater differences between vegetated and non vegetated areas. Since SPRING takes into account spectral bands in addition to shapes, you should see very good results using your Landsat imagery. Best of luck and thanks for researching such an important topic.