Development

This project uses tox for running tests and other things (style check, coverage reports, sphinx docs).

It is recommended to install conda along with tox-conda for using tox. Afterwards, tox command will run all the steps for you.

This project strictly uses black as an opinionated code style. Any written line should comply with that (don’t forget to run black .).

Always add tests for bug fixes and feature developments.

Binary Location Types

Location type is determined based on the flags in the first byte and the data size.

Location type

Data size

B6

B5

B4

B3

Line

16 + (n-2) * 7 + [0/1/2] bytes

0

0

0

1

Geo-coordinate

7 bytes

0

1

0

0

Point along line

16/17 bytes

0

1

0

1

POI with access point

20/21 bytes

0

1

0

1

Circle

7 + [1/2/3/4] bytes

0

0

0

0

Rectangle

11/13 bytes

1

0

0

0

Grid

15/17 bytes

1

0

0

0

Polygon

15 + (n-3) * 4 bytes

0

0

1

0

ClosedLine

19 + (n-3) * 7 bytes

1

0

1

1

Flags in the first byte:

  • Bit 6 (ArF1) - Area Flag 1

  • Bit 5 (no point)

  • Bit 4 (ArF0) - Area Flag 0

  • Bit 3 (has attributes)