Hi all, As you may be aware, I've been working on rebuilding the backend of Processing in c++ and refining how it operates.
As part of this I'd like to clear up the list of existing algorithms and also refine how they behave. This list of "QGIS" algorithms has grown organically during the 2.x cycle, and there's now numerous oddities in the selection of available algorithms and their options. This discussion relates to the "Convex Hull" algorithm. I'd like to: 1. Drop the "Field (optional, only used if creating convex hulls by classes)" option and the accompanying method choice used to set the convex hull to 'create convex hulls based on field'. My motivations here are: 1. Removing duplicate functionality - I believe the Convex hull should only operate on single features, and if users need Convex Hulls grouped by class they should first use one of the existing algorithms for collecting classes (such as dissolve or singleparts to multiparts) to collect the classes together. 2. Simplicity and efficiency of algorithm code - removing this option allows us to remove a bunch of inefficient code, which is better implemented in dissolve/singleparts to multiparts 3. Complying with the goal of keeping algorithms modular and focused on one particular task, and performing that task well 4. unlocking future performance gains. Ideally we want algorithms to operate feature-by-feature whenever this is possible. This will allow us (in some future piece of work) to implement feature pipes where features pass through models having operations performed to each feature in a chain (instead of the current approach of multiple temporary output layers). This isn't planned work (yet), but making this algorithm operate feature-by-feature now, while we have the luxury of API and model break, will allow it to use these optimisations in a future 3.x release. The "create convex hulls based on field" support prevents this algorithm from operating feature-by-feature. Thoughts? Nyall _______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer