1. An apparatus comprising: at least one non-transitory computer readable medium storing a set of instructions for running on a computer system, the set of instructions comprising: instructions for identifying line segments of a roof shown in at least two images using input from a user selecting end points of the line segments in a first image of the at least two images; instructions for determining three-dimensional information of the line segments including position, orientation and length of the line segments; and instructions for determining, automatically, a classification of at least one of the line segments utilizing position and orientation of a first line segment relative to a position and orientation of a second line segment of the line segments as one of a plurality of predefined roof elements.