A structure discovery system, the system comprising: a communication module configured to receive 3-dimensional image data from an imaging device, wherein the 3-dimensional image data comprises a point cloud; a surface discovery module configured to rotate the 3-dimensional image data around axes in 3-dimensional space of the 3-dimensional image data, wherein the rotation of the 3-dimensional image data comprises: a first rotation of the 3-dimensional image data through a plurality of first angles about a vertical z-axis, until the first rotation orients facades of structures within the 3-dimensional image data as projected onto the x-z plane and the y-z plane into line projections onto the x-z plane or the y-z plane; a second rotation of the 3-dimensional image data through a second angle about a y-axis, wherein the second rotation orients the facades of structures into a vertical projection; and a third rotation of the 3-dimensional image data through a third angle about the z-axis; a linear condensation identification module configured to identify linear condensations in the rotated 3-dimensional image data, wherein a linear condensation comprises the points delineating one of the facades condensing, upon projection into the x-z plane or the y-z plane, substantially into a line; and a structure generation module configured to generate a structure based on the linear condensations and the rotated 3-dimensional image data. a communication module configured to receive 3-dimensional image data from an imaging device, wherein the 3-dimensional image data comprises a point cloud; a surface discovery module configured to rotate the 3-dimensional image data around axes in 3-dimensional space of the 3-dimensional image data, wherein the rotation of the 3-dimensional image data comprises: a first rotation of the 3-dimensional image data through a plurality of first angles about a vertical z-axis, until the first rotation orients facades of structures within the 3-dimensional image data as projected onto the x-z plane and the y-z plane into line projections onto the x-z plane or the y-z plane; a second rotation of the 3-dimensional image data through a second angle about a y-axis, wherein the second rotation orients the facades of structures into a vertical projection; and a third rotation of the 3-dimensional image data through a third angle about the z-axis; a linear condensation identification module configured to identify linear condensations in the rotated 3-dimensional image data, wherein a linear condensation comprises the points delineating one of the facades condensing, upon projection into the x-z plane or the y-z plane, substantially into a line; and a structure generation module configured to generate a structure based on the linear condensations and the rotated 3-dimensional image data. a first rotation of the 3-dimensional image data through a plurality of first angles about a vertical z-axis, until the first rotation orients facades of structures within the 3-dimensional image data as projected onto the x-z plane and the y-z plane into line projections onto the x-z plane or the y-z plane; a second rotation of the 3-dimensional image data through a second angle about a y-axis, wherein the second rotation orients the facades of structures into a vertical projection; and a third rotation of the 3-dimensional image data through a third angle about the z-axis; a linear condensation identification module configured to identify linear condensations in the rotated 3-dimensional image data, wherein a linear condensation comprises the points delineating one of the facades condensing, upon projection into the x-z plane or the y-z plane, substantially into a line; and a structure generation module configured to generate a structure based on the linear condensations and the rotated 3-dimensional image data.