Skip to content

Kettenhoax/rviz_satellite

 
 

Repository files navigation

rviz_satellite

Rviz plugin for displaying satellite maps at the position of a sensor_msgs/msg/NavSatFix message.

Usage

Add an instance of AerialMap to your Rviz config and point it to a sensor_msgs/msg/NavSatFix topic.

Map tiles will be cached to $HOME/.cache/rviz_satellite. At present the cache does not expire automatically - you should delete the files in the folder if you want the images to be reloaded.

Currently, the OpenStreetMap convention for tile URLs is supported. This e.g. implies that only raster tiles (no vector tiles) are supported.

To try a demo, run the following commands to make Rviz circle around a geo point you define.

rviz2 -d $(ros2 pkg prefix --share rviz_satellite)/launch/demo.rviz
$(ros2 pkg prefix --share rviz_satellite)/launch/publish_demo_data.py LATITUDE LONGITUDE

You should see a view like the following. Here, the coordinates are 48.211486, 16.383982 (Vienna), using OpenStreetMap tiles.

Rviz view with updating aerial map

Tile servers

You must provide a tile URL (Object URI) from which the satellite images are loaded. The URL should have the form http://server.tld/{z}/{x}/{y}.jpg. Where the tokens {z}, {x}, {y} represent the zoom level, x coordinate, and y coordinate respectively. These will automatically be substituted by rviz_satellite when making HTTP requests.

rviz_satellite doesn't come with any preconfigured tile URL. For example, you could use one of the following tile servers:

For some of these, you have to request an access token first. Please refer to the respective terms of service and copyrights.

Options

  • Topic is the topic of the GPS measurements.
  • Alpha is simply the display transparency.
  • Draw Under will cause the map to be displayed below all other geometry.
  • Zoom is the zoom level of the map. Recommended values are 16-19, as anything smaller is very low resolution. 22 is the current max.
  • Blocks number of adjacent tiles in addition to the center tile to load, 8 maximum.
  • Timeout specifies a timeout since the last received message timestamp, after which the map will be faded out; disable by setting to 0.

Support and Contributions

In case of questions or problems, do not hesitate to open an issue.

Contributions are welcomed. Please add a summary of your changes to the changelog under the section Forthcoming.

Icon copyright

The icon was downloaded and edited from svgrepo, originally licensed under CC0.

About

Display internet satellite imagery in RViz

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 91.0%
  • Python 5.1%
  • CMake 3.9%