manuelbieh / geolib

Zero dependency library to provide some basic geo functions
MIT License
4.21k stars 341 forks source link

Accuracy argument is excessive #306

Open Finesse opened 4 months ago

Finesse commented 4 months ago

As I can see, the accuracy argument in all functions ends up being used like this:

return Math.round(distance / accuracy) * accuracy;

It makes no sense to me, because this rounding is not necessary and it can be done outside the library. I thought the accuracy affects the execution time so user has to choose a compromise, but that's false.

The "problem" is it's hard to get the original distance value. This can be done by using accuracy equal Math.pow(2, -52). This is ridiculous.

One solution I see is removing the accuracy argument, but this is a breaking change. Another solution is allowing a new accuracy value like null or 0 that disables the rounding.