qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.39k stars 2.98k forks source link

QGIS Crash on activating Snapping corners and segment with Arcgis Feature server layer active #40612

Closed masterd212 closed 3 years ago

masterd212 commented 3 years ago

Hi,

While a Arcgis Feature server layer is active, and i activate the corners and segments option on snapping, *Edit I'm also editing in a temp layer. QGIS freezes immediately and wont respond. Because of the immediate freeze QGIS does not create a error report... :(

If you guys need any more information, i will be happy to provide you with anything you need.

QGIS Version:

QGIS-versie 3.10.12-A Coruña QGIS code revisie 75c848ffb1 Gecompileerd tegen Qt 5.11.2 Gebruikt nu Qt 5.11.2 Gecompileerd tegen GDAL/OGR 3.1.4 Gebruikt nu GDAL/OGR 3.1.4 Gecompileerd tegen GEOS 3.8.1-CAPI-1.13.3 Gebruikt nu GEOS 3.8.1-CAPI-1.13.3 Gecompileerd tegen SQLite 3.29.0 Uitgevoerd met SQLite 3.29.0 PostgreSQL Client Versie 11.5 SpatiaLite-versie 4.3.0 QWT versie 6.1.3 QScintilla2 Versie 2.10.8 Gecompileerd tegen PROJ 6.3.2 Gebruikt nu PROJ Rel. 6.3.2, May 1st, 2020 Versie OS Windows 10 (10.0) Actieve plug-ins van Python AnotherDXF2Shape; b4udignl2; batchvectorlayersaver; BGTImport; measuretracepoint; Mergin; pdokservicesplugin; pdok_locatieserver_locator_filter; qchainage; raster_tracer; SpreadsheetLayers; db_manager; MetaSearch; processing

image

roya0045 commented 3 years ago

Are you snapping to the feature layer itself?

masterd212 commented 3 years ago

no it freezes on activation of the option. It also freezes the other way around, so while snapping and the corner and segments is activated everything is okay until i activate the feature server layer.

roya0045 commented 3 years ago

Might be some bad interaction while checking with arcgis. You also experience lag and some crash when querying data through a vpn or any other online source due to various limiting factors.

masterd212 commented 3 years ago

If you mean lag as in the application, no, i rather do get some lag for the query to download and show up, sure, but i dont get crashes from querying, and while the corners and segment option isn't activated the layer will show the data and the application works fine.

Also in the first example the query was already finished, and i just checked, that when the layer is active but no objects are visible due to the visibility minimum is not being reached the freeze still occurs.

I also worked this way in the previous version and it worked like a charm.

nyalldawson commented 3 years ago

It's likely because it's trying to fetch the entire layer in order to do the snapping, and it's a large layer. How many features are there in the layer?

masterd212 commented 3 years ago

268.284 features

nyalldawson commented 3 years ago

There's your issue :smile:

There's two approaches to avoid this -- one would be to do a one time export of the data to a local file (I suggest using the "package layers" algorithm for this). The other would be to add the layer using the Data Source Manager and use the option to restrict the layer extent to a canvas extent:

image

masterd212 commented 3 years ago

There's your issue 😄

There's two approaches to avoid this -- one would be to do a one time export of the data to a local file (I suggest using the "package layers" algorithm for this). The other would be to add the layer using the Data Source Manager and use the option to restrict the layer extent to a canvas extent:

image

You hero! :D

roya0045 commented 3 years ago

@nyalldawson I always find it weird that some of those options were only available on some dialogs, I think it would be nice to have all provider options in the property dialog and just reset the connections on changes. Just a though, otherwise @masterd212 if this solves your problem could you close this?

nyalldawson commented 3 years ago

@roya0045 I totally agree!

masterd212 commented 3 years ago

Well after trying it just now i do have a question about it, after i added the layer its obviously using the current map extent as the boundairies, but is it possible to edit this region, because what it looks like to me is that when i am missing a few features, i have to delete and re-add the layer again, is there a simpler way of doing this? Otherwise im stuck with a lot of work editing the symbols and tags for everytime i have to edit the region...

roya0045 commented 3 years ago

I was assuming the extent requested would change with you map extent. If this is not the case you can either go with a bigger extent, import it multiple time with varying extent to have one layer per region. Or download the whole dataset if you have acess to it if its so critical for numerising. These would be my workaround.

masterd212 commented 3 years ago

thanks for the help guys, i'll figure something out. :D