Найти в Дзене
Алексей Колдунов

Как в MATLAB конвертировать долготы из формата [0 360] в [-180 180]

В сегодняшней заметке мы переведём долготы, записанные в формате [-180 180] в формат [0 360] и обратно.

Как известно, долготы обычно принято отсчитывать от нулевого меридиана. На запад от него - западная широта, на восток - восточная. Если буквенные обозначения использовать неудобно (а их при работе с данными неудобно использовать практически всегда), то восточные долготы записываются как положительные числа, а западные - как отрицательные. Такой формат записи будем обозначать [-180 180].

Однако иногда отрицательных значений избегают и долготы отсчитывают не на запад и восток от нулевого меридиана, а только на восток. Такой формат географических координат будем называть [0 360] и бывают случаи, когда данные приходят именно нём. Что же делать, если вам хочется перевести формат [0 360] в [-180 180]? Процедура несложная:

lon_new=rem((lon+180),360)-180;

где rem - функция, которая находит остаток от деления (lon+180)/360. Такая функция есть во многих языках программирования, но конкретно этот пример записан для MATLAB.

Кроме того, в MATLAB есть специальная функция, которая избавит вас от написания каких либо математических операций, о ней я написал в оригинальной заметке.