1
$\begingroup$

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?

$\endgroup$
  • $\begingroup$ 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 $\endgroup$ – Jason B. Aug 15 '16 at 18:45
  • 4
    $\begingroup$ The error message complains about zoom level 10 so limit the zoom range "ZoomRange" -> {1, 9}} $\endgroup$ – Bob Hanlon Aug 15 '16 at 20:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.