I have a raster (.sid extension) file. I want to digitize roads automatically in ArcMap, QGIS, etc. Digitizing by hand would be too time consuming.
How can I do this ?
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.Sign up to join this community
The QGIS solution in Mapperz' reply is just a simple raster to vector conversion and has no edge detection, so I doubt it would be very effective for this use-case. It will give you polygons per pixel value and for a photo that could result in almost a polygon per pixel!
Go: Geoalgorithms->Images->Feature Extraction->Edge Extraction.
But like Mapperz says, sometimes digitizing is faster (and more accurate) by hand than using an automated system because you know what a feature is by looking at the image but the computer has no way of knowing. To an automated system its all just shade of grey or colour from which edges might be detectable.
If you have a TON of images to digitize then your best bet is to send them away to a digitizing company which specializes in this sort of thing. There are loads around the world (especially India) and they have undertaken time-and-motion studies to the nth degree to reduce the costs. Most use a combined process of automated scanning and human digitizing. For bulk conversion it is probably cheaper and quicker to outsource to specialists.
Use ArcScan http://resources.arcgis.com/en/help/main/10.2/index.html#//000w00000001000000 but you have to change you image to 8 bit black and white for automatic vectorisation.
Note lots of images require clean-up this can be the time consuming component. http://resources.arcgis.com/en/help/main/10.2/index.html#/About_preparing_raster_data_for_vectorization/000w00000017000000/
(sometimes it is faster digitise by hand than going through arcscan.)
Raster to vector conversion (Plugins : GdalTools required)
This is a classification problem which is best suited to methods outside of ArcMap. Our brains have a very easy time interpreting collections of pixels and assembling them into meaningful objects such as roads. However, these tasks are much more difficult for a computer and require classification algorithms. ArcMap has useful pixel-based classifiers (ISODATA, MLC, etc), although is lacking in the more sophisticated object-oriented classification methods (image segmentation, feature extraction). I should add that there is a third-party extension called Feature Analyst that can be used in conjunction with ArcMap. However, I would direct you toward the FOSS GIS and image processing software called SPRING, which I have found very useful in object-oriented image classification. I posted a more detailed description of road extraction methods here which may be useful for you.
At the moment one can not do it fully automatic. Some editing\cleaning will required in any case. And as Mapperz said the task is better to solve in special tools. Do you know about Easy Trace? This is commercial software but there is free old version 8.65.