-
Notifications
You must be signed in to change notification settings - Fork 334
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
Map View and GeoPoints
archetype
#6561
Conversation
Awesome work! Sorry if it's a noob question, but how do I check this out?
|
New rerun needs rust version 1.79 while you have only 1.76. Update your rust toolchain and try it again. |
Ah, needed to update the |
Few changes we discussed:
|
I talked this one over with some folks and the desire is to keep ViewCoordinates separate and somewhat dedicated to interpretation of camera-orientation, as distinct from data semantics. I'm going to put together a proposal for a new archetype, probably named something like CRS (CoordinateReferenceSystem). We can start with this somewhat dedicated to the mapping use-cases, but I think it could be helpful for other things like CAD import where it might be useful to carry context like unit-sizes. |
Here's my proposal for adding a very simple CRS type as an indicator: #6601 |
The new The current cargo tree:
In
|
What is left from what we discussed:
For 1, I'm open to your suggestions. Should the feature be enabled or disabled by default? Either way, how should the CI/CD integration work? Should we test all features by default or test combinations of features? |
1b5568f
to
12d432d
Compare
@tfoldi nice work! Excited to see it merged :) |
Extended the nuScenes example with MapView to have at least one example using the new view: nuscenes_mapview.mp4 |
would this support plotting a scatter of points across the map (instead of a single point/track) ? from the PR seems yes a la |
yes, it does support multiple points |
good to know ! curious if team/egui has evaluated integrating cesium -> its rendering pipeline for large set of N points may be faster |
Hey, still very keen to see this. What's the current blocker? |
The same from my side, will it be continued? |
I’m open to continuing this, but it's largely dependent on the Rerun team's priorities. As you may have seen from the PR history, I tried to keep it up-to-date for a few versions but eventually paused due to the complexity involved. There are many moving parts in Rerun, and with so much auto-generated code and changing internals, maintaining consistency across view-related PRs isn’t straightforward. I received two key comments from @jleibs:
On June 22nd, I asked a few questions regarding these points, but since I didn’t receive any responses, so I paused further updates. That said, I’m happy to rebase the PR to the latest main branch if there’s a realistic chance it could be merged. |
@tfoldi First, thanks again for your contribution, and for putting up with our slow responses so far. With 0.19 out and the huge push on the dataframe and video fronts, we are now ready to focus on other areas—and this one is high up our list. Starting on Monday, I'll make it my priority to help you land this PR. Would you be willing to rebase it to latest main? My plan would then be to dive in, give it a thorough review, and help (including hands-on) to land it sooner than later.
Edit: users already have to explicitly opt-in by logging a new, specific |
crates/store/re_types/definitions/rerun/blueprint/archetypes/map_options.fbs
Outdated
Show resolved
Hide resolved
crates/store/re_types/definitions/rerun/blueprint/views/map.fbs
Outdated
Show resolved
Hide resolved
crates/store/re_types/definitions/rerun/blueprint/views/map.fbs
Outdated
Show resolved
Hide resolved
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.
Reviewing via request of @abey79
Walkers debug log is a bit spammy, we should add it to CRATES_AT_INFO_LEVEL
since in the dev environment we default to debug log level otherwise
It's a bit unclear to me which components/archetype should be marked as experimental if any. Blueprint / control of the map is very different from 2D view and we likely want to iterate to get them closer. But given that that likely means iterating on both it's probably moot.
I generally looked over the actual mechanics of the view only briefly and rough form, docs and whatever else caught my interest ;-)
Overall pretty amazing piece of work. There's a tiny bit more polish / surprise-reduction I'd like to see even on this first version, see comments :)
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.
🚢
Hi, maybe this is a little bit premature, but I would very much like to use these functionalities soon. Do you have any estimates on when there's going to be an official release with these changes? |
We intend for that to happen relatively soon (couple of weeks ish), but no promises! There should however be at least a development build available sometime next week. |
GeoPoints
archetype
@samorr the latest development build should have this already now! :) |
Thanks! I will use it already tomorrow! 😁 |
What
Map Space View for GNSS/GPS data logged through new GPS Coordinates archetype.
rerun_mapview.mp4
re_space_view_map
crate for visualizingPoints3D
with gps coordinates.map_visualizer_system.rs
implements theVisualizerSystem
trait. It has only one meaningful function, that takes thePositions3D
components and turns intovec<MapEntry>
array along with optionalColor
andRadius
components. Thisvec<MapEntry>
is the only field of theMapVisualizerSystem
.map_space_view.rs
is where the magic happens. It useswalkers
slippy map implementation to show an OpenStreetMap or Mapbox map. On theselection_ui
you can change the map providers. To view Mapbox maps, you need to set mapbox tokens (you can get free tokens from Mapbox's site) and pass it via the env variable (MAPBOX_ACCESS_TOKEN
) or via the blueprintmap_windows.rs
is a small helper to show the zoom controls and acknowledgment on the UIs.MapProvider
component (enum with providers+styles), and aMapOptions
archetype.The logging of data is performed as follows:
The blueprint is defined as follows:
The PR is not perfect, but the view is usable.
Please review the changes and evaluate their potential utility for your needs. If you don't like, prefer not to merge just close it - no hard feelings.
To be discussed
f32
instead off64
. This makes it less precise than/NavSatFix
Checklist
To run all checks from
main
, comment on the PR with@rerun-bot full-check
.