[QGIS-Developer] QGIS 3 > Processing: some test

Nyall Dawson nyall.dawson at gmail.com
Tue Jun 20 04:20:00 PDT 2017


On 19 June 2017 at 19:19, Giovanni Manghi <giovanni.manghi at gmail.com> wrote:

> I waited a Windows osgeor4w master build that included your new native
> c++ dissolve tool.
>
> I tested it (on the same platform and conditions) against qgis 2.18.9
> nightly, that also write debug output.
>
> Using
> https://www.dropbox.com/s/ncj4ysh15xrnm45/caop.zip?dl=0
>
> and dissolving by "distrito" the ogr2ogr based tool is 2/3 seconds
> faster than the new native one.

For comparison, how long did each take in total?

> Using:
> https://www.dropbox.com/s/qr8md49cy5u8vrf/clip.zip?dl=0
>
> which is a clip of a much larger and complex layer, and dissolving by
> "aaaaa" (sorry for the column name), the ogr 2ogr based tool does the
> job in about 20 seconds.
>
> The new native dissolve tool runs for a split second and outputs a few
> polygons in vastly incomplete result.

Hmm - works fine here. Can you try turning off the invalid geometry
checking in processing options? That's a little broken at the moment
(with the error you've noted below)

> Trying to dissolve all polygons (and operation that the ogr2ogr based
> tool does with no issues) with the native tool it results in a python
> error and and infinite running hourglass.

Same as above - can you switch off the processing geometry check
option and retest?

> Traceback (most recent call last):
>   File "C:/OSGEO4~1/apps/qgis-dev/./python/plugins\processing\gui\AlgorithmDialog.py",
> line 246, in accept
>     result = executeAlgorithm(self.alg, parameters, context, feedback)
>   File "C:/OSGEO4~1/apps/qgis-dev/./python/plugins\processing\core\GeoAlgorithm.py",
> line 338, in executeAlgorithm
>     result = alg.run(parameters, context, feedback)
> SystemError:  returned a result with an error set

Yes - this error is on my list. There's a python exception being
thrown which messes with some c++ code.

> "Features with invalid geometries found. Please fix these geometries
> or specify the "Ignore invalid input features" flag"
>
> because the option is not available in the tool.

Outdated message ;) It's refering to the option in processing settings.

> I still strongly
> argue that anyway -if it is really a problem of bad geometries- we
> miss a clear suggestion and workflow to allow the user solve this
> situation. In my point of view the option in such tools should not be
> "skip the invalid geometries" but to *fix* them.

That should be really straightforward to add to the feature iterators
now. But alternatively there's a processing alg which repairs
geometries too (not in master yet, but in earlier 3.0 builds).

Nyall


More information about the QGIS-Developer mailing list