<html><head></head><body><div class="gmail_quote">Il 19 giugno 2017 11:19:05 CEST, Giovanni Manghi <giovanni.manghi@gmail.com> ha scritto:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">Hi Nyall,<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> Our (hopefully friendly!) rivalry on this point continues :) I think I<br /> can win you over for 3.0 when we widely rollout the massive benefits<br /> which are possible only in native algs, such as the support for<br /> dynamic parameters. But we'll see....</blockquote><br /><br /> By the way - I'd love to see you re-run your earlier benchtests after<br /> of native vs non-native algs after<br /> <a href="https://github.com/qgis/QGIS/pull/4707">https://github.com/qgis/QGIS/pull/4707</a> is merged! For me that PR makes<br /> a ridiculously huge improvement in using processing with memory<br /> layers.<br /></blockquote><br /><br />I waited a Windows osgeor4w master build that included your new native<br />c++ dissolve tool.<br /><br />I tested it (on the same platform and conditions) against qgis 2.18.9<br />nightly, that also write debug output.<br /><br />Using<br /><a href="https://www.dropbox.com/s/ncj4ysh15xrnm45/caop.zip?dl=0">https://www.dropbox.com/s/ncj4ysh15xrnm45/caop.zip?dl=0</a><br /><br />and dissolving by "distrito" the ogr2ogr based tool is 2/3 seconds<br />faster than the new native one.<br /><br /><br />Using:<br /><a href="https://www.dropbox.com/s/qr8md49cy5u8vrf/clip.zip?dl=0">https://www.dropbox.com/s/qr8md49cy5u8vrf/clip.zip?dl=0</a><br /><br />which is a clip of a much larger and complex layer, and dissolving by<br />"aaaaa" (sorry for the column name), the ogr 2ogr based tool does the<br />job in about 20 seconds.<br /><br />The new native dissolve tool runs for a split second and outputs a few<br />polygons in vastly incomplete result.<br /><br />Trying to dissolve all polygons (and operation that the ogr2ogr based<br />tool does with no issues) with the native tool it results in a python<br />error and and infinite running hourglass.<br /><br />```<br />An error has occurred while executing Python code:<br /><br />SystemError: returned a result with an error set<br />Traceback (most recent call last):<br />  File "C:/OSGEO4~1/apps/qgis-dev/./python/plugins\processing\tools\<a href="http://dataobjects.py">dataobjects.py</a>",<br />line 84, in raise_error<br />    'Features with invalid geometries found. Please fix these<br />geometries or specify the "Ignore invalid input features" flag'))<br />processing.core.GeoAlgorithmExecutionException.GeoAlgorithmExecutionException:<br /><br /> Message:<br />  | Features with invalid geometries found. Please fix these<br />geometries or specify the "Ignore invalid input features" flag<br /><br /> Stack:<br /><br />    None<br /><br />The above exception was the direct cause of the following exception:<br /><br />Traceback (most recent call last):<br />  File "C:/OSGEO4~1/apps/qgis-dev/./python/plugins\processing\gui\<a href="http://AlgorithmDialog.py">AlgorithmDialog.py</a>",<br />line 246, in accept<br />    result = executeAlgorithm(self.alg, parameters, context, feedback)<br />  File "C:/OSGEO4~1/apps/qgis-dev/./python/plugins\processing\core\<a href="http://GeoAlgorithm.py">GeoAlgorithm.py</a>",<br />line 338, in executeAlgorithm<br />    result = <a href="http://alg.run">alg.run</a>(parameters, context, feedback)<br />SystemError:  returned a result with an error set<br />```<br /><br />Interesting the massage<br /><br />"Features with invalid geometries found. Please fix these geometries<br />or specify the "Ignore invalid input features" flag"<br /><br />because the option is not available in the tool. I still strongly<br />argue that anyway -if it is really a problem of bad geometries- we<br />miss a clear suggestion and workflow to allow the user solve this<br />situation. In my point of view the option in such tools should not be<br />"skip the invalid geometries" but to *fix* them.<br /><br />cheers!<br /><br /><br />-- G --<br /><hr /><br />QGIS-Developer mailing list<br />QGIS-Developer@lists.osgeo.org<br />List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br />Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a></pre></blockquote></div><br clear="all">Thanks Giovanni, very interesting.<br>
All the best.<br>
-- <br>
Sent from mobile. Sorry for being short</body></html>