LIDAR, or laser scanning, has become a viable technique for the data collection of a large amount of accurate 3D points densely distributed on scanned surfaces of objects. The inherent 3D nature of the sub-randomly distributed point cloud provides abundant spatial information. To explore valuable spatial information from LIDAR data becomes an active research topic. For the applications of building reconstruction from ground based LIDAR and city modeling from airborne LIDAR, the most fundamental spatial information to be extracted are plane features. An automatic method was developed to extract plane features from LIDAR point cloud data. The proposed approach is to segment the LIDAR point cloud by using a three-dimensional (3D) splitting and merging segmentation based on an octree structure. In the splitting procedure, the point cloud will be continuously divided into the octree sub-space until in each octree sub-space contains points closely fitting a 3D plane. In the merging procedure, adjacent octree sub-spaces will be merged if the contained points closely fitting the same plane. After the process, a LIDAR data set can be segmented into point clusters of plane fitting and is organized in an octree structure. Attributes, such as boundary, area, gradient, roughness, intensity etc., of the extracted planes maybe derived for further analysis. Both ground-based and airborne LIDAR data are tested in this study. The test results show reasonable segmentation to validate the efficiency of the proposed method.