To meet the Google Geocoding API server limit, we use the OpenCV K-mean method to classify the GPS points into 2500 area. I slightly modified the OpenCV K-means algorithm to perform the hierarchical classification by space and time.
Hierarchical GPS spatial clustering
Prepare GPS data table
Extend the search using the Google Places API