Adding data from an ArGIS Online Map Service or Feature Service into a QGIS map project is fairly easy and quick in most instances.
Searching for GIS Data with ArcGIS Online
The home page for ArcGIS Online has a search function that lets you discover and access maps and data housed within Esri’s web-based mapping software. You can also browse maps, apps, and data layers by exploring Esri’s ArcGIS Living Atlas of the World data collection.
For this quick tutorial on how to add data from ArcGIS Online to a QGIS project, I am going to use the Public Land Survey System web map service as an example. The information page contains detail about the geospatial data being presented such as what agency or individual has created the data in the map services and the terms of use for the data.
Clicking on the blue “Open in Map Viewer” button lets you see the GIS data visualized and you can explore the data and click on the map to see the attribute data for individual features.
Importing GIS data from Esri’s ArcGIS Online to QGIS
When working with QGIS to integrate GIS data hosted via Esri ArcGIS Online, the first step involves selecting the appropriate map service or feature service. After you have pinpointed the correct service to use, the next task is to prepare the data for loading into QGIS.
To do this, you’ll need to copy the URL where the data is hosted. This important link is typically found at the bottom of the right column on most item detail pages on the ArcGIS Online platform.
Hover over the right of the URL listed and a mouse tip that says “copy” will popup. Click your mouse and the URL will be copied to your computer’s clipboard. You will need this URL saved to your clipboard so you can paste it into your QGIS project.
Related: How to Find the URL to an ArcGIS REST Server Layer and Add it to QGIS
Next, open up an existing or new QGIS project. From the top menu location, navigate to Layer –> Add Layer –> Add ArcGIS REST Server Layer…
From the Data Sources Manager interface that opens up, click on “New”. This will bring up another interface called the “Create a New ArcGIS REST Server Connection”.
In the box for name, type in whatever name you want for the layers you are about the add. For URL, paste in the URL you copied from the ArcGIS Online information page. At the bottom of the interface, find and click on the “OK” button.
Now you are ready to click on the “connect” button. After querying the map service, QGIS will display the map layers available to load into QGIS. Highlight the layers you want to add.
One thing to note is that the more layers you want to add, the longer it will take to add them to QGIS, especially if the layers are large or complex. For this tutorial, I am only going to add in the PLSS boundary layer.
Once you have the layers selected, hit the “Add” button to add the layers to your QGIS project. Next hit the “Close” button to dismiss the Data Source Manager interface.
The layers are now in your QGIS project. As you can see from this side-by-side comparison between ArcGIS Online and QGIS, the layer that was imported retains the same symbolizing and label formatting.
The attribute information is also directly accessible within QGIS.
Exporting the GIS data in QGIS
At this point, the data is being read directly from the ArcGIS Online map server. This can slow down your QGIS project if you’re working with a lot of data. One option is to export either a selection of the data or the entire dataset to use it locally.
Before exporting or using the GIS data, make sure you have verified that the terms of use are in accordance for how you want to use the data. Depending on the agency or individual who has created the data, the terms of use will vary and you don’t want to run afoul of infringement when using proprietary data.
For example, most U.S. Federal GIS data is in the public domain, so you will often see Terms of Use at the bottom of the ArcGIS Online page that states this:
Other data may have restrictions on the terms of use that may restrict the use to non-commercial or educational purposes:
To export the data, simply right-click on the dataset and navigate down to the Export menu option. If you have part of the dataset selected, you can opt to just export that selection. Otherwise select the “Save Features As…” menu option.
In the interface that pops up, click on the ellipse (…) to the right of the File Name box and navigate to the folder where you want to save the file. Type in the name you want to give the exported GIS data set and hit “save”.
Select the format you want to export the GIS dataset as – the default is ESRI shapefile but there is a long list of geospatial file formats you can choose from. There are other parameters such as the file’s map projection that you can also adjust if needed.
At the very bottom of the “Save Vector Layer As…” interface is a check box that by default is on to automatically load the exported layers into your QGIS map project. You can uncheck this is you don’t want it added to your QGIS project.
Hit the “OK” button to start the export process.
If you have a very large dataset you are exporting this can take a while. The status bar at the very bottom of the QGIS map project window lets you know the export progress:
Copy GIS data style in QGIS
The exported GIS data doesn’t retain the styling but you can quickly copy and paste the original styling and labeling from the ArcGIS Online layer.
To do this, right click on the ArcGIS Online layer from QGIS. Navigate to Styles –> Copy Style –> All Style Categories.
Next right-click on the newly exported file and navigate to Styles –> Paste Style –> All Style Categories.
Once you click on the “All Style Categories” option, the newly exported GIS data layer will now have the same symbolization and labeling as the original ArcGIS Online layer. You can also selectively decide which symbology or labels you want by selecting that option from the menu items.
And there you have it. A very quick and simple way to add in data from an ArcGIS Online map or feature service to QGIS.