Как читать и преобразовывать плоский двоичный формат GrADS, используя R или python? - PullRequest
0 голосов
/ 28 января 2020

У меня есть файл в формате GrADS (Raw Binary) с управляющим файлом следующим образом:

dset data.bin
undef  -999.
options template
title Example data
xdef 720 linear    0.25    0.50
ydef 360 linear  -89.75    0.50
tdef   1 linear 00Z01JAN1990 1yr
zdef 1 linear 1 1
vars 1
dat 0 99 Estimated data
ENDVARS

Кто-нибудь имеет представление о том, как преобразовать или переформатировать его в общий Формат 2D-растрового файла с использованием R или Python?

Ожидаемый вывод - это 2D-карта (обычно это растровый файл или 2D-массив), похожая на эту карту: Пример вывода

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Вы можете попробовать этот python пакет xgrads, который будет анализировать файл ctl и загружать необработанные двоичные данные в широко используемую структуру данных xarray* 1006. * в науках о Земле:

from xgrads import open_CtlDataset

# load the data into xarray.Dataset
dset = open_CtlDataset('data.ctl')

Тогда данные будут нанесены в виде:

dset['dat'].plot()

. Обратите внимание, что если ctl и двоичные файлы находятся в одной папке, то первая строка ctl должна быть dset ^data.bin. Если они не находятся в одной папке, вы должны указать абсолютный путь к файлу .bin.

Надеюсь, это поможет.

0 голосов
/ 28 января 2020

Вы можете использовать CDO (Climate Data Operator), чтобы сделать это с помощью одной строки кода, например

cdo -f nc import_binary Temp.ctl try.nc

Но установка CDO в Windows немного сложна. Вы можете установить подсистему Ubuntu в Windows, а затем установить CDO в Ubuntu. После этого установите CDO в подсистему Ubuntu, следуя инструкциям, приведенным здесь https://zoomadmin.com/HowToInstall/UbuntuPackage/cdo. Затем откройте терминал в каталоге, где находится файл .ctl, затем выполните приведенный выше код.

...