-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement proper geodesic buffering #22
Comments
(Notice that there is the combination of two problems here, see #23) |
A good starting point for geodesic buffering is this exquisite paper "Algorithms for geodesics" by Charles F. F. Karney, where modern algorithms to compute the direct and inverse problems of the geodesic distance are developed: https://arxiv.org/abs/1109.4448 (discovered from https://www.wikiwand.com/en/Vincenty%27s_formulae) An undocumented version of the direct problem is implemented in GeoPy: and also in Pyproj: |
Hit by this today, I might try and fix it. |
Fix satellogic#22. No tests yet.
There is a broader question here, that is: what to do with an operation that produces a result that is not representable in the original CRS? This is exactly the case of the geodesic buffering: imagine that we have a point in EPSG:3857 close to 85 deg latitude. If we do a big buffer, the result can contain the pole, which is not representable in EPSG:3857 anymore. Naturally we would "cut-off" this part for visualization, but what about for storing it? Options:
More ideas? |
Cartopy already visualizes it correctly: But the core problem of telluric is still that a
Complete notebook: https://nbviewer.jupyter.org/gist/Juanlu001/a01e396e2364274a4a50af61eb15f6ce |
See also #154. |
Expected behavior and actual behavior
When doing
GeoVector.buffer
the user would expect for proper geodesic buffering to happen, as described in this article:https://www.esri.com/news/arcuser/0111/geodesic.html
Instead, the wrong result is displayed.
Steps to reproduce the problem
Operating system and installation details
Linux, latest telluric.
The text was updated successfully, but these errors were encountered: