Lambert conformal projection conique pour obtenir valeurs x, y d'une grille en java

StackOverflow https://stackoverflow.com/questions/1271807

  •  13-09-2019
  •  | 
  •  

Question

J'utilise le NetCDF 4 bibliothèque java de Unidata pour lire les fichiers GRIB2 et je essaie maintenant trouver un moyen d'obtenir des compensations de fuseau horaire pour une latitude / longitude donnée. J'ai un fichier .FLT pour l'hémisphère nord qui contient toutes ces informations et je sais lire, je ne sais pas comment faire la projection cartographique correctement. Je suis capable de faire la projection à l'aide LambertConformal (originLat, originLon, stdParallel1, stdParallel2), mais je ne sais pas comment utiliser les x projetées, les valeurs y à l'intérieur du réseau.

Les valeurs de grille sont Nx et Ny = 1073 = 689 et les valeurs projetées pour obtenir je lat = 33,92, lon = -84,33 sont x = 995 y = 1.035. Je sais que les valeurs projetées sont justes, mais je ne sais pas lire la grille avec eux.

Peut-être quelqu'un peut me aider à comprendre les valeurs suivantes aussi.

 :grid_mapping_name = "lambert_conformal_conic";
 :standard_parallel = 25.0; // double
 :longitude_of_central_meridian = 265.0; // double
 :latitude_of_projection_origin = 25.0; // double
 :earth_shape = "Earth spherical with radius specified by producer";
 :spherical_earth_radius_meters = 6371200.0; // double
 :GRIB_param_Dx = 5079.4062; // double
 :GRIB_param_Dy = 5079.4062; // double
 :GRIB_param_GDSkey = 1158554943; // int
 :GRIB_param_La1 = 20.192; // double
 :GRIB_param_LaD = 25.0; // double
 :GRIB_param_Latin1 = 25.0; // double
 :GRIB_param_Latin2 = 25.0; // double
 :GRIB_param_Lo1 = 238.446; // double
 :GRIB_param_LoV = 265.0; // double
 :GRIB_param_NpProj = "true";
 :GRIB_param_Nx = 1073; // int
 :GRIB_param_Ny = 689; // int
 :GRIB_param_ProjFlag = 0; // int
 :GRIB_param_Quasi = "false";
 :GRIB_param_ResCompFlag = 0; // int
 :GRIB_param_SpLat = -90.0; // double
 :GRIB_param_SpLon = 0.0; // double
 :GRIB_param_Winds = "True";
 :GRIB_param_grid_name = "Lambert Conformal";
 :GRIB_param_grid_radius_spherical_earth = 6371200.0; // double
 :GRIB_param_grid_shape = "Earth spherical with radius specified by producer";
 :GRIB_param_grid_shape_code = 1; // int
 :GRIB_param_grid_type = 30; // int
 :GRIB_param_grid_units = "m";
Était-ce utile?

La solution

Avez-vous essayé de poster sur le site Unidata? Ils seraient probablement mieux à répondre à ce type de question. Dans le passé, je l'ai obtenu de grandes réponses de leur part. -Fred

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top