Point clouds obtained from laser scanning techniques are now a standard type of spatial data for characterising terrain surfaces. Some have been shared as open data for free access. A problem with the use of these free point cloud data is that the data density may be more than necessary for a given application, leading to higher computational cost in subsequent data processing and visualisation. In such cases, to make the dense point clouds more manageable, their data density can be reduced. This research proposes a new coarse-to-fine sub-sampling method for reducing point cloud data density, which honours the local surface complexity of a terrain surface. The method proposed is tested using four point clouds representing terrain surfaces with distinct spatial characteristics. The effectiveness of the iterative coarse-to-fine method is evaluated and compared against several benchmarks in the form of typical sub-sampling methods available in open source software for point cloud processing.