javascript - 为传单风图格式化json

标签 javascript json leaflet data-conversion netcdf

我正在尝试将 netCDF 数据转换为 json 以便在 leaflet-velocity 中使用, 它使用与 grib2json 的输出相同的格式cambecc 在 earth 中使用.这是 danwild 在 wind-global.json 中给出的示例 json 数据的另一个示例

使用 netCDF4我已设法从我的 netCDF 中提取纬度/地段风数据数组。

我想知道 json 文件(下面的示例)的“数据”部分是如何构建的?它似乎是一长串值(例如示例中的“东风”),但我不明白它们后来如何映射到纬度/经度坐标?

json header 中是否有某些内容告诉 Leaflet 如何构建输出,或者 leaflet-velocity.js 中是否必须有另一个函数来完成这项工作?

question有一些线索,但我已经不知所措了一段时间,试图将它改编为我自己的 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,
        ...
    ]
}
]

最佳答案

这可能会有所帮助。 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]]]
    }
  }
}

关于javascript - 为传单风图格式化json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50661776/

相关文章:

java - 如何使用 Java 库将标记的 YAML 对象转换为 JSON 对象?

c# - Restsharp:反序列化具有比某些类更少/更多字段的 json 对象

json - 如何使用 GraphQL 在 VueJS/Gridsome 中迭代 JSON 文件中的数据?

r - 将调色板与 colorRampPalette 合并并使用传单进行绘图

javascript - 在 :hover in contenteditable 上显示图标

javascript - 通过 Javascript 使 CSS 隐藏的区域淡入

javascript - let in 回调函数的作用域,需要了解

javascript - jwysiwyg 使用自定义控件在光标处插入文本

javascript - 传单 0.7 : Disable mouse clicks for a polyline or a polygon

javascript - 如何在传单js中使用标记传递数据