I'm working with a very large shapefile in QGIS 3.4. I only need one section of the layer (near the main city, not the areas outside it) and I'm trying to delete the large sections which I don't need. Unfortunately, QGIS keeps crashing (it's fine with all other operations). I got the following error message on the last crash:
Stack Trace RaiseException : _TypeMatch : RtlCaptureContext : QgsEllipseSymbolLayer::properties : QgsLineString::points : QgsCurvePolygon::coordinateSequence : QgsGeometry::convertPolygon : QgsGeometry::asMultiPolygon : QgsGeometryValidator::run : QThread::start : BaseThreadInitThunk : RtlUserThreadStart : QGIS Info QGIS Version: 3.2.3-Bonn QGIS code revision: 9b176802e5 Compiled against Qt: 5.9.2 Running against Qt: 5.9.2 Compiled against GDAL: 2.2.4 Running against GDAL: 2.2.4 System Info CPU Type: x86_64 Kernel Type: winnt Kernel Version: 10.0.17134
So far I've tried the following:
1) Deleting vertices in small batches 2) Deleting vertices in large batches 3) Exporting to GeoJSON and reloading the GeoJSON and repeating the above 4) Creating a new shapefile of a bounding polygon for the area I need and using the "clip" geoprocessing tool to isolate the section of the original shapefile I need in a new layer 5) Setting the canvas to the area I need and saving as a new layer using the "map view extent" option under "Layer" > "Save As"
None of the above have worked. The first three all result in QGIS crashing, the fourth does not create a correctly clipped new layer (to get this to run I have had to change "Invalid Features Filtering" to "Ignore features with invalid geometries"), and the fifth doesn't save the map view extent but instead saves the whole of the original shapefile.
I'm thinking option five is the best, but I cannot get it to save just the "map view extent". I have searched the forums for "map view" "map view extent" "canvas extent" but couldn't find anything about the issue. I've also tried this on two different computers but the results are the same.
Does anyone have any ideas?