Discovering colocation patterns from spatial data sets: a general approach | Synapse