A method of constructing a three-dimensional plane panorama, the method comprising: detecting a ground plane in a three-dimensional point cloud (34; 40) of a geographic area including a road; converting the three-dimensional point cloud to a two-dimensional histogram, by planar projection of the three-dimensional point cloud onto the ground plane, with bins of the two-dimensional histogram grouping neighboring points in the three-dimensional point cloud; performing a Hough transformation on the two-dimensional histogram to create a Hough accumulator matrix; segmenting the Hough accumulator matrix into one or more segments, each segment including one or more of the bins; iteratively performing line detection in each of the one or more segments, wherein iteratively performing line detection comprises: (i) detecting a first major line in the points projected onto the ground plane by identifying the highest value in the Hough accumulator matrix; (ii) detecting, using the Hough accumulator matrix, one or more related lines that are orthogonal, parallel or diagonal with respect to the first major line; (iii) choosing the related line corresponding to the highest value in the Hough accumulator matrix as the next major line; (iv) discarding the points in each bin in which a major line has been identified; and (v) repeating steps (ii)-(iv) for the next major line; detecting a road as a large planar shape in the points projected onto the ground plane which has no perpendicularly- or diagonally-orientated intersecting planar shapes within the points projected onto the ground plane; discarding lines inside the detected road; and assembling the one or more detected lines into one or more planes, assembling the one or more planes into a plane panorama. detecting a ground plane in a three-dimensional point cloud (34; 40) of a geographic area including a road; converting the three-dimensional point cloud to a two-dimensional histogram, by planar projection of the three-dimensional point cloud onto the ground plane, with bins of the two-dimensional histogram grouping neighboring points in the three-dimensional point cloud; performing a Hough transformation on the two-dimensional histogram to create a Hough accumulator matrix; segmenting the Hough accumulator matrix into one or more segments, each segment including one or more of the bins; iteratively performing line detection in each of the one or more segments, wherein iteratively performing line detection comprises: (i) detecting a first major line in the points projected onto the ground plane by identifying the highest value in the Hough accumulator matrix; (ii) detecting, using the Hough accumulator matrix, one or more related lines that are orthogonal, parallel or diagonal with respect to the first major line; (iii) choosing the related line corresponding to the highest value in the Hough accumulator matrix as the next major line; (iv) discarding the points in each bin in which a major line has been identified; and (v) repeating steps (ii)-(iv) for the next major line; (i) detecting a first major line in the points projected onto the ground plane by identifying the highest value in the Hough accumulator matrix; (ii) detecting, using the Hough accumulator matrix, one or more related lines that are orthogonal, parallel or diagonal with respect to the first major line; (iii) choosing the related line corresponding to the highest value in the Hough accumulator matrix as the next major line; (iv) discarding the points in each bin in which a major line has been identified; and (v) repeating steps (ii)-(iv) for the next major line; detecting a road as a large planar shape in the points projected onto the ground plane which has no perpendicularly- or diagonally-orientated intersecting planar shapes within the points projected onto the ground plane; discarding lines inside the detected road; and assembling the one or more detected lines into one or more planes, assembling the one or more planes into a plane panorama.