From Pune Open Data portal, we have lat-long data of bus stops, but it is non-unique and heavily repeating in some cases. The BRT stops were there in a separate unique list so they are easy to pry out, but the larger dataset of non-BRT stops needs work.
Geohashes resolve lat-long values into square areas. So, a pair of lat-longs that are very close to each other but not the same can be resolved to belong to the same geohash. So, this could be a way of clustering the stops data. Links: