/rviz_satellite

Display internet satellite imagery in RViz

Primary LanguageC++Apache License 2.0Apache-2.0

rviz_satellite

Plugin for rviz for displaying satellite maps loaded from the internet.

Alt text

In order to use rviz_satellite, add this package to your catkin workspace.

Demo

The package contains a launch file for demonstration purposes. Use it to verify your installation and to get started:

roslaunch rviz_satellite demo.launch

The launch file will fake a GPS position in Philadelphia, USA and display Wikimedia Maps nearby. You can edit the longitude and latitude values in launch/demo.gps to change the position.

Check the Usage section below to learn how to use the position of your robot and a satellite map.

Usage

Add an instance of AerialMapDisplay to your rviz config.

The Topic field must point to a publisher of sensor_msgs/NavSatFix.

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, we only support the OpenStreetMap convention for tile URLs. This e.g. implies that only raster tiles (no vector tiles) are supported.

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 blocks to load. rviz_satellite will load the central block, and this many blocks around the center. 8 is the current max.
  • Frame Convention is the convention for X/Y axes of the map. The default is maps XYZ to ENU, which is the default convention for libGeographic and ROS.

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.