A graph-based approach for modeling and solving the LiDAR filtering problem in urban areas is established. Our method consists of three steps. In the first step, we construct a graph-based representation of the LiDAR data, where either the Delaunay triangulation or the -nearest neighbors graph is used. Given a set of features extracted from LiDAR data, we introduce an algorithm to label the edges of this graph. In this second step, we define criteria to eliminate some of the graph edges and then use a connected components algorithm to detect the different components in the graph representation. Finally, these components are classified into terrain or objects. Different datasets with different characteristics have been used to analyze the performance of our method. We compared our method against two other methods, and results show that our method outperforms the other methods in most tests cases.