par
Dosix » 16 déc. 2008, 14:59
Bonjour,
Je vais ré utilisé mon poste pour éviter d'un ouvrir un autre avec presque le même sujet.
Donc, voilà je suis en train de réalisé une série de scripts PHP pour téléchargé et extraire des données météo contenues dans les fichiers grib2 de la NOAA (National Oceanic and Atmospheric Administration) pour faire des prévisions automatiques, météogramme et différentes autres choses comme les cartes et les graphiques.
Je vais essayé de vous posez mon problème le plus simplement possible, j'extrais ces données dans des fichiers .txt
Code : Tout sélectionner
lon,lat,UGRD 300 mb d=2008121318 3 hour fcst
354.000000,43.000000,28.7
354.500000,43.000000,26.3
355.000000,43.000000,24.2
355.500000,43.000000,22.7
356.000000,43.000000,21.8
356.500000,43.000000,21.3
357.000000,43.000000,20.6
357.500000,43.000000,19.6
358.000000,43.000000,18.4
358.500000,43.000000,17
359.000000,43.000000,15.6
359.500000,43.000000,15
Donc, voici un très petit bout de ce que j'obtiens par exemple ici nous retrouvons la longitude, latitude et la donnée (ici c'est le vecteur U pour la vitesse et direction du vent à 300 hPa). Après on retrouve l'échéance +03h (3 hour fcst). Mon but c'est que l'utilisateur entre ces coordonnées décimales et en fonction de ce qu'il rentre ça lui affiche les données correspondantes.
Mon problème et que je vais jusqu'a l'échéance 48h et j'enregistre dans une base de données toute les 03h avec dans cette échéance 29 donnée (température à 2m, pression au niveau de la mer, humidité et pleins d'autres.
Donc j'obtiens une table de ce style :
Code : Tout sélectionner
CREATE TABLE `data_03` (
`ID` mediumint(9) NOT NULL AUTO_INCREMENT,
`LAT` text NOT NULL,
`LONG` text NOT NULL,
`UGRD_300` text NOT NULL,
`VGRD_300` text NOT NULL,
`HGT_500` text NOT NULL,
`TMP_500` text NOT NULL,
`HGT_700` text NOT NULL,
`TMP_700` text NOT NULL,
`VVEL_700` text NOT NULL,
`HGT_850` text NOT NULL,
`TMP_850` text NOT NULL,
`TMP_900` text NOT NULL,
`TMP_925` text NOT NULL,
`TMP_950` text NOT NULL,
`TMP_975` text NOT NULL,
`TMP_1000` text NOT NULL,
`TMP_2M` text NOT NULL,
`RH_2M` text NOT NULL,
`TMAX_2M` text NOT NULL,
`TMIN_2M` text NOT NULL,
`UGRD_10M` text NOT NULL,
`VGRD_10M` text NOT NULL,
`CPRAT_SURFACE` text NOT NULL,
`ACPCP_SURFACE` text NOT NULL,
`LFTX_SURFACE` text NOT NULL,
`CAPE_SURFACE` text NOT NULL,
`TCDC_BC` text NOT NULL,
`TCDC_MC` text NOT NULL,
`TCDC_HC` text NOT NULL,
`PRMSL` text NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Donc sa c'est pour l'échéance 03h et après j'ai data_06, data_09...etc.
Donc moi je voudrais afficher toutes les données de chaque table (donc échéance) en fonction de LAT et LONG qui se trouve aussi sur toute les autres tables, mais de différentes échéances.
PS : Chaque échéance vient des fichiers .txt, je peux faire 1 fichiers pour 1 seul échéance contenant toute les données de cette échéance.
Si vous avez une idée pour optimisé et une solution.
je recherche pas forcément la solution écrite mais une explication pour que je puisse le faire moi même.
Après j'aurai surement encore besoin de vous pour généré des cartes de ce style :
http://www.meteociel.com/modeles_gfs/run/3-580.GIF?16-6
Merci et à bientôt

Bonjour,
Je vais ré utilisé mon poste pour éviter d'un ouvrir un autre avec presque le même sujet.
Donc, voilà je suis en train de réalisé une série de scripts PHP pour téléchargé et extraire des données météo contenues dans les fichiers grib2 de la NOAA (National Oceanic and Atmospheric Administration) pour faire des prévisions automatiques, météogramme et différentes autres choses comme les cartes et les graphiques.
Je vais essayé de vous posez mon problème le plus simplement possible, j'extrais ces données dans des fichiers .txt
[code]lon,lat,UGRD 300 mb d=2008121318 3 hour fcst
354.000000,43.000000,28.7
354.500000,43.000000,26.3
355.000000,43.000000,24.2
355.500000,43.000000,22.7
356.000000,43.000000,21.8
356.500000,43.000000,21.3
357.000000,43.000000,20.6
357.500000,43.000000,19.6
358.000000,43.000000,18.4
358.500000,43.000000,17
359.000000,43.000000,15.6
359.500000,43.000000,15
[/code]
Donc, voici un très petit bout de ce que j'obtiens par exemple ici nous retrouvons la longitude, latitude et la donnée (ici c'est le vecteur U pour la vitesse et direction du vent à 300 hPa). Après on retrouve l'échéance +03h (3 hour fcst). Mon but c'est que l'utilisateur entre ces coordonnées décimales et en fonction de ce qu'il rentre ça lui affiche les données correspondantes.
Mon problème et que je vais jusqu'a l'échéance 48h et j'enregistre dans une base de données toute les 03h avec dans cette échéance 29 donnée (température à 2m, pression au niveau de la mer, humidité et pleins d'autres.
Donc j'obtiens une table de ce style :
[code]
CREATE TABLE `data_03` (
`ID` mediumint(9) NOT NULL AUTO_INCREMENT,
`LAT` text NOT NULL,
`LONG` text NOT NULL,
`UGRD_300` text NOT NULL,
`VGRD_300` text NOT NULL,
`HGT_500` text NOT NULL,
`TMP_500` text NOT NULL,
`HGT_700` text NOT NULL,
`TMP_700` text NOT NULL,
`VVEL_700` text NOT NULL,
`HGT_850` text NOT NULL,
`TMP_850` text NOT NULL,
`TMP_900` text NOT NULL,
`TMP_925` text NOT NULL,
`TMP_950` text NOT NULL,
`TMP_975` text NOT NULL,
`TMP_1000` text NOT NULL,
`TMP_2M` text NOT NULL,
`RH_2M` text NOT NULL,
`TMAX_2M` text NOT NULL,
`TMIN_2M` text NOT NULL,
`UGRD_10M` text NOT NULL,
`VGRD_10M` text NOT NULL,
`CPRAT_SURFACE` text NOT NULL,
`ACPCP_SURFACE` text NOT NULL,
`LFTX_SURFACE` text NOT NULL,
`CAPE_SURFACE` text NOT NULL,
`TCDC_BC` text NOT NULL,
`TCDC_MC` text NOT NULL,
`TCDC_HC` text NOT NULL,
`PRMSL` text NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;[/code]
Donc sa c'est pour l'échéance 03h et après j'ai data_06, data_09...etc.
Donc moi je voudrais afficher toutes les données de chaque table (donc échéance) en fonction de LAT et LONG qui se trouve aussi sur toute les autres tables, mais de différentes échéances.
PS : Chaque échéance vient des fichiers .txt, je peux faire 1 fichiers pour 1 seul échéance contenant toute les données de cette échéance.
Si vous avez une idée pour optimisé et une solution.
je recherche pas forcément la solution écrite mais une explication pour que je puisse le faire moi même.
Après j'aurai surement encore besoin de vous pour généré des cartes de ce style : [url]http://www.meteociel.com/modeles_gfs/run/3-580.GIF?16-6[/url]
Merci et à bientôt :wink: