The identification of activity locations in continuous GPS trajectories is an essential preliminary step in obtaining person trip data and for activity-based transportation demand forecasting. In this research, a two-step methodology for identifying activity stop locations is proposed. In the first step, an improved density-based spatial clustering of applications with noise (DBSCAN) algorithm identifies stop points and moving points; then in the second step, the support vector machines (SVMs) method distinguishes activity stops from non-activity stops among the identified stop points. A time sequence constraint and a direction change constraint are applied as improvements to DBSCAN (yielding an improved algorithm known as C-DBSCAN). Then three major features are extracted for use in the SVMs method: stop duration, mean distance to the centroid of a cluster of points at a stop location, and the shorter of distances from current location to home and to the workplace. The proposed methodology was tested using GPS data collected from mobile phones in the Nagoya area of Japan. The C-DBSCAN algorithm achieves an accuracy of 90 % in identifying stop points in the first step, while the SVMs method is 96 % accurate in distinguishing the locations of activity stops from non-activity stops in the second step. Compared to other variants of DBSCAN used to identify activity locations from GPS trajectories, this two-step method is generally superior.