2

I work for a local authority so use data covering a large area. Therefore some datasets I use become large and cumbersome.

For example I have a vector layer for contours and a raster layer for hillshade. As I am relatively inexperienced I created Booth of these of a series of tiled points and created a single file. I am happy with the results but performance is slower.

What are the main options available to improve the performance of the vector layers for a single user on one PC and for a team? This should allow me to both display and analyse the data efficiently.

What are the main options available to improve the performance of the raster layer?

4
  • Do you have access to a server, so you could host your own WMS? Could you reduce the resolution of the DEM/countour layer? What do you mean by "I created both of these of a series of tiled points and created a single file"? Aren't they two files? Why do you actually need hillshade? Would it be feasible to turn on these layers only when you really need them?
    – Erik
    Commented Sep 12, 2019 at 9:32
  • To improve performance of a raster layer in qgis, convert it to a single GeoTiff and add external overviews (fastest) or a virtual raster with external overviews (generally fast). You can create a virtual raster then save it as a GeoTiff. Overviews are created in the properties view (right click the layer).
    – vinh
    Commented Sep 12, 2019 at 15:52
  • You could try creating a geopackage. This uses a sqlite database and can include optimisations for both vector (spatial index) and raster (overviews and internal tiles).
    – vinh
    Commented Sep 12, 2019 at 15:54
  • In addition to the suggestions to build a spatial index for vectors and pyramids for rasters , you might check out Settings - Options - Rendering for some settings that affect rendering speed. You can generalize/simplify vectors like contours (those from LiDAR are often quite noisy) as well. If you have rasters with complex symbology, especially 32 bit floating point, converting them to rendered 8 bit can greatly improve speed. If you have complex labeling expressions, masking or locations, or complex symbology expressions or symbols, those can slow drawing.
    – John
    Commented Sep 12, 2019 at 17:12

3 Answers 3

6

For your contours, you can

For your raster, you can

4

The best way to manage your large datasets is to store them in a spatial database like PostGIS. The loading speed will be twice faster.

4
  • 1
    PostGIS will also allow you to do very fast spatial operations.
    – ragnvald
    Commented Sep 12, 2019 at 5:09
  • Thanks Simon, I don't know much about databases, so will check it out.
    – boberdorf
    Commented Sep 12, 2019 at 10:11
  • 1
    @boberdorf This answer is a bit of an over generalisation. Where I work, our very large datasets are stored in a remote spatial database (which is tuned for speed) and it's still way quicker to pull the data down to a local filesystem format to do anything with it. A local database may be quicker, but will have overhead in setting up and tuning.
    – user2856
    Commented Sep 13, 2019 at 0:44
  • Geoserver is not a spatial database.
    – user2856
    Commented Sep 14, 2019 at 2:49
0

Please check out PostGIS

Also you can access Postgres databases in QGIS

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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