Ich verwende die NetCDF 4 Java-Bibliothek von unidata, um GRIB-Dateien zu lesen. GRIB Dateien Struktur sieht wie folgt aus:Konvertieren von Lambert Conformal Conic Projektion zu lat/lng Dezimalstellen mit NetCDF in Java
dimensions:
x = 401;
y = 301;
time = 1;
variables:
int LambertConformal_Projection;
:grid_mapping_name = "lambert_conformal_conic";
:latitude_of_projection_origin = 46.12000274658203; // double
:longitude_of_central_meridian = 14.815000534057617; // double
:standard_parallel = 46.12000274658203; // double
:earth_radius = 6367470.0; // double
:_CoordinateTransformType = "Projection";
:_CoordinateAxisTypes = "GeoX GeoY";
float VAR219-0-219-170_surface(time=1, y=301, x=401);
:long_name = "Unknown Parameter 219-0-219-170 @ Ground or water surface";
:units = "";
:missing_value = NaNf; // float
:grid_mapping = "LambertConformal_Projection";
:coordinates = "reftime time y x ";
:Grib_Variable_Id = "VAR_219-0-219-170_L1";
:Grib1_Center = 219; // int
:Grib1_Subcenter = 0; // int
:Grib1_TableVersion = 219; // int
:Grib1_Parameter = 170; // int
:Grib1_Level_Type = 1; // int
:Grib1_Level_Desc = "Ground or water surface";
float x(x=401);
:standard_name = "projection_x_coordinate";
:units = "km";
:_CoordinateAxisType = "GeoX";
float y(y=301);
:standard_name = "projection_y_coordinate";
:units = "km";
:_CoordinateAxisType = "GeoY";
double reftime;
:units = "Minute since 2016-02-18T12:00:00Z";
:standard_name = "forecast_reference_time";
:long_name = "GRIB reference time";
:calendar = "proleptic_gregorian";
:_CoordinateAxisType = "RunTime";
double time(time=1);
:units = "Minute since 2016-02-18T12:00:00Z";
:standard_name = "time";
:long_name = "GRIB forecast or observation time";
:calendar = "proleptic_gregorian";
:_CoordinateAxisType = "Time";
// global attributes:
:Originating_or_generating_Center = "Ljubljana";
:Originating_or_generating_Subcenter = "0";
:GRIB_table_version = "0,219";
:file_format = "GRIB-1";
:Conventions = "CF-1.6";
:history = "Read using CDM IOSP GribCollection v3";
:featureType = "GRID";
:_CoordSysBuilder = "ucar.nc2.dataset.conv.CF1Convention";
}
Ich möchte Programm schreiben, die x und y wandelt in lat/lng Dezimalstellen. Ich bin neu in der Kartierung von Ebenen und Globus.
Was hält Sie davon ab? Haben Sie sich schon bemüht? – Fildor
ja. Ich habe versucht, ein Beispiel zu finden, wie man Projektionen und vertikale Transformationen in der NetCDF Java Bibliothek benutzt, aber keinen Erfolg. –
Nein, ich meine: Hast du angefangen Code zu schreiben? Ich verstehe Java/Programmierung im Allgemeinen ist nicht dein Problem, ist das richtig? – Fildor