I am currently working on a set of data that defines restricted areas for use of photovoltaic modules.

This set of data amounts to 270.00 polygons in total [with their own geometry].

For simpler application in the future, I now want to dissolve the Layer to have just one polygon instead of almost 300.000. After running the dissolve function for an incredible 28h, it finally created an output layer. However, this layer can not be shown visually in QGIS, or used for further processes (even though it shows a data set of one polygon within the attribute table).

I already ran a geometry check on the layer which stated that the geometry of the input layer [undissolved layer] is flawed. I then buffered the layer by 0, and tried the geometry repairing extension to QGIS. Both could not solve the problem, and took tremendous time to do.

I also tried to cut the big layer in data sets of 20.000 and dissolve these layers, before putting them together in a layer again before dissolving this layer. This however, also didn't work and cost me a total of 2 weeks working on it.

Now I am wondering why the undissolved layer can be displayed by the program without any problem, but no algorithm [like dissolving] can be run on the layer.

Note that any of the algorithms can be run for the individual polygons within the layer, if run on one single polygon at a time [tested for 500 individual polygons out of the 270.000 total polygons]

How can I either repair the multipolygon player without swallowing all my computing power for another week, or effectively find the flawed polygons within the layer to repair them individually?

Is there an approach to simplify a layer that big without taking literal days?.

  • Have you tried the GRASS tools, either v.clean or v.dissolve or both? – johns Aug 12 at 13:51
  • no, i have not. I will try it. thanks – Philip Gatzlaff Aug 13 at 5:24

The 'Fix Geometries' tool is magical, this is my usual first step for fixing problems like this. It's in the Processing Toolbox under Vector Geometry. Run it on the original 270 polygons and then try dissolving them and see if that works.

If that doesn't work try the Check Validity tool under Vector > Geometry Tools. Again run this on the original 270. This will result in three output layers. If there are any features in the Invalid Output or Error Output layers then those are geometry problems that you need to fix. Once those are repaired try dissolving.

  • I tried the 'fix geometries' tool, as well as the Validity tool already which resulted in 1. fix geometries: Error message stating that the geometry cannot be repaired and 2. validity: having almost the entire layer put out as error layer, after 28h of rendering. – Philip Gatzlaff Aug 12 at 11:14
  • 1
    If the layer can't be repaired, the topology has to be really messed up, which means you need a step 0: generate the polygons with a tool that doesn't corrupt the topology. – Vince Aug 12 at 11:34
  • @PhilipGatzlaff what's the source of your data? – TeddyTedTed Aug 12 at 11:52
  • the layer is a collected set of data of layers provided through official sources and layers which have been build by colleagues of mine, all of which state their layers have correct geometry, but I guess I will start looking for invalid geometries there. My problem is though, that I cannot find the original layers provided by my colleagues, as those layers have partly been deleted from the GIS layer legend. – Philip Gatzlaff Aug 12 at 12:00

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.