Case Study: Conflating Mapsheet Outlines

Problem Statement

The input data is datasets containing outline polygons (grids) for 1:10K, 1:20K, 1:50K and 1:250K mapsheets.  It is desired that the polygons in the 1:20K, 1:50K and 1:250K grids align exactly with the polygons in the base 1:10K grid.

1:10K, 1:20K and 1:50K mapsheet outlines

Solution

Use JCS Coverage Conflation tools to align all datasets to the 1:10K polygons.

Cleaning Input Coverages

For Coverage Conflation to work properly, the input coverages must be clean (e.g. have correct coverage topology, without any gaps or overlaps). We begin with the 1:10K dataset.  The first step is to test whether the dataset is a clean coverage. The JCS Find Coverage Gaps function is used to check for any gaps or slivers in the dataset.

Find Coverage Gaps dialog

When used with a tolerance of 1 m, it finds that there are misaligned segments in the dataset. On closer examination, it turns out that each 10K polygon has a vertex in the top left corner which does not have a corresponding vertex on the polygon above.

Gaps in the 10K dataset

The segments formed by these vertices are very short (< 2m) compared to the other segments in the data, so the simplest approach is to simply remove the segments. (The alternative would be to clean the coverage, introducing new vertices to match the extra vertices, but this would introduce undesirable short segments into the datasets). The Remove Short Segments function can be used to remove the short segments.

Remove Short Segments function

This tool merges short segments into a neighbouring segment, as long as the new segment created is not displaced by more than a specified tolerance from the original one. In this case the short segments are nearly parallel with a neighbour segment, so displacement is not a problem. The Find Coverage Gaps function can be rerun to confirm that the updated 1:10K dataset is now clean.

The remaining 1:20K, 1:50K and 1:250K datasets are cleaned in the same way.

Conflation

Once the datasets are clean coverages, they can be conflated. The 1:20K dataset is used as an example of this process. First, the extent of the discrepancies is checked using the Find Misaligned Segments function.

Find Misaligned Segments function

This function reports a total of about 5000 misaligned segments in the two layers, with gap sizes ranging up to 3x10^-5 m.

Locations of misaligned segments between the 1:10K and 1:20K coverages, 
with closeup of a typical gap

The misaligned segments can be automatically aligned with the 1:10K base coverage using the Coverage Alignment function. A tolerance of 10 m is used, since all segments in the coverages are significantly larger than this (all are longer than 100 m).

Coverage Alignment function

When this tool is run it reports adjustments to 443 vertices. After the alignment is carried out, the results can be checked by rerunning the Find Misaligned Segments function. When it is run on the 1:10K and the aligned 1:20K coverage, it reports 0 alignment errors, confirming that the conflation was carried out with 100% success.

The 1:50K and 1:250K datasets are aligned in the same way. In the 1:50K dataset 486 vertices were adjusted, and in the 1:250K dataset 866 vertices were adjusted. In each case the result dataset is aligned perfectly with the 1:10K dataset. Moreover, the 1:20K, 1:50K and 1:250K datasets are now aligned perfectly with each other as well (apart from an area in the NE corner of the datasets in which no 1:10K polygons existed.)

Alignment errors between 1:50K and 1:250K datasets exist only where the 1:10K polygons were not present