With the advances in processor and memory technology, sensor nodes are likely to be widely deployed leading to creation of sensor networks involving a large number of sensors for monitoring and tracking data. In this paper, we study the problem of rate-based data collection and routing in the context of sensor networks. We consider networks wherein data sources are sampling/collecting data and making it available to potential consumers. Consumers may require data at rates that may vary for each consumer. The problem studied is that of constructing a data distribution tree to efficiently disseminate data at the required rate to each consumer. We first propose an algorithm based on breadth-first tree construction which operates in two phases. The first phase constructs a breadth first tree (by ignoring the rates) and the second phase assigns rates to the tree edges. Subsequently, we present a more efficient algorithm that constructs the tree in a single phase taking rates into account. We also study a variation of the problem taking into consideration weights of the edges. The algorithms have been evaluated using discrete event simulation and we present experimental results comparing the performance of the algorithms.