0

I am using a set of ArcGIS Feature Server layers in QGIS. I use QGIS to query the data in these layers and to symbolize the layers for export to print. In the past I had accomplished these tasks by downloading the data and accessing it from a local server. Now I would like to do as much as possible using the web ArcGIS Feature Server layers to stay up to date with periodic updates from the data provider. I have reviewed this question and this question, but would like to ask for a more specific answer.

What steps can be taken to improve rendering performance of ArcGIS Feature Server in QGIS 3.10.12.?

So far I have been changing the scale dependent visibility so that QGIS isn't constantly trying to render all of the layers at inappropriate scales. Are there other settings that can be manipulated to increased rendering performance? Would rendering performance be increased if the QGIS project is in the same projection as the Feature Server data?

2

Three questions here:

1) What steps can be taken to improve rendering performance of ArcGIS Feature Server in QGIS 3.10.12.?

2) Are there other settings that can be manipulated to increased rendering performance?

3) Would rendering performance be increased if the QGIS project is in the same projection as the Feature Server data?

ill answer out of order for simplicity

Question 3) In theory this should improve computational performance, but you would you notice this performance gain? probably not. Unless its doing a really complex computational reprojection on the fly, but I doubt it. But nothing stopping you and from a general best practice perspective, this would be best.

Question 2) on the QGIS side, not specifically. Go to Settings > Options > Rendering There are 'general' options there available which may or may not be turned on/off.

Question 1) - Almost all render performance improvements exist on the server side. There is no magical 'draw faster' option in QGIS sorry. There are some things you could try

  • Query Filters - Setup query filters to ensure you only render what you need
  • Symbolization - Only symbolize what you need
  • Map Scale settings - Only turn on map objects at appropriate scales (scale dependent visibility).

Some of the above items are also available to be implemented on the server side. eg: If you are constantly using a filtered subset of the data, you could ask the data publisher to make this as a new ArcGIS Feature Service layer.

IMO Strategically, i think you were right in the first instance. Its a bit full circle (and possibly me being all philosophical on GIS again) - I love the idea of Service Orientated Architected solutions, and ETL's bother me to no end. BUT - WMS and WFS (and the non-OGC ESRI equivalent) solutions have their limits. And for various instances, these will not suffice as a solution.

So one approach you could take is use the ArcGIS Feature Service, as a download solution.

Using whatever scripting/automation tool you like, you could schedule a data download from the Feature Service, into your database. This is an approach I have used in the past when reading/rendering direct from Feature Services (which only updated once a month) were not fast enough.

Not the answer you're looking for? Browse other questions tagged or ask your own question.