Increase precision of points, lines and shapes by translating them clo…
…ser to the Pixel Origin.
See this issue (#137) for an explanation of the code.
This branch aims to resolve #137, #54 and #119.
This is using the map center (map.getCenter()) as a best guess at where the "precision center" should be located.
Other options could be to use the data/geojson centroid, or to pass in a LatLng pair as an argument.
Hello, How about the global approach with emulating double-precision webGL shown in Double precision on WebGL for mapping centimetric points #54.
Hi @kkdd. Yeh, double precision in WebGL would be a better solution overall as it would give high precision for the whole map. Although, I don't know enough about shaders to do this, also it might affect the performance of the plugin as a lot more computation is being done in the shader.
The solution in this pull request doesn't change the shaders in any way and will have a negligible impact on performance as it is only changing a few lines of code. It should be enough for most use cases.
Whatever the case, this is what I am using to plot high precision points, so thought I'd share it with the group.
Hello, RayLarone. Thank you for your comment. I see that the performance should also be important factor, as you mentioned.
This PR breaks unit tests. Could you fix those, and commit? Then I can merge.
Hi @robertleeplummerjr. Sure, although apologies, I'm a data analyst not a programmer so maybe I'm not fully understanding the unit testing. What do you mean by this pull request breaks unit tests?
When I clone this branch, run npm i and then yarn test I get the message:
Test Suites: 11 passed, 11 total
Tests: 249 passed, 249 total
Snapshots: 0 total
Time: 5.696 s
Ran all test suites.
Done in 6.85s.
How can I see which unit tests need addressing so I can fix the issues?
Perhaps I had a premature failure when I tested it. I'm away this week but next I'll look into merging.
@robertleeplummerjr please look into merging again :)
The build and tests run without errors for me.