1

ここで気象学や地球科学の仕事をしている人はいますか?GRIB2形式のデータファイルを操作しようとしています。利用可能なライブラリ、特にUnidata GRIBJavaDecoderがあります。そして、大きな線形配列でデータを抽出する方法を正確に理解できますが、私がやりたいのは、緯度/経度で値にアクセスすることです。それを行う方法についての簡単な例を見つけることができません。提案?

TIA!

4

5 に答える 5

2

pygribモジュールでPythonを使用すると、通常は魅力のように機能します。次のコードを使用して、lats/lonsとデータを抽出できます。

import pygrib

gr=pygrib.open(file)
data=values.(gr[key]) #use the key to the variable of interest to extract its data
lats,lons=(gr.readline()).latlons() #extract coordinates

これで、ベースマップツールキットを使用してデータを簡単に視覚化したり、適切なファイルにエクスポートしたりできます:)

于 2014-05-14T09:08:18.593 に答える
1

パラメータとともに投影タイプを取得し、それを使用して緯度/経度からグリッドx / yに座標をマッピングする必要があります(geotools WebサイトCoordinateReferenceSystemのクラスを参照)。

于 2011-09-10T04:18:28.503 に答える
1

DEGRIBツールを使用して、指定した緯度/経度でデータをプローブできます。ここを参照してくださいhttp://www.weather.gov/mdl/degrib/txtview.php?file=degrib.txt&dir=baseWindowsの例は次のようになります。'degrib.exemyfile.grib -P -pnt 40.0、-10.0 -Interp 2 '。DEGRIB.EXEが必要な場合は、VRTOOLhttp://www.tecepe.com.br/nav/vrtool/というプログラムのインストールディレクトリにあります。

于 2011-09-25T15:46:28.777 に答える
1

wgrib2プログラムでは、-lonオプションを使用して、選択した緯度/経度の場所で時系列を抽出できます。次に例を示します。

wgrib2.exe input_file.grb2 -lon 360 90> output_file.txt

于 2013-01-30T14:24:05.097 に答える
0

GRIB2Toolsを使用できます。https: //github.com/philippphb/GRIB2Toolsを参照してください。次のようなInputStreamからGRIB2ファイルを読み込んだ後

RandomAccessGribFile gribFile = new RandomAccessGribFile("", "");
gribFile.importFromStream(inputstream, 0);

lat/lonに基づいてGRIBファイルのデータにアクセスできます。

double longitude = ...   // in degrees
double latitude = ...    // in degrees
float val = gribFile.getValueAt(0, GribFile.degToUnits(latitude), GribFile.degToUnits(longiude));

グリッド上に正確にない緯度/経度の位置の補間データを取得することもできます。

double longitude = ...   // in degrees
double latitude = ...    // in degrees
float val = gribFile.interpolateValueAt(0, GribFile.degToUnits(latitude), GribFile.degToUnits(longiude));
于 2017-10-09T14:53:26.167 に答える