osbng.bng_reference.BNGReference.bng_kdisc#

BNGReference.bng_kdisc(k: int, *, return_relations: bool = False) list[BNGReference][source]#

Returns a filled disc of BNGReference objects around this BNGReference.

Returns all BNGReference objects up to a grid distance k, including the given central BNGReference object.

Notes

Returned BNGReference objects are ordered North to South then West to East.

Parameters:

k (int) – Grid distance in units of grid squares.

Keyword Arguments:

return_relations (bool, optional) – If True, returns a list of (BNGReference, dx, dy) tuples where dx, dy are integer offsets in grid units. If False (default), returns a list of BNGReference objects.

Returns:

All BNGReference objects

representing grid squares in a square of radius k.

Return type:

list[BNGReference]

Examples

>>> BNGReference("SU1234").bng_kdisc(1)
[
BNGReference(bng_ref_formatted=SU 11 35, resolution_label=1km),
BNGReference(bng_ref_formatted=SU 12 35, resolution_label=1km),
BNGReference(bng_ref_formatted=SU 13 35, resolution_label=1km),
BNGReference(bng_ref_formatted=SU 11 34, resolution_label=1km),
BNGReference(bng_ref_formatted=SU 12 34, resolution_label=1km),
BNGReference(bng_ref_formatted=SU 13 34, resolution_label=1km),
BNGReference(bng_ref_formatted=SU 11 33, resolution_label=1km),
BNGReference(bng_ref_formatted=SU 12 33, resolution_label=1km),
BNGReference(bng_ref_formatted=SU 13 33, resolution_label=1km)
]
>>> BNGReference("SU1234").bng_kdisc(1, return_relations=True)
[
(BNGReference(bng_ref_formatted=SU 11 35, resolution_label=1km), -1, 1),
(BNGReference(bng_ref_formatted=SU 12 35, resolution_label=1km), 0, 1),
(BNGReference(bng_ref_formatted=SU 13 35, resolution_label=1km), 1, 1),
(BNGReference(bng_ref_formatted=SU 11 34, resolution_label=1km), -1, 0),
(BNGReference(bng_ref_formatted=SU 12 34, resolution_label=1km), 0, 0),
(BNGReference(bng_ref_formatted=SU 13 34, resolution_label=1km), 1, 0),
(BNGReference(bng_ref_formatted=SU 11 33, resolution_label=1km), -1, -1),
(BNGReference(bng_ref_formatted=SU 12 33, resolution_label=1km), 0, -1),
(BNGReference(bng_ref_formatted=SU 13 33, resolution_label=1km), 1, -1)
]
>>> BNGReference("SU1234").bng_kdisc(3)
[list of 49 BNGReference objects]

See also

The equivalent osbng.traversal.bng_kdisc() function.