SemTraClus: an algorithm for clustering and prioritizing semantic regions of spatio-temporal trajectories