A method for extracting a 3D terrain model for identifying at
least buildings and terrain from LIDAR data is disclosed,
comprising the steps of generating a point cloud representing
terrain and buildings mapped by LIDAR; classifying points in the
point cloud, the point cloud having ground and non-ground
points, the non-ground points representing buildings and
clutter; segmenting the non-ground points into buildings and
clutter; and calculating a fit between at least one building
segment and at least one rectilinear structure, wherein the fit
yields the rectilinear structure with the fewest number of
vertices. The step of calculating further comprises the steps
of (a) calculating a fit of a rectilinear structure to the at
least one building segment, wherein each of the vertices has an
angle that is a multiple of 90 degrees; (b) counting the number
of vertices; (c) rotating the at least one building segment
about an axis by a predetermined increment; and (d) repeating
steps (a)-(c) until a rectilinear structure with the least
number of vertices is found.