If we are searching a geospatial data using any platform like Voyager Open Data Network (ODN), it will give many results. Frequently the result comes in ArcGIS REST API. What is ArcGIS REST API? ArcGIS REST API is a web service that published by ArcGIS Server to access a data. It just like other Open Geospatial Consortium (OGC) standard like Web Map Service (WMS), but the service is produced by ESRI ArcGIS Server instead of other GIS Server like Geoserver.
As it is a product of ESRI, of course it will work seamlessly with ArcGIS family software like ArcGIS Desktop. But what if we do not have access to ArcGIS software? How we can access a data in ArcGIS REST API? Fortunately Open Source GIS software QGIS has a tool to access a data in ArcGIS REST API which called Add ArcGIS Map Server Layer. Let's take a look how to do it.
1. To add a ArcGIS Map Server Layer, we are using a tool called Add ArcGIS Map Server Layer...... To get the tool just find menu Layer >> Add Layer >> Add ArcGIS Map Server Layer... as in figure 1.
Figure 1. Add ArcGIS Map Server Layer tool in QGIS |
2. Then it will open an Add ArcGIS Map Server window as in figure 3. Select New to create a new connection and fill the connection name and URL. For this case, I used an ArcGIS REST service from ESRI ArcGIS Online. If you visit the website, can be seen there are links under Folders and Services (see figure 2). In folder contains some dataset. So if we want to add Elevation data, we find it in Elevation folder. Meanwhile for services we can use it right away. But wait! It can't work in QGIS if we just put in the url the path: http://server.arcgisonline.com/ArcGIS/rest/services. We have to copy the url path direct to a service link with the end of url's name contains "MapServer". For that click a service link you want access. For example, I want to access World Imagery data, so I clicked a service link with the name World_Imagery and got the url path http://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer.
Figure 2. ESRI ArcGIS Online REST Service Page |
3. As in figure 3 gave the connection name World Imagery and fill the URL
path above http://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer. After finish click OK.
Figure 3. Create a new ArcGIS Map Server Connection |
4. Select the Connect button. If the server is responding, then it will populate all layers available in the service as in figure 4.
Figure 4. ArcGIS REST API Layer |
5. Select Word Imagery Layer, then click Add. The world imagery will be displayed in QGIS map window as in Figure 5.
Figure 5. World Imagery from ArcGIS REST Service |
6. Explore the imagery. Zoom in to get a better image resolution. To get the attribute information use the Identify Features tool. As in figure 6, we can see some attribute information from the imagery such as resolution, date, source, etc.
Figure 6. High resolution imagery from ArcGIS REST service |
That's the way how to use ArcGIS REST API service in QGIS. There are a lot of geodata out there across the globe that available online with ArcGIS REST API service. Even though we do not have ArcGIS family software to access or view the data, but QGIS provides the way to do it.