On Mon, 20 Aug 2018 at 23:17, DelazJ <[email protected]> wrote: > > Good day devs, > > Today I was looking for an algorithm to create parallel lines in another > layer and a search provides me with many candidates. I found > > - "translate": creates one parallel feature moved at a specified x/y/z/m > offset distance > - "array of offset features": same thing than translate but generating the > parallel of the parallels up to the specified number of copies > - "offset lines": applies an offset to the features (from what I see, it's an > homothetic operation), generating one feature that is not a copy of the > previous (not the same length, if multiline eg) > - "create parallel lines": same as the offset lines tool but generating > multiple offsets. > > I have some concerns/questions: > > -"translate" vs "array of offset features": why not just add the "number of > features to create" parameter to the translate algorithm instead of having > created a new one? > - "offset lines" vs "create parallel lines": same question as above, in favor > of the offset lines algorithm
My personal preference is to keep individual algorithms as simple as possible, and have additional algorithms covering similar use cases. I prefer this over the GRASS/SAGA algorithm approach of having one algorithm with a multitude of parameters which interact in different ways. In this case the algorithms have been separated into "vector creation" algorithms (array of offset features, create parallel lines) vs "geometry modification" algorithms (translate, offset lines). There's also the consideration that the vector creation algorithms also include the original feature by design - if you wanted to do this same thing by adding a "number of features" to the translate/offset lines algorithm, then you'd either need to add *another* parameter for "include original feature" OR require users to do some manual feature copy/pasting to append the original feature to the new table. Neither option is desirable in my view. > - I'm pretty lost with the use of the word "offset" in those algs. I don't > know what it really implies in English but my understanding was more of a > translation than a homothety. It tooks me some time to sort out the above > explanation of the algorithms behavior: In general we've been trying to re-use PostGIS terminology for algorithms and expression functions. So "offset lines" algorithm = "offset_curve" expression function = ST_OffsetCurve PostGIS function. (so there's a bit of an issue here - the processing algorithm should be renamed "offset curves"... although that name would be a bit misleading, because the algorithm doesn't handle curved geometry types and forces everything to linear segments. But then, so does the offset_curve expression function and PostGIS' ST_OffsetCurve. Wooo!). > - Would that be possible to review the description and insert this > homothetic idea so that people understand clearly that one do copy the same > features and the other one may be different? Improving the algorithm's tags/short description/short help would always be appreciated! > with less algs, there will be less translation to do and I hope less > confusion around this concept. ...but I'm a strong -1 to squashing these operations into the same algorithm. > - and I still wonder if "create parallel lines" and "array of offset > features" are not inverted names: in my mind, "array of offset features" > sounds closer to "offset lines" than to "translate" which in turn is looks > closer to "create parallel lines". I dislike the name "array of offset features", but it was the best one Mathieu and I could think of. Maybe it should be "array of translated features"/"array of offset lines"? I'd be happy to accept a PR giving them better names! > - what about allowing polygons for the currently called "offset lines" and > "create parallel lines" algs? Isn't that basically the same as buffer/multi-ring buffer (followed by taking the boundary of the result). Nyall > > Regards, > Harrissou > _______________________________________________ > QGIS-Developer mailing list > [email protected] > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer _______________________________________________ QGIS-Developer mailing list [email protected] List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
