1

I'm new to QGis and working on some land register's datas.

I tried to load an Oracle spatial layer, but with more than 600k rows, it took a very long time to process, when it didn't crash.

After the layer has loaded and cached, I'm able to work with, but I'd like to find a solution to use it without waiting 10 minutes or more (with a good computer).

Is there a way to generate an approximative tile system wich would load datas on the fly, depending on the actual view boundaries and scale ?

1

I don't work with QGIS but I assume it is able to take advantages of the spatial indexing provided by the database, i.e. only load those features that are in your current viewport. This happens on the fly. There is no need to design anything for that.

Maybe you need to tick a box in your table definition in QGIS to say "use spatial index". But I would expect that to be active by default ...

Now, of course if your workflow is such that the initial viewport covers the entire region you are working on, and includes all of our 600,000 features, then indexing won't help: QGIS will just send a query to fetch everything (still using the spatial index). The solution then is to only make that layer visible when you are zoomed in close enough to make sense to view it.

| improve this answer | |
  • It is likely to be what I need, I'll take a look at those spatial index usages. For the hiding option however, it seems not to work. The first time I show the layer, I assume the 600k entities are loaded in memory (taking several minutes). After that of course, I can work properly without much processing. – Mlikaon Jun 28 '16 at 11:13
-1

I migrated all my datas from Oracle to PostGIS. The result is outstanding. I can now load and visualize everything on the fly.

I assume PostGIS is handling spatial datas with much more efficiency, or QGIS is shaped for PostGIS.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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