-
Notifications
You must be signed in to change notification settings - Fork 321
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
add Geocentric and Local Cartesian projectors #244
add Geocentric and Local Cartesian projectors #244
Conversation
@mantkiew thanks! Briefly browsing through: would you please add tests? |
@m-naumann I added the tests and mentioned the new projectors in the README and CHANGELOG as well. BTW. We are using these extensions/fixes from my PRs in this project: Additionally, the WISE ADS now also depends on these projectors We previously used Lanelet1 but we're now migrating to use Lanelet2. |
Just wanted to comment about the need for alternative projectors: in our WISE ADS stack, we always use |
Thanks a lot! And nice to see the usage. You'll certainly not regret the update to lanelet2 ;) And at least I personally can back your call for correct elevation consideration. Could you also add tests for the python bindings (even though we didn't provide them initially, we should try to increase as much covered code as possible). And please bear with us for a bit, we need to get a public CI pipeline up and running again, such that static code analysis is available on github and there is no longer a need to report issues from the internal pipeline. |
@m-naumann I have added the tests. Note that the values coming back from the projectors have to be rounded for comparison. The maximum number of decimals that work is I believe that is ready to be merged. |
@m-naumann on the second thought: maybe we should round the values to the eight decimal ourselves in the API? That would take away the burden from the user. |
This PR is stale because it has been open for 90 days with no activity. Is this PR still work in progress? If yes, mark it as "WIP" or comment, otherwise it will be closed in 30 days. |
This is now done, @mantkiew would you please merge master into your branch to have the pipeline running for this PR? |
Wonderful! Glad to finish this up. On it.... |
@m-naumann All GitHub actions have successfully completed in my repository. You have to allow them here. |
@m-naumann the test job on noetic fails with some nonsense |
This is a bug in the new CI, once #259 is merged it should also pass here. |
…d_local_cartesian_projectors
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm adding a few comments. Sorry for taking so long. Once these points are resolved, we can finally merge this PR.
lanelet2_projection/include/lanelet2_projection/LocalCartesian.h
Outdated
Show resolved
Hide resolved
lanelet2_projection/include/lanelet2_projection/LocalCartesian.h
Outdated
Show resolved
Hide resolved
lanelet2_projection/include/lanelet2_projection/LocalCartesian.h
Outdated
Show resolved
Hide resolved
@poggenhans ok, this is now ready to go. |
@poggenhans hi, anything preventing this to be merged? |
The UTM projector creates shifts in projected maps relative to actual world positions.
Added Geocentric (ECEF) and LocalCartesian projectors from geographic lib as available projectors.
These projectors have the advantage over the UTM projector in that they properly use lat/lon/alt to compute XYZ using WGS84 ellipsoid, whereas the UTM projector only uses lat/lon to convert into X/Y/Z on the ellipsoid and just adds elevation, which is incorrect.
In the image above, the point P' is the shifted point created by the UTM projector, compared to the correct point P.