3

I am using QGIS 3.4.13 Madeira on Windows 10

I have an issue with the QGIS Contour Plugin. I have two point layers, they contain about 45'000 points in the exact same locations. The only differences between the layers are the attributes. I now want to create filled contours using the Contour Plugin.

With the exact same settings, the process works perfectly fine for one of the point layers. When I try the second one, the resulting temporary layer is left in editing mode and cannot be saved. It also displayes unfinished (see first and second screenshot below). There are no error messages showing during processing. The only message I get is when I try to save the layer (second screenshot). It seems there is a problem with one of the resulting layers.

I have already checked the following:

  • The point layers do not contain any points with missing values;
  • I have used the same classification settings for the contouring;
  • For some odd reason, the problem does not occur when I classify another attribute in the problematic shapefile...
  • The problem persists after a restart of QGIS.

Does anyone have an idea what could be the issue? Or how to fix it?

enter image description here

temporaryLayerLegend

savingError

Update 24.01.2020: The plugin always seems to be creating multipolygons. Saving to polygon works fine, if the plugin has worked correctly. In my case, the plugin failes to create all contour categories (in my example the dark blue category is missing...), thus the saving is also problematic.

4
  • Have you tried saving to GeoPackage?
    – Erik
    Commented Jan 23, 2020 at 14:38
  • 1
    @Erik, the problem isn't the saving part itself. This works fine, if the contour plugin does its job as desired. I have added this information to the question.
    – dru87
    Commented Jan 24, 2020 at 14:23
  • 1
    Maybe the plugin is creating an invalid geometry and QGIS refuses to commit the changes to the layer. What setting do you have defined in Settings ~> Options ~> Processing ~> General ~> Invalid features filtering ? Commented Jan 25, 2020 at 2:19
  • @GabrielDeLuca: good point - my setting was set to "stop algorithm execution when a geometry is invalid"...
    – dru87
    Commented Jan 27, 2020 at 7:22

2 Answers 2

2

As GabrielDeLuca pointed out - the problem seems to be related to invalid geometries being created by the plugin. Changing the invalid features filtering did not really help, but when I ran the interpolation on a slightly smaller subset of my input points, everything worked fine.

I guess the reason for the error was the test extent that I have selected.

Update 29.01.2020: I have noticed that the unfinished layers are more so a problem, if a subset of the data range is contoured. Instead of excluding say values from 0 to 0.1 through the contouring, better include it as a separate contour level and later remove it from the resulting shapefile.

1

You've created a scratch layer that's MULTIPOLYGON type, but you're saving to a POLYGON type, which is causing your problem as for some reason these aren't compatible. This typically means you have polygons with inner holes or rings which then feature additional polygons inside the ring, or are storing all features with the same contour as one giant, disconnected polygon even if multiple features exist.

I haven't used the contour tool so I have no idea if it gives you the option of selecting between polygon or multipolygon, but I would try the Vector -> Geometry Tools -> Multipart to Singlepart tool on your final layer (that's the menu structure) and then try saving again as that should in theory convert between the two polygon types.

1
  • thanks statto, but this seems not to be the issue, since saving works fine when the tool does its job properly. i have added this information in the question.
    – dru87
    Commented Jan 24, 2020 at 14:37

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.