1. A computerized method to automatically detect buildings, comprising: receiving three-dimensional (3-D) data from a 3-D sensor; filtering the 3-D data to form a set of filtered points comprising points greater than an altitude threshold; determining if each point of the set of filtered points is on a line by processing the set of filtered points in one pass comprising: a) locating a first point of the set of filter points nearest to a second point of the set of filtered points; b) determining if the distance between the first point and the second point is greater than a distance threshold; c) determining if the first point and the second point have collinearity greater than a collinearity threshold; d) designating the first point as an endpoint of a line that includes the second point if the distance between the first point and the second point is greater than the distance threshold and if the first point and the second point have collinearity greater than the collinearity threshold; e) repeating steps a to e substituting an unprocessed point as the first point and the first point as the second point if the first point is designated as an endpoint; and generating an output file comprising a set of lines corresponding to building edges based on the processing of the set of filtered points in one pass.