GDAL 中可能存在错误?
Possible bug in GDAL?
鉴于此文件:
…根据我使用的软件,我得到不同的输出。
wgrib2 2019021815.grib2 -csv wgrib2.csv
和
cdo outputtab,date,time,lat,lon,value 2019021815.grib2 > cdo.txt
双输出:
-3 (undefined) : 8,869,250 records
0 : 14,848,865 records
Other values : 781,885 records
___________________________________
Total : 24,500,000 records
但是:
gdal_translate.exe -of xyz 2019021815.grib2 gdal.csv
所有 24,500,000 条记录的输出 -3
。
如果我使用 Python + GDAL 解析文件,我会得到相同的结果。
这是 GDAL 中的错误吗?我希望能够使用 Python.
解析这些文件
我正在为 wgrib2 使用 Windows,可以从 ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/Windows_7/ 下载
我也在为 GDAL 使用 Windows,可以从 https://gdal.org/download.html
下载
我正在使用 Linux 作为 cdo,可以从以下位置下载
https://code.mpimet.mpg.de/projects/cdo/
我对你的问题的回答是改用 NOAA 的天气-气候工具包。
它可以将网格和径向 NEXRAD/MRMS 数据导出到 CSV。需要此帮助的任何人的示例批处理命令是:
wct-export DataSetName.grib2.gz csv Output.csv wctbatchconfig.xml
如果它抛出错误,请尝试 different/earlier/beta 版本的 WCT 来自:
https://www1.ncdc.noaa.gov/pub/data/wct/dist/ 并务必查看网站上的示例命令。
正如您所说,这似乎是 GDAL 中的一个错误。我使用 GDAL 2.4.2 测试了相同的命令,它有效。 change log for 2.4.0 指向 GRIB 驱动程序的几个修复。
GRIB driver:
- replace DataSource? and derived classes with VSILFILE directly for > 4GB file support on Windows
- turn printf() warning as CPLDebug() messages
- read and write missing data values correctly for complex packing when original data is integer (#1063)
- g2clib: avoid int overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8194
- g2clib: avoid potential out of bound access (CID 1393528)
- degrib: fix floating point division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9407.
- degrib: avoid potential floating point division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10291
- add UNIT[] node to SRS on reading, so that is valid
鉴于此文件:
…根据我使用的软件,我得到不同的输出。
wgrib2 2019021815.grib2 -csv wgrib2.csv
和
cdo outputtab,date,time,lat,lon,value 2019021815.grib2 > cdo.txt
双输出:
-3 (undefined) : 8,869,250 records
0 : 14,848,865 records
Other values : 781,885 records
___________________________________
Total : 24,500,000 records
但是:
gdal_translate.exe -of xyz 2019021815.grib2 gdal.csv
所有 24,500,000 条记录的输出 -3
。
如果我使用 Python + GDAL 解析文件,我会得到相同的结果。
这是 GDAL 中的错误吗?我希望能够使用 Python.
解析这些文件我正在为 wgrib2 使用 Windows,可以从 ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/Windows_7/ 下载
我也在为 GDAL 使用 Windows,可以从 https://gdal.org/download.html
下载我正在使用 Linux 作为 cdo,可以从以下位置下载 https://code.mpimet.mpg.de/projects/cdo/
我对你的问题的回答是改用 NOAA 的天气-气候工具包。
它可以将网格和径向 NEXRAD/MRMS 数据导出到 CSV。需要此帮助的任何人的示例批处理命令是:
wct-export DataSetName.grib2.gz csv Output.csv wctbatchconfig.xml
如果它抛出错误,请尝试 different/earlier/beta 版本的 WCT 来自: https://www1.ncdc.noaa.gov/pub/data/wct/dist/ 并务必查看网站上的示例命令。
正如您所说,这似乎是 GDAL 中的一个错误。我使用 GDAL 2.4.2 测试了相同的命令,它有效。 change log for 2.4.0 指向 GRIB 驱动程序的几个修复。
GRIB driver:
- replace DataSource? and derived classes with VSILFILE directly for > 4GB file support on Windows
- turn printf() warning as CPLDebug() messages
- read and write missing data values correctly for complex packing when original data is integer (#1063)
- g2clib: avoid int overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8194
- g2clib: avoid potential out of bound access (CID 1393528)
- degrib: fix floating point division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9407.
- degrib: avoid potential floating point division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10291
- add UNIT[] node to SRS on reading, so that is valid