Q&A
Where can ‘brdr’ be used for?
- Short answer: All kinds of Geodata quality assurance: validation, correction, alignment, actualization, (auto-)updates, …
- Long answer:
- Geodata-management:
- Implementation of
brdr in business-processes and tooling
- Bulk geodata-alignment
- Alignment after reprojection of data
- Cleaning data: In a postprocessing-phase, the algorithm executes sliver-cleanup and validity-cleaning on the resulting geometries
- …
- Data-Analysis: Investigate the pattern in deviation and change between thematic and reference boundaries
- Update-detection: Investigate the descriptive formula before and after alignment to check for (automatic) alignment of geodata
Does ‘brdr’ support multiple coordinate systems (CRS)?
- Short answer: Yes
- Long answer: Yes it does. When creating a aligner you can define the crs you want to use. This has to be a projected coordinate system with units in meter. When loading data, you have to provide the data in this CRS. When on-the-fly dataloaders are used, they will try to download the data in the provided crs if available. if not available, an error is returned.
Which geometry types are supported?
- Short answer: (Multi-)Points, (Multi-)LineStrings, and (Multi-)Polygons.
- Long answer: brdr was initially started to align thematic (Multi-)Polygons to reference (Multi-)Polygons. Afterwards processors are added to also support (multi-)linestrings and (multi-)Points.
How to choose the best Processor for my data?
- Short answer: AlignerGeometryProcessor (default) checks the type of your thematic & reference-data and uses the other Processors underneath. DieussaertGeometryProcessor is a quicker algoritm for aligning Polygons to Polygons. NetworkGeometryPorcessor can be used for all combinations of geometries (Points, Lines, Polygons), but has a longer calculation time.
- Long answer:
- AlignerGeometryProcessor (default) is a wrapper around DieussaertGeometryProcessor & NetworkGeometryProcessor. It checks the geometry-types and uses the DieussaertGeometryProcessor if possible, otherwise NetworkGeometryProcessor.
- DieussaertGeometryProcessor: It is a using an algorithm based on buffers, relevant intersections and relevant differences. This is a quick algorithm, but can only be used to align polygon-to-polygon. For most of these cases this is the best option, in some edge cases some detail of the polygon can be simplified.
- NetworkGeometryProcessor: It is using an algorithm based on graphs/networks. This is the most generic processor as this can be used for all point-line-polygon combinations. However he calculation is much slower than Dieussaertprocessor.
- TopologyProcessor: This is an experimental processor and is a special usage of the NetworkGeometryProcessor. The thematic input geometries are ‘converted’ to their topolgical arcs, and these arcs are aligned with the NetworkGeometryProcessor. Afterwards the arcs are re-combined to get a result that keeps a topological relation with its neighbours.
Summary; if you have polygon-to-polygon, start with DieussaertProcessor and see if these results fits your goal. If not, try NetworkGeometryProcessor
Does ‘brdr’ support 3D geometries ( & M/Z-coordinates)?
- Short answer: No, it is currently 2D-only. (3D and M-Z values are not supported)
- Long answer: The library is optimized for 2D alignment. If you provide geometries with M- or Z-coordinates, the alignment will be calculated based on the \(X\) and \(Y\) planes. M/Z-values are stripped.