Discovering transition patterns among OpenStreetMap feature classes based on the Louvain method