Traffic congestion in urban environments has severe influences on the daily life of people. Due to typical recurrent mobility patterns of commuters and transport fleets, we can detect traffic congestion events on selected hours of the day, so called rush hours. Besides the mentioned recurrent traffic congestion, there are non-recurrent events that may be caused by accidents or newly established building sites. We want to inspect this appearance using a massive Floating Taxi Data (FTD) set of Shanghai from 2007. We introduce a simple method for detecting and extracting congestion events on selected rush hours and for distinguishing between their recurrence and non-recurrence. By preselecting of similar velocity and driving direction values of the nearby situated FTD points, we provide the first part for the Shared Nearest Neighbour (SNN) clustering method, which follows with a density-based clustering. After the definition of our traffic congestion clusters, we try to connect ongoing events by querying individual taxi identifications. The detected events are then represented by polylines that connect density core points of the clusters. By comparing the shapes of congestion propagation polylines of different days, we try to classify recurrent congestion events that follow similar patterns. In the end, we reason on the reasonability of our method and mention further steps of its extension.