[Qgis-user] Howto: load ArcGIS "mapserver" raster layers

Alister Hood Alister.Hood at synergine.com
Thu Aug 23 17:43:57 PDT 2012


Hi everyone,
I don't think anyone around here has ever explained how to add raster ArcGIS "mapserver" layers from servers which provide a REST interface.  As far as I know, there is no way to just load them with a url directly from the QGIS gui, but they can be handled by the GDAL WMS driver, and thus can be loaded in QGIS.
 
Firstly (and the most difficult part) you need to find the URL for the REST service for your layer.  E.g. you might want to use a layer that is available in the ESRI "Maps for Personal Use" web map at:
http://www.arcgis.com/home/webmap/viewer.html?useExisting=1
Hopefully with a little googling you will be able to find the address where you can browse the "ArcGIS services directory" of your favourite ArcGIS server.  In this case it is: http://server.arcgisonline.com/ArcGIS/rest/services/

Find the layer that you are after, and now you have two options:

1. You can create a GDAL "service description" XML file, and open it with QGIS.
E.g. try this file:
http://www.gdal.org/frmt_wms_arcgis_mapserver_tms.xml
Or e.g. save the XML code pasted at http://trac.osgeo.org/mapserver/ticket/3804 and try it.

2. You can create a .vrt file (which requires less thinking), and open that with QGIS.
E.g. find the raster layer you want in the ArcGIS services directory, and get the URL for its REST interface, which should be at the bottom of the page, under "Supported Interfaces".  The gdal utilities can just use this URL (since GDAL 1.9), so you can simply create a .vrt like this:
gdalbuildvrt test.vrt "http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer?f=json&pretty=true"

Of course, you will need to check the restrictions on what you are legally allowed to do with any particular layer.  

And if you are wondering: as far as I know there is currently no way to load _vector_ ArcGIS "mapserver" layers, or ArcGIS "globeserver" or "featureserver" layers (except for manually writing a query URL.  i.e. you can't use their REST services).

Regards,
Alister





More information about the Qgis-user mailing list