osbng.bng_reference.BNGReference.bng_kring#
- BNGReference.bng_kring(k: int, *, return_relations: bool = False) list[BNGReference][source]#
Returns a hollow ring of BNGReference objects around this
BNGReference.Returns all
BNGReferenceobjects at a grid distancek.Notes
Returned
BNGReferenceobjects are ordered North to South then West to East, therefore not in ring order.- 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
BNGReferenceobjects.- Returns:
All
BNGReferenceobjects representing squares in a square ring of radius k.- Return type:
Examples
>>> BNGReference("SU1234").bng_kring(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 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_kring(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 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_kring(3) [list of 24 BNGReference objects]
See also
The equivalent
osbng.traversal.bng_kring()function.