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 Living Atlas collection.
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
Once the appropriate map service or feature service has been identified, it’s time to load the data into QGIS.
We need to fist copy the URL to where the data is hosted. At the bottom of the right column for most item detail pages, the URL is listed.
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.
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.
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.