Форматирование JSON для листовки ветровой карты - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь преобразовать данные netCDF в json для использования в leaflet-speed , в котором используется тот же формат, что и для вывода grib2json , используемого cambecc в earth.Вот еще один пример выборочных данных json, предоставленных danwild в wind-global.json

Использование netCDF4 Мне удалось извлечь массивы данных ветра / широты измой netCDF.

Мне было интересно, как структурирована часть «данных» файла json (пример ниже)?Кажется, это длинный массив значений (например, для «восточного ветра» в примере), но я не понимаю, как они отображаются в координатах широта / долгота позже?

Есть ли что-то вЗаголовок json, который сообщает Leaflet, как структурировать вывод, или должна быть другая функция в leaflet-speed.js, выполняющая работу?

Этот вопрос содержал некоторые подсказки, но я былсейчас я в затруднении, пытаясь приспособить его для моего собственного файла netCDF.

[
{
    "header": {
    "parameterUnit": "m.s-1",
    "parameterNumber": 2,
    "dx": 1.0,
    "dy": 1.0,
    "parameterNumberName": "eastward_wind",
    "la1": -7.5,
    "la2": -28.5,
    "parameterCategory": 2,
    "lo2": 156.0,
    "nx": 14,
    "ny": 22,
    "refTime": "2017-02-01 23:00:00",
    "lo1": 143.0
  },
    "data":[
        -2.12,
        -2.27,
        -2.41,
        ...
    ]
}
]

1 Ответ

0 голосов
/ 03 июня 2018

Это может помочь. NCO-JSON создает диалект JSON, отличный от grib2json, но работает напрямую и полностью для всех файлов netCDF и по умолчанию включает скобки, указывающие границы размеров массива.Возможно, вам будет проще для ваших целей ...

zender@aerosol:~$ ncks -C -v three_dmn_rec_var --jsn ~/nco/data/in.nc
{
  "dimensions": {
    "lat": 2,
    "lon": 4,
    "time": 10
  },
  "variables": {
    "three_dmn_rec_var": {
      "shape": ["time", "lat", "lon"],
      "type": "float",
      "attributes": {
        "long_name": "three dimensional record variable",
        "units": "watt meter-2",
        "_FillValue": -99.0
      },
      "data": [[[1.0, 2.0, 3.0, 4.0], [5.0, 6.0, 7.0, 8.0]], [[9.0, 10.0, 11.0, 12.0], [13.0, 14.0, 15.0, 16.0]], [[17.0, 18.0, 19.0, 20.0], [21.0, 22.0, 23.0, 24.0]], [[25.0, 26.0, 27.0, 28.0], [29.0, 30.0, 31.0, 32.0]], [[33.0, 34.0, 35.0, 36.0], [37.0, 38.0, 39.0, 40.0]], [[41.0, 42.0, 43.0, 44.0], [45.0, 46.0, 47.0, 48.0]], [[49.0, 50.0, 51.0, 52.0], [53.0, 54.0, 55.0, 56.0]], [[57.0, 58.0, 59.0, 60.0], [61.0, 62.0, 63.0, 64.0]], [[65.0, 66.0, 67.0, 68.0], [69.0, 70.0, 71.0, 72.0]], [[73.0, 74.0, 75.0, 76.0], [77.0, 78.0, 79.0, 80.0]]]
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...