格式化传单风图的json

时间:2018-06-02 22:41:41

标签: javascript json leaflet data-conversion netcdf

我尝试将netCDF数据转换为json,以便在leaflet-velocity中使用,grib2json使用与earth中cambecc使用的wind-global.json输出格式相同的格式。这是danwild在netCDF4

中给出的样本json数据的另一个例子

使用question我设法从我的netCDF中提取纬度/批次风数据数组。

我想知道"数据" json文件的一部分(下面的例子)是结构化的?这似乎是一系列很长的价值观(例如,对于东风'在这个例子中),但我不明白它们后来如何映射到lat / lon coords?

json标题中是否有东西告诉Leaflet如何构造输出,或者leaflet-velocity.js中是否还有其他函数可以完成这项工作?

Click on the icon to check the Code有一些线索,但我现在已经不知所措,试图将其改编为我自己的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 :(得分:2)

这可能会有所帮助。 NCO-JSON生成与grib2json不同的JSON方言,但对所有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]]]
    }
  }
}