Is there anyway to do this in Qgis, R, Arcmap?
closed as too broad by Mikkel Lydholm Rasmussen, aldo_tapia, Dan C, Jeffrey Evans, PolyGeo♦ May 29 '18 at 20:01
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
Especially through OSM, these types of features are typically digitized. Otherwise, it would likely take developing an intensive script/algorithm to process imagery tiles, orthophotos, and obliques.
Try using Image Classification in the Spatial Analyst extension (in ArcMap).
Open the Image Classification toolbar, you will create training samples of roofs. In the Training Sample Manager, the training samples will list and can be renamed to what you are identifying (ie. rooftops). Sample a few different colored rooftops, and then merge the training samples into one in the manager window.
Use the Maximum Likelihood Classification tool or Interactive Surpervised Classification tool to classify the image. Look over the results to see if you need to reclassify the image samples to clean up the result (if something else in the imagery appears to be the same color as the rooftops, the tool can misclassify).
This tool can be helpful but is only as good as it's inputs and may take a few tries. Hope this helps.