Lidar point cloud is a collection of a large amount of accurate 3D point data densely distributed on the scanned object surface. It implicitly contains abundant spatial information. To explore valuable spatial information from Lidar data becomes an active research topic. However, the processing of the huge amount of point data needs unusually large CPU time and storage volume. A well organized data structure is needed for the analysis or extraction of spatial features from point cloud in an efficient way. This paper proposes a novel method using an octree structure to organize point cloud in a 3D regular grid. The nodes of octree structure represent the cells of the 3D grids, which can be accessed easily and quickly based on a designed 3D array index. Two 3D plane extraction methods, named split & merge and 3D region growing, are proposed. These two methods fully explore the designed octree structure of point cloud. The plane extraction methods are practicable to both airborne and ground-based Lidar data. Test data include an airborne Lidar data set containing points of multiple echoes and a combined point cloud data set from several scan stations of ground-based Lidar were processed. The test results show meaningful feature extraction from lidar data. This study provides a stepping stone for the extraction of spatial information from lidar data.