nobleo / rviz_satellite

Display internet satellite imagery in RViz
Apache License 2.0
545 stars 231 forks source link

Only map levels up to 11 are properly retrieved from MapQuest for some locations #24

Closed skohlbr closed 8 years ago

skohlbr commented 8 years ago

When trying out the plugin for a location I'm interested in, I noticed that it only properly downloads map data from level 1 to 11. All others show grey image tiles with a crossed out camera. When viewing the same location on map quest, it is obvious higher resolution data than level 11 is available: http://mapq.st/29F0sQV

It seems that MapQuest did some API changes (the old URL says something that in July 2016 they switch to a new site). So maybe what I observe is related to that. Any hints are appreciated, at map level 11 is basically unusable.

Here's a bagfile with NavSatFix data that can be used to reproduce the issue: 2016-07-11-20-27-13.bag.zip

skohlbr commented 8 years ago

Fun stuff, just tested in simulation and now get this: rviz_map_quest

It seems this is a bigger problem with MapQuest that could require some major changes.

skohlbr commented 8 years ago

Here's the blog post: http://devblog.mapquest.com/2016/06/15/modernization-of-mapquest-results-in-changes-to-open-tile-access/

tl:dr: One needs to register now to still be able to access tiles. 15000 monthly transactions are free.

skohlbr commented 8 years ago

These tile URLs worked as a quick fix for me (not satellite, but better than nothing): http://tile.stamen.com/watercolor/{z}/{x}/{y}.jpg http://tile.stamen.com/toner/{z}/{x}/{y}.png http://a.tile.thunderforest.com/landscape/{z}/{x}/{y}.png

gareth-cross commented 8 years ago

Did a quick investigation into this. Seems like even w/ the MapQuest key, the old tile URL does not work anymore. They do still provide tile access through the Leaflet/JavaScript API, documented here.

However, upon further inspection, the access point for their JavaScript API (listed as MapQuest JavaScript SDK) simply converts the key into a MapBox access token and returns a wrapper script that queries MapBox. Apparently MapBox now backs all the tile requests for MapQuest.

No point in going through MapQuest anymore. With a MapBox account (mine is currently free trial) I am able to access the satellite imagery w/ the URL:

http://a.tiles.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.jpg?access_token=<TOKEN>

where <TOKEN> is my public access token, accessible from the API Access Tokens section of the account page.

Let me know if that works for you and we can update the documentation.

skohlbr commented 8 years ago

Thanks for the update! I can confirm things work for me using the URL with the access token at the end.