rerun-io / rerun

Visualize streams of multimodal data. Fast, easy to use, and simple to integrate. Built in Rust using egui.
https://rerun.io/
Apache License 2.0
6.26k stars 292 forks source link

Support Geo data type #4325

Open stobias123 opened 9 months ago

stobias123 commented 9 months ago

would love to be able to plot lat/lon points on a map like openstreetmap.

Is your feature request related to a problem? Please describe. I'm using the product to track some devices and predictions related to them as they move around a large area.

Describe the solution you'd like Would love to be able to plot the lat/lon reported by my device over time.

Describe alternatives you've considered

Additional context

Wumpf commented 9 months ago

Thanks for filing this! Was surprised we didn't have a ticket for this already!

Related:

swarmt commented 9 months ago

If you only want to be able to display WGS84 coordinates, the simplest way I can think of would be to provide a view origin (lat, lon, alt) that becomes your cartesian origin (0, 0, 0) then use an ENU frame. A good starting point for rust would be map_3d.

At smaller scales the ellipsoid to ENU frame separation is probably negligible (~8cm / km).

@stobias123 if you want to display the coordinates now, you could use pymap3d prior to logging to rerun to compute a cartesian coordinate, see geodetic2enu.

swarmt commented 9 months ago

If you want to display map tiles from a WMS, you would need to implement slippy map rendering.

journaux commented 4 months ago

cesium has a native c++ rendering library https://github.com/CesiumGS/cesium-native

but probably need to stick to webgl in rust https://github.com/paulkernfeld/glx

tfoldi commented 3 months ago

I started to build a custom view for showing OSM/Mapbox maps, I can craft a PR if someone is interested

image

image
tfoldi commented 3 months ago

here it is: #6561

It uses walkers map crate (an egui based slippy map) to show map tiles in rerun space view.