Skip to content

Algorithm improvements #9

@AlisterH

Description

@AlisterH
  1. Placement of rectangles could be improved. This example shows it clearly (even though this kind of input layer isn't really the use case for the plugin); these rectangles would ideally have been placed with their centroid at the location of the points in the input layer:
    image
    It is interesting that the regular and irregular coverage layers don't match.
  2. We should improve handling of input layers with multiple features. Currently we generate a separate grid for each feature, and if these grids are overlapping there are duplicates, and the attribute values are all messed up. An example:
    image
    For a start we should just collect all geometries in the input layer into a single feature and generate the coverage layers based on that. If we then want to implement an option to create multiple grids we should probably do the opposite - extract each feature into a separate layer, and generate a separate output layer for each one. This use case is a good reason to implement implement as processing algorithm #8.
  3. A major use case is to generate a regular grid, and delete all the rectangles that are outside the extent of the input layer (or inside it, but inside a hole!).
  • We should have an option to do this automatically - it requires a straightforward vector overlay operation and also the attributes.
  • And/or we could have a separate tool to delete them manually, updating the attributes, and/or to recalculate the attributes after they have been deleted manually.
  1. We could integrate an option for linear features. The separate "polystrip" plugin provides this functionality, and there have been other implementations (see Join effords mach0/polystrip#4).
    This is not necessarily just useful for polyline input layers - there is more than one way to generate a centreline from a polygon input, and we could offer options.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions