EditHistory : Editeur de fichiers history.dat pour WS280* et WS360*(Lu 15847 fois)

Vous trouverez à l'adresse suivante :
www.meteo-gujan.org/Visiteurs un éditeur de fichiers history.bat (générés par HeavyWeather pour les WS36** et WS28**).
Il permet :
- de lire en clair un fichier history.dat,
- de sauvegarder les données au format csv,
- de modifier des valeurs et de sauvegarder au format history.dat
Attention, il convient de ne pas travailler sur le fichier history.dat en cours. Il faut donc arrêter HeavyWeather, voire couper la communication station-PC. Il est plus prudent de travailler sur une copie dans un répertoire différent.
« Modifié: 15/04/2013 à 08:05:34 par arredic »



Re : Editeur de fichiers history.dat pour WS280* et WS360* Réponse #1 le: 04/04/2013 à 17:54:43
Voici la version 2 :

Celle-ci permet d'insérer une ligne dans l'history. Cela peut-être utile en cas de changement d'heure ou lors d'une manipulation sur la station.
Mêmes précautions que pour la précédente.
Si vous n'êtes pas sûrs, vous pouvez tester le nouveau fichier .dat avec Heavy Weather sur un autre poste.



Re : Editeur de fichiers history.dat pour WS280* et WS360* Réponse #2 le: 12/04/2013 à 21:35:46
Bonjour,

Merci beaucoup pour vos programmes.
Je cherchais, justement un moyen de transformer un fichier .dat en .txt.
Dans votre programme la transformation se fait vers un fichier CSV, ce qui me convient, mais il me manque une ou deux colonnes.

Je viens donc de me faire un petit programme en PHP pour faire cette transformation.
J'obtiens les données de presque toutes les colonnes.
Mais j'ai un problème avec la date et l'heure.
J'obtiens des valeurs anormales.

Pouvez vous me dire comment vous avez fait pour formater la date et l'heure. Dans quel langage vous programmez.

Merci

Slts Corinne



Re : Editeur de fichiers history.dat pour WS280* et WS360* Réponse #3 le: 13/04/2013 à 07:36:35
Bonjour,

EditHistory donne toutes les valeurs possibles qu'il y a dans le fichier history.dat.

Les valeurs de : Total des pluies, Point de rosée et Température ressentie se calculent à partir de certaines de ces valeurs.

Pour le Point de Rosée le calcul est :

Temp_Rosee:=
(237.7*((17.27*Temp)/(237.7+Temp)+ln(Hum)))/(17.27-((17.27*Temp)/(237.7+Temp)+ln(Hum)));
(où Temp est la température extérieure en °C et Hum le taux d'humidité extérieure (attention entre 0 et 1))

Pour la Température Ressentie le calcul est :

Temp_Ress:= 13.12+0.6215*Temp+(0.3965*Temp-11.37)*(Vent^(0.16));
(où Temp est la Température extérieure en °C et Vent la vitesse du vent en km/h))
(cette formule n'a de sens que pour des vents supérieurs à 5km/h,
 mais elle n'a vraiment d'intérêt que pour des températures inférieures à 5°C)

Un fichier .csv est un fichier de type texte.Pour la "date-heure", ce champs est écrit sous la forme "jj/mm/aaaa hh:mm". Donc facile à lire en PHP avec des substr.Si votre problème de lecture est avec votre tableur, il vous faut aller dans "Format de Cellule", puis "Date", choisissez le format préexistant "14/3/01 13:30" ou mieux créez-vous un type personnalisé du type "jj/mm/aaaa hh:mm". Pensez, peut-être aussi, à élargir la colonne.

EditHistory est écrit en Delphi. La Pascal c'est nickel !
EditHistory a le gros avantage de pouvoir insérer des lignes qui peuvent avoir été perdues et c'est un éditeur pleine-page. Je pense, toute modestie mise à part, qu'on peut difficilement faire plus simple. Il n'y a pas besoin de documentation pour l'utiliser.

Pour ma station, je ne travaille pas avec un fichier texte. J'envoie en ftp le fichier history.dat, puis j'ai mes scripts en PHP qui le décompacte.

Je profite de message, pour rappeler qu'ils ne faut pas utiliser la fonction de "Sauvegarde au format history.dat", pendant que la station fonctionne ou il faut travailler sur une copie. C'est une règle élémentaire, mais autant le redire.

N'hésitez pas à m'écrire pour des critiques ou des suggestions.



Re : Editeur de fichiers history.dat pour WS280* et WS360* Réponse #4 le: 13/04/2013 à 21:01:01
Bonjour,

effectivement votre fichier CSV est très bien pour mettre sous excel ou openoffice.

Seulement comme je veux faire des moyennes en regroupant les données de nuit et celles de jour par rapport au levé et couché du soleil, c'est plus facile de le faire par programme et surtout moins long.

Et j'aimerai partir directement du fichier .dat.
J'arrive à traduire tous les champs sauf la date/heure

Je connais que le PHP et JAVA sur micro (je programme sur gros système)

voilà ce que j'obtiens avec mon programme
date            heure           pression             direction
                                     pression vitesse         

07-02-2036   18:55:38   997.6   1013.6   1.08   N   1.1   1.1   0   0   19.6   4.9   44   90
07-02-2036   18:55:38   997.6   1013.6   0   N   0   -1.1   0   0   19.6   4.8   44   90

voilà ce que j'obtiens avec EditHistory
29/11/2012      15:00                   1013.6  1.08   
29/11/2012      15:05                   1013,6  0.00

J'ai donc une question : comment avez vous d'écrit la zone date/heure. 
double fTimeStamp  // Nbr de seconde depuis le 01/01/1900 00:00:00

Pour moi un champ double fait 8 octets.

Est ce que je me trompe?           


J'ai pris la description du fichier dans le post " Format des fichiers générés par Heayvy Weather (LCT) " qui est dans le coin des développeurs.
Dans cette description, il y a 13 champs dont un non défini.
Dans EditHistory il y a 10 champs.
les 2 champs en écart sont pression absolue et pluie totale(calcul refaisable).


Slts Corinne




Re : Editeur de fichiers history.dat pour WS280* et WS360* Réponse #5 le: 13/04/2013 à 22:03:20
Bonsoir,

Volià un extrait d'une doc que j'avais mise sur ce forum le 27 juin 2011, avec un tas d'autres applis pour les WS ainsi que leurs codes sources.
Je te donne la Structure du fichier history.dat. Le post qu'il y avait sur le forum était alors incomplet et imprécis.

Structure du fichier history.dat

C'est un fichier binaire constitué d'enregistrements contigus de 56 octets.

Chaque enregistrement est constitué de 13 champs de longueur variable.

La suite, dans l'ordre, des champs est :

 - 8 octets :  ils représentent un float double pour la date et l'heure,
 (plus précisément le nombre décimal de jours depuis le 30 décembre 1899)
 - 4 octets :  ils représentent un float simple pour la pression absolue
(ce champs ne sert à rien car il contient une valeur fixe )
 - 4 octets :  ils représentent un float simple pour la Pression relative (en hPa)
 - 4 octets :  ils représentent un float simple pour la Vitesse du vent (en m/s)
 - 4 octets :  ils représentent un entier long non signé pour la Direction du vent
 (de 0 à 15 : 'N','NNE','NE','ENE','E','ESE','SE','SSE','S','SSO','SO','OSO','O','ONO','NO','NNO')
 - 4 octets :  ils représentent un float simple pour la Vitesse des rafales de vent (en m/s)
 - 4 octets :  ils représentent un float simple pour le total des pluies
 (ce champs ne sert à rien car il contient une valeur fixe)
 - 4 octets :  ils représentent un float simple pour la Pluie dans l'heure (mm)
 - 4 octets :  ils représentent un float simple pour la Température Intérieure (°C)
 - 4 octets :  ils représentent un float simple pour la Température Extérieure (°C)
 - 4 octets :  ils représentent un float simple pour la Humidité Intérieure
 - 4 octets :  ils représentent un float simple pour la Humidité Intérieure
 - 4 octets :  ils représentent un float simple (vide mais il faut le lire dans une lecture séquentielle du fichier)

Si tu sais lire un fichier binaire en PHP : pour une lecture correcte  du champs "Date-Heure", voilà ce qu'il faut écrire :

$champs= fread($fichier, 8 ); //8 est la taille d'un double sur un PC 32 bits"
$tabchamps = unpack("d", $champs);
$nbjours_1899=doubleval($tabchamps[1]);

Après il n'y a plus qu'à compter pour trouver la date et l'heure.

Bon courage...

PS : tout mon site est en PHP et je travaille qu'avec history.dat et currdat.lst pour les données immédiates. Les sauveagardes en csv me servent pour la partie historique.
« Modifié: 17/04/2013 à 08:44:00 par arredic »



Re : Editeur de fichiers history.dat pour WS280* et WS360* Réponse #6 le: 14/04/2013 à 08:17:49
Bonjour,

je vous rappel que j'avais mis sur ce site le format des fichiers history.dat pour les Ws3600 et Ws2800 icihttp://www.station-meteo.com/forum/le-coin-des-developpeurs/format-des-fichiers-generes-par-heayvy-weather-%28lct%29/

A+



post effacé, il n'a plus lieu d'être
eric
« Modifié: 17/04/2013 à 17:33:41 par erickeepcool »



Re : Editeur de fichiers history.dat pour WS280* et WS360* Réponse #8 le: 14/04/2013 à 18:58:00
Bonsoir,

Des éditeurs de fichier history.dat de LCT, j'en connais plusieurs. Outre mon programme SkinWs2800, Graphweather est aussi livré avec un. De plus sur ce forum quelque uns ont fourni des programmes dans ce sens.

A+  
« Modifié: 17/04/2013 à 12:33:48 par pschnell »



Bonjour,

Je viens de rajouter une nouvelle fonctionnalité à EditHistory.
On peut demander à EditHistory de couper un fichier history en deux suivant une date et une heure donnée (le fichier original n'est pas modifié).
J'ai ajouté une petite documentation.
Tout cela est toujours à l'adresse : www.meteo-gujan.org/Visiteurs




Bonjour,

Je viens de mettre en ligne HistoryCourantToCSV. Il est plus léger qu'EditHistory.
C'est surtout un programme DOS, il crée un fichier csv du fichier history.dat courant.
Il ne se passe rien à l'écran : donc avantage d'être planifié et envoyé en ftp.
Voir la petite doc.
Toujours à l'adresse : www.meteo-gujan.org/Visiteurs



Bonjour,


Je viens de mettre en en ligne EditHistory3.0 . Elle comporte une nouvelle fonctionnalité : elle permet l'import de fichier au format csv . Lire la documentation impérativement avant utilisation de cette option.

Cette option, ainsi que "Couper un fichier", me semblent être des nouveautés.

Tout cela est toujours à l'adresse : http://www.meteo-gujan.org/Visiteurs



Bonjour,

J'ai voulu fusionner 2 fichiers history mais j'ai un problème lorsque j'importe le fichier .csv comportant l'ensemble des données. Dans la colonne Humidité extérieure, le logiciel Edithistory m'affiche 0 à toutes les lignes.

Avez vous déjà rencontré ce problème ?
Savez vous comment récupérer les données manquantes dans le logiciel Edithistory ?

PS : Ctrl+C / Ctrl+V ne fonctionne pas

Merci d'avance

Olivier 



Bonjour,

Je viens de refaire des tests, mais je ne vois pas de dysfonctionnement.
Pouvez-vous m'envoyer vos fichiers .csv que vous avez fusionnés, ainsi que le fichier fusionné ?
L'opération de fusion est délicate, comme le précise la documentation !

Quant aux raccourcis clavier, je ne les ai pas intégrés volontairement dans mon logiciel, comme d'ailleurs toute fonction de copier-coller. J'ai essayé de "blinder" pour éviter les erreurs de compatibilité des données.



Bonjour,

Je n'arrive pas à joindre les fichiers csv compressés en zip (problème de chemin d'accès???) mais le problème provient bien des fichiers csv. Lorsque je veux enregistrer le fichier csv après fusion, excel me dit :
"fichier.csv peut contenir des informations non compatibles avec CSV (séparateur: point virgule). Voulez vous conserver le format du classeur ?"
Que je réponde Oui ou Non à la question, les valeurs de l'hygro ext. restent absentes (à partir de la 16ème ligne) lorsque j'ouvre le fichier "fusion.csv" sous Edithistory.
Novice dans le traitement des fichiers csv, pouvez m'éclaircir pour résoudre ce problème ?

Merci d'avance

Olivier




 

x

Recevez les articles par mail

emailVous êtes passionné de station météo, restons en contact ...
www.station-meteo.com: le site de référence des stations météo