The trip graph, which can model the residents’ taxi demands, consists of vertices used to indicate trips and edges used to indicate the follow-up relationships between trips. A trip v_j is a tight follow-up trip of another trip v_i, if a taxi can arrive at the departure location of v_j within a time threshold delta after it finishes v_i. However, for big cities, there are a large amount of trips every day and it is time consuming to construct a trip graph. In this paper, we propose efficient algorithms to construct trip graphs for big cities. When constructing a trip graph, the most expensive step is to connect the vertices if the tight follow-up relationships exist. To find out the tight follow-up trips fast, we design an index considering both spatial and temporal constraints. To designate appropriate search areas, we propose efficient methods to determine the distance-based search areas and the traffic-based search areas. We conduct experiments on real datasets, i.e., the taxi trajectories of Shanghai in 2015. The experimental results show that our algorithm can construct the trip graph about 40 times faster than the straightforward method. We also demonstrate the usages of the trip graph in green transportation applications, i.e., the minimum fleet analysis and the minimum total “idle” mileage analysis.