The GeoServer option in Mathematica 11 can be used to get a Google-Maps satellite background in GeoGraphics; a very useful feature. E.g.

GeoGraphics[GeoCenter -> GeoPosition[{67.603, 161.976}], 
 GeoServer -> {StringTemplate[
    "http://i<*Mod[#2,4]+Mod[#3,4]*4*>.wikimapia.org/?x=`2`&y=`3`&\
zoom=`1`&lng=0"], "ZoomRange" -> {1, 22}}, 
 GeoRange -> Quantity[20, "Kilometers"], AspectRatio -> 1]

However, this fails if the domain is on (exotic?) coastlines, such as in north-eastern Siberia:

GeoGraphics[GeoCenter -> GeoPosition[{68.603, 161.976}], 
 GeoServer -> {StringTemplate[
    "http://i<*Mod[#2,4]+Mod[#3,4]*4*>.wikimapia.org/?x=`2`&y=`3`&\
zoom=`1`&lng=0"], "ZoomRange" -> {1, 22}}, 
 GeoRange -> Quantity[20, "Kilometers"], AspectRatio -> 1]

Is there a way to make this call foolproof for any location? Google Maps have respective tiles all over the world, including the ocean?

  • Without knowing how these tile servers work, from the error messages it appears that wikimapia is giving back tiles that are not uniformly sized in the non-working example. You should ask Alexey why his code is failing here – Jason B. Aug 15 '16 at 18:45
  • 3
    The error message complains about zoom level 10 so limit the zoom range "ZoomRange" -> {1, 9}} – Bob Hanlon Aug 15 '16 at 20:21

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.