Extracting features from crowd flow analysis has become an important research challenge due to its social cost and the impact of inadequate planning of high-quality services and security monitoring on the lives of citizens. This paper descriptively reviews and compares existing crowd analysis approaches based on different data sources. This survey provides the fundamentals of crowd analysis and considers three main approaches: crowd video analysis, crowd spatio-temporal analysis, and crowd social media analysis. The key research contributions in each approach are presented, and the most significant techniques and algorithms used to improve the precision of results that could be integrated into solutions to enhance the quality of services in a smart city are analyzed.