This 'approximate' will not work for many agencies. Firstly because some do not even publish shapes, secondly because the shape distance is not used in fare calculation, thirdly rounding errors.

The main reason why we can't publish the price is because of a "startup cost" encoded in "price". The distance-based price is a surplus to that.