Conversation
bratter
left a comment
There was a problem hiding this comment.
Couple of thoughts on the precision topic. Don't feel well equipped to comment on the versioning question given my use cases, but seems reasonable.
README.md
Outdated
|
|
||
| ## Precision | ||
|
|
||
| Although we make a reasonable effort for accuracy in our implementations, we are ultimately limited by the fact that we are handling GeoJSON data. |
There was a problem hiding this comment.
I would always use "precision" rather than accuracy given that the two concepts are subtly different.
README.md
Outdated
| Although we make a reasonable effort for accuracy in our implementations, we are ultimately limited by the fact that we are handling GeoJSON data. | ||
| For lots of consumer devices, GPS accuracy is within a few meters of the actual point. When using latitude and longitude, 6 digits after the decimal | ||
| works out to an [error around 10cm](https://datatracker.ietf.org/doc/html/rfc7946#section-11.2). Although libraries exist to provide arbitrary | ||
| precision math, we try to use JavaScript's built in numeric type (64 bit floating point) for performance reasons. |
There was a problem hiding this comment.
Consider "we use JavaScript's built in types for performance reasons."
I also wonder if we could add a suggestion along the lines of: "Where operations don't depend directly on lng/lat coordinates, it is often possible to increase the effective precision on small shapes by first transforming to a zoomed in projection, running an operation, then re-projecting to lng/lat." i.e., help people understand that there are alternatives. Just a thought.
|
We should also make it clear that we may bring in libraries that also need to be handled. Interestingly the first candidate here would be clipper2-ts, which can't really safely be polyfilled with the BigInt syntax. |
Based on how things are going with v7, I'd like to make several policy changes when we finally make the next major release. These changes should hopefully let us ship new code without being quite so restricted by compatibility demands.
Specifically:
This is intended as a starting point for all of the wording, happy to receive feedback and make this better.
cc @bratter