Я пишу код С# для программирования геозон на GPS-трекере (Sinowell G102). Геозаборы имеют прямоугольную форму. По сути, мне нужно взять координату верхнего левого угла и координату нижнего правого угла и запрограммировать их в трекере. Теперь трекер ожидает эти координаты в формате BCD (Binary-Coded Decimal). Каждая координата имеет длину 4 байта. Теперь я придумал, как преобразовать положительную координату широты или долготы в BCD - согласно руководству по протоколу трекера, координата вида:
22° 33,995′ (т. е. 22 градуса северной широты, 33,995 минуты восточной долготы)
становится четырьмя байтами 02 23 39 95
Что довольно прямолинейно. Моя проблема, однако, в том, что я не знаю, как обращаться с отрицательными координатами Южного полушария (например, -25° 33,995′, как у нас здесь, в Южной Африке).
Мне удалось связаться с производителями этого трекера, но, к сожалению, это китайская фирма, и английский у них не очень. Однако они прислали мне следующее изображение:
К сожалению, я не до конца понимаю этот код. Я был бы очень признателен за любую помощь.... Спасибо.