Hi,
We are indeed working on this, and there is internally some partial support for WMS. For example, take one of the free WMS servers listed in https://wiki.openstreetmap.org/wiki/WMS :
url = "http://ows.mundialis.de/services/service";
One needs to investigate the layers, projections, etc available in that server. The standard way to do this is fetching the "capabilities" file with something like:
Import[url <> "?request=getcapabilities&service=wms"]
The result is not easy to parse, so we provide some internal help:
In[]:= GIS`GeoServerData[url, "Version"]
Out[]= {"WMS Version: 1.1.1"}
In[]:= GIS`GeoServerData[url, "Layers"]
Out[]= {"Dark", "OSM-Overlay-WMS", "OSM-WMS", "OSM-WMS-no-labels", "SRTM30-Colored", "SRTM30-Colored-Hillshade", "SRTM30-Contour", "SRTM30-Hillshade", "TOPO-OSM-WMS", "TOPO-WMS"}
and there are some other properties.
In the end you can use something like the following, where you specify ranges of projected coordinates, the image size of the result and the geo server parameters. Note the specification of the geo protocol, with its version, and the choice of layer. The projection is specified via an EPSG code, in this case that of Mercator:
"Image" /. GIS`FetchWMSImage[Automatic, GeoImage,
"TileRange" -> 20000000 {{-1, 1}, {-1, 1}},
"RasterSize" -> {1000, 1000},
"GeoServer" -> {url, "CRS" -> "EPSG:3857", "GeoProtocol" -> {"WMS", "1.1.1"}, "Layer" -> "TOPO-WMS"}
]
We get something like this:
This will all be handled via GeoImage and GeoGraphics in a future WL version soon.