The advance of GPS tracking technique brings a large amount of trajectory data. To better understand such mobility data, semantic models like “stop/move” (or inferring “activity”, “transportation mode”) recently become a hot topic for trajectory data analysis. Stops are important parts of tra- jectories, such as “working at office”, “shopping in a mall”, “waiting for the bus”. There are several methods such as velocity, clustering, density algorithms being designed to discover stops. However, existing works focus on well-defined trajectories like movement of vehicle and taxi, not working well for heterogeneous cases like diverse and sparse trajectories. On the contrary, our paper addresses three main challenges: (1) provide a robust clustering-based method to discover stops; (2) discover both shared stops and personalized stops, where shared stops are the common places where many trajectories pass and stay for a while (e.g. shopping mall), whilst personalized stops are individual places where user stays for his/her own purpose (e.g. home, office); (3) further build stop hierarchy (e.g. a big stop like EPFL campus and a small stop like an office building). We evaluate our approach with several diverse and spare real-life GPS data, compare it with other methods, and show its better data abstraction on trajectory.