ArcMap Open Carto 2 WMTS not displaying in QGIS
Interesting. I was able to reproduce the problem, which gave the following output in the wms
tab of the logger:
2020-12-09T15:15:33 WARNING Tile request error (Status: 200; Content-Type: text/html;charset=utf-8; Length: 1580; URL: http://tiles.arcgis.com/tiles/qHLhLQrcvEnxjtPr/arcgis/rest/services/OS_Open_Carto_2/MapServer/WMTS/tile/1.0.0/OS_Open_Carto_2/default/default028mm/8/28/38.png)
2020-12-09T15:15:33 WARNING Tile request error (Status: 200; Content-Type: text/html;charset=utf-8; Length: 1580; URL: http://tiles.arcgis.com/tiles/qHLhLQrcvEnxjtPr/arcgis/rest/services/OS_Open_Carto_2/MapServer/WMTS/tile/1.0.0/OS_Open_Carto_2/default/default028mm/8/29/38.png)
2020-12-09T15:15:33 WARNING Tile request error (Status: 200; Content-Type: text/html;charset=utf-8; Length: 1580; URL: http://tiles.arcgis.com/tiles/qHLhLQrcvEnxjtPr/arcgis/rest/services/OS_Open_Carto_2/MapServer/WMTS/tile/1.0.0/OS_Open_Carto_2/default/default028mm/8/30/38.png)
2020-12-09T15:15:33 WARNING Tile request error (Status: 200; Content-Type: text/html;charset=utf-8; Length: 1580; URL: http://tiles.arcgis.com/tiles/qHLhLQrcvEnxjtPr/arcgis/rest/services/OS_Open_Carto_2/MapServer/WMTS/tile/1.0.0/OS_Open_Carto_2/default/default028mm/8/30/42.png)
2020-12-09T15:15:33 WARNING Tile request error (Status: 200; Content-Type: text/html;charset=utf-8; Length: 1580; URL: http://tiles.arcgis.com/tiles/qHLhLQrcvEnxjtPr/arcgis/rest/services/OS_Open_Carto_2/MapServer/WMTS/tile/1.0.0/OS_Open_Carto_2/default/default028mm/8/29/40.png)
However, any of the urls link to a valid png image on the web.
Luckily, there are multiple ways of displaying ArcGIS rest maps in QGIS:
1. as a WMTS
this is what we tried.
2. As an ArcGIS MapService (thread)
this worked.
Layer
->Add Layer
->Add ArcGIS Map Service Layer
...- click
new
- Give a descriptive name and paste the URL. It should end on
/MapServer
so: https://tiles.arcgis.com/tiles/qHLhLQrcvEnxjtPr/arcgis/rest/services/OS_Open_Carto_2/MapServer OK
->Add
- done
3. As described in this wiki.
Using this method, you Should be able to get vector layers from Rest API as well. I could not get it working with the Open Carto Map (and have not tried it with others).
It seems it is not possible to use that specific service as a native WMTS one, but a workaround is to use it as a XYZ
tile service:
you will need to set this URL in the XYZ dialog:
https://tiles.arcgis.com/tiles/qHLhLQrcvEnxjtPr/arcgis/rest/services/OS_Open_Carto_2/MapServer/WMTS/tile/1.0.0/OS_Open_Carto_2/default/default028mm/{z}/{y}/{x}.png
please note that the CRS needs to be fixed (as EPSG:27700
)
As a reference, this URL from the same server works as a native WMTS layer:
https://tiles.arcgis.com/tiles/ULBqC49IEeIR01GF/arcgis/rest/services/Middle_East_Oil_and_Gas_Field_Map_by_CIA/MapServer/WMTS/1.0.0/WMTSCapabilities.xml?cacheKey=aec62228d3e2389d