Sebaas Posté(e) 12 octobre 2017 Montpellier (34), Montreuil (93) ou Ciran (37) Partager Posté(e) 12 octobre 2017 Il y a 1 heure, Damien49 a dit : Wind_mph c'est le vent en rafale instantanée, c'est à dire dans la seconde pratiquement. 2,5 sec précisément, c a d le pas de mesure de l'anémo, du boitier SIM et de la console Davis. Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 12 octobre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 12 octobre 2017 Soit 2.5sec, mais ça reste trop versatile comme mesure. Vous faites comment vous sur IC pour récupérer le vent en rafale sur 10mn ? Lien à poster Partager sur d’autres sites More sharing options...
alsavosges Posté(e) 12 octobre 2017 Goldbach-Altenbach (68) 705 m Versant Sud du Grand Ballon (1424 m) Partager Posté(e) 12 octobre 2017 (modifié) Il y a 3 heures, Damien49 a dit : Et c'est là que je me demande si <wind_ten_min_avg_mph> est bien en fait le vent moyen du coup. Oui (avg = average = moyen), mais sur les 10 dernières minutes à priori. C'est peut-être une moyenne des rafales sur les 10 dernières minutes alors... Modifié 12 octobre 2017 par alsavosges Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 12 octobre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 12 octobre 2017 Ok merci, on avance... Mais je me demande dans ce cas comment distinguer le vent en rafale du vent moyen, sur les 10 dernières minutes. Faut-il que je n'enregistre ma valeur de rafale (de 2.5sec) qu'1 fois toutes les 10 minutes (avec un petit code php ça doit être faisable je pense) ? Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 12 octobre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 12 octobre 2017 En cherchant des réponses à mes questions je suis tombé par hasards sur ça : http://www.gustalert.com/home.php Le mec à codé comme un taré. Tout est fourni gratos, scripts php, cron etc.... Je vais épluché tout ça ^^ Quelqu'un connaissait ? 2 Lien à poster Partager sur d’autres sites More sharing options...
fafou Posté(e) 13 octobre 2017 Partager Posté(e) 13 octobre 2017 Si tu as une Vantage Pro2 , la période à laquelle tes données de vent sont envoyées à ta station dépend de l'ID de ton transmetteur. Période d'envoie = (41+ID-1) / 16 secondes, ID étant l'ID de ton transmetteur de données de l'anémomètre (généralement 1 ou 2) Le wind_mph est la dernière vitesse de vent que la station avait mesurée avant d'être envoyé à weatherlink.com le wind_ten_min_avg_mph est la moyenne des vitesses de vent mesurées pendant les dix dernières minutes avant d'être envoyé à weatherlink.com Quand tu dis que tu voudrais afficher plutôt le vent en rafale sur 10mn, est ce que tu veux la plus forte valeur de vent pendant les 10 dernières minutes ou bien est ce autre chose ? Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 13 octobre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 13 octobre 2017 C'est simple je voudrais afficher la même chose qu'ici : http://www.infoclimat.fr/observations-meteo/temps-reel/la-chapelle-saint-florent/000HR.html Lien à poster Partager sur d’autres sites More sharing options...
jackT Posté(e) 13 octobre 2017 Sciez Partager Posté(e) 13 octobre 2017 Il y a 17 heures, Damien49 a dit : Soit 2.5sec, mais ça reste trop versatile comme mesure. Vous faites comment vous sur IC pour récupérer le vent en rafale sur 10mn ? Pour info, il y a deux manières de récupérer le XML des données de la station via weatherlink : Celle décrite plus haut : http://www.weatherlink.com/xml.php?user=nom_station&pass=mot_de_passe Et celle-ci : http://api.weatherlink.com/v1/NoaaExt.xml?DID=mon_ID&key=ma_clé ( en utilisant l'ID et key indiqué dans la section "My Device" des paramètres de votre station dans weatherlink.com) Les données XML récupérées avec ces deux liens sont identiques, à une exception près : le lien vers api:weatherlink.com retourne une variable supplémentaire : <wind_ten_min_gust_mph>, qui est justement la rafale max sur 10 min. 2 1 Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 13 octobre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 13 octobre 2017 il y a 45 minutes, jackT a dit : Pour info, il y a deux manières de récupérer le XML des données de la station via weatherlink : Celle décrite plus haut : http://www.weatherlink.com/xml.php?user=nom_station&pass=mot_de_passe Et celle-ci : http://api.weatherlink.com/v1/NoaaExt.xml?DID=mon_ID&key=ma_clé ( en utilisant l'ID et key indiqué dans la section "My Device" des paramètres de votre station dans weatherlink.com) Les données XML récupérées avec ces deux liens sont identiques, à une exception près : le lien vers api:weatherlink.com retourne une variable supplémentaire : <wind_ten_min_gust_mph>, qui est justement la rafale max sur 10 min. Incroyable. Merci jackT, ça explique tout. Lien à poster Partager sur d’autres sites More sharing options...
fafou Posté(e) 13 octobre 2017 Partager Posté(e) 13 octobre 2017 Ok je comprends mieux ta requête maintenant. Merci à JackT pour son autre façon de récupérer cette information. En creusant un peu, je trouve quand même des problèmes de cohérence chez Davis entre les données gérées par le firmware de la console, le logiciel weatherlink et les divers moyens de récupérer les informations par weatherlink.com. Par exemple, le firmware de la console gère les données courantes suivantes (voir page 26 ici): Wind direction 10 min Avg Wind Speed 2 min Avg Wind Speed 10 min Wind Gust Speed Wind Direction for the 10 min Wind Guest Les données 1,2,3,4 sont visibles quand on se rend sur le site de weatherlink.com et qu'on regarde le summary de notre station. Par contre la donnée 5 n'y est pas. La commande http://www.weatherlink.com/xml.php?user=username&pass=password récupère les données 1 et 2 mais pas les 3,4,5. La commande http://api.weatherlink.com/v1/NoaaExt.xml?DID=mon_ID&key récupère les données 1, 2 et 4 mais pas les 3 et 5. Les tags HTML weatherlink permettent de récupérer les données 1 et 2 mais pas les 3,4,5. Avec le problème de cohérence que j'ai mentionné également ici sur le calcul de pourcentage des données reçues, J'ai le sentiment qu'il y a un manque de moyen chez Davis pour avoir un soft cohérent dans son ensemble. C'est dommage vu le positionnement de Davis. 1 Lien à poster Partager sur d’autres sites More sharing options...
_Joel_ Posté(e) 13 octobre 2017 Belgique Partager Posté(e) 13 octobre 2017 (modifié) Le 12/10/2017 à 16:07, Damien49 a dit : J'ai toujours un doute concernant : wind_ten_min_avg_mph wind_mph Wind_mph c'est le vent en rafale instantanée, c'est à dire dans la seconde pratiquement. Dès que je fais F5 ça change de valeur. A la limite je voudrais afficher plutôt le vent en rafale sur 10mn, ça donnerait une valeur un peu plus stable et réelle, plutôt qu'un truc qui fait constamment le yoyo et donc illisible. Et c'est là que je me demande si <wind_ten_min_avg_mph> est bien en fait le vent moyen du coup. avg est généralement l'abréviation de average, c'est-à-dire moyenne Et "ten min", à part 10 minutes, je ne vois pas ce que ça pourrait-être On se retrouve donc avec : vent moyen sur 10 minutes Edit : je viens de me rendre compte que j'ai répondu à un message se trouvant en bas de la page 1, sans voir que la réponse avait été donnée en page 2 ... Modifié 14 octobre 2017 par _Joel_ Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 24 novembre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 24 novembre 2017 Est-ce que quelqu'un pourrait me donner la variable dans le fichier XML qui correspond à l'indice UV pour les possesseurs de sonde UV ? J'ai pas de sonde UV perso, mais j'ai besoin de la connaitre pour un projet. Merci. Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 25 novembre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 25 novembre 2017 <uv_index> peut-être ? Le problème c'est que si je me réfère à un fichier XML vide, qui devrait normalement avoir tous les champs disponibles, je ne vois rien concernant une sonde UV : http://www.weatherlink.com/xml.php?user=dfgdgfdfg&pass=54646456 (même chose en utilisant l'API http://api.weatherlink.com/v1/NoaaExt.xml?DID=%24my_did&key=%24my_key) alors qu'on a bien les champs pour une sonde d’ensoleillement par contre. Bizarre... Lien à poster Partager sur d’autres sites More sharing options...
_Joel_ Posté(e) 25 novembre 2017 Belgique Partager Posté(e) 25 novembre 2017 Tu as essayé ceci ? <xsd:element type="xsd:decimal" name="uv_index" minOccurs="0" /> <xsd:element type="xsd:decimal" name="uv_index_day_high" minOccurs="0" /> <xsd:element type="xsd:string" name="uv_index_day_high_time" minOccurs="0" /> <xsd:element type="xsd:decimal" name="uv_index_month_high" minOccurs="0" /> <xsd:element type="xsd:decimal" name="uv_index_year_high" minOccurs="0" /> Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 25 novembre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 25 novembre 2017 Merci mais tu sors ça d'où ? C'est quoi ? En fait il faudrait que quelqu'un qui possède une sonde UV, aille sur un des 2 liens XML que j'ai donné plus haut (en mettant ses propres identifiants) et me donne le champ lié à sa sonde. S'il en existe un. Par exemple Infoclimat récupère bien l'index UV de quelque-part. N'ayant pas de sonde UV je ne peux pas le faire moi-même. Car si j'essaye de la récupérer via mon propre fichier XML, foreach($xml->davis_current_observation->uv_index as $uv_index); ça me donne forcément une erreur PHP comme quoi la variable n'existe pas. PS : vous me direz forcément, pourquoi tu veux récupérer une variable que t'as pas ? Et je vous répondrais, vous verrez plus tard, c'est un secret, mais sachez que ça vous sera utile peut-être plus tard ^^ Lien à poster Partager sur d’autres sites More sharing options...
Sebaas Posté(e) 25 novembre 2017 Montpellier (34), Montreuil (93) ou Ciran (37) Partager Posté(e) 25 novembre 2017 Dans mon fichier xml, j'ai ça actuellement: <uv_index>0.0</uv_index> <uv_index_day_high>1.2</uv_index_day_high> <uv_index_day_high_time>11:32am</uv_index_day_high_time> <uv_index_month_high>1.8</uv_index_month_high> <uv_index_year_high>10.1</uv_index_year_high> 1 Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 25 novembre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 25 novembre 2017 Ok super Sebaas, merci. Via l'API ou le lien xml standard ? Lien à poster Partager sur d’autres sites More sharing options...
Sebaas Posté(e) 25 novembre 2017 Montpellier (34), Montreuil (93) ou Ciran (37) Partager Posté(e) 25 novembre 2017 XML standard. Mais via l'API, j'ai exactement la même chose, les champs sont les mêmes de toute manière non? 1 Lien à poster Partager sur d’autres sites More sharing options...
_Joel_ Posté(e) 25 novembre 2017 Belgique Partager Posté(e) 25 novembre 2017 il y a une heure, Damien49 a dit : Merci mais tu sors ça d'où ? C'est quoi ? Heu, mais je le sors du lien que tu as posté : http://www.weatherlink.com/xml.php?user=dfgdgfdfg&pass=54646456 A la première ligne du fichier XML obtenu par ce lien, tu trouves le lien vers la description du contenu : <current_observation version="1.0" xsi:noNamespaceSchemaLocation="https://s3.amazonaws.com/static.weatherlink.com/noaa_davis_current_observation.xsd"> Si tu prends la peine de le consulter, tu trouveras la liste de tous les éléments possibles du fichier XML et leur format. Par exemple (que j'ai posté plus haut) : <xsd:element type="xsd:decimal" name="uv_index" minOccurs="0" /> L'élément s'appelle "uv_index" et est de type "decimal". minOccurs="0" indique qu'il est facultatif. 1 Lien à poster Partager sur d’autres sites More sharing options...
fafou Posté(e) 25 novembre 2017 Partager Posté(e) 25 novembre 2017 (modifié) Bonjour Damien49 J'ai une sonde UV et je récupère les données. Je suis parti de ton extrait dans la première page de ton post que je l'ai modifié (voir ci-dessous) myDID et mykey correpondent au identifiant de ton compte weatherlink. Je te laisse regarder cela. Sinon j'adore ta fonction DegToCompass. J'ai été épaté de trouver la direction avec une seule ligne de calcul . Il a fallu que je réfléchisse un peu pour la comprendre mais je trouve cela d'une efficacité redoutable. Sinon pour les index UV. Tu peux voir le résultat sur la page d'accueil de mon site ici: http://www.meteoengins.fr/ fafou $file = file_get_contents('http://api.weatherlink.com/v1/NoaaExt.xml?DID='.$myDID.'&key='.$mykey); $xml=simplexml_load_string($file); foreach($xml->observation_time_rfc822 as $time_tmp){} //RFC822 format // Humidité foreach($xml->relative_humidity as $current_humidity){} foreach($xml->davis_current_observation->relative_humidity_day_high as $hilow_humidity_day_high){} foreach($xml->davis_current_observation->relative_humidity_day_high_time as $hilow_humidity_day_high_time_tmp){} foreach($xml->davis_current_observation->relative_humidity_day_low as $hilow_humidity_day_low){} foreach($xml->davis_current_observation->relative_humidity_day_low_time as $hilow_humidity_day_low_time_tmp){} foreach($xml->davis_current_observation->relative_humidity_month_high as $hilow_humidity_month_high){} // Rest of humidity data below are not returned in the XML file : make a request to Davis // foreach($xml->davis_current_observation->relative_humidity_month_low as $hilow_humidity_month_low){} // foreach($xml->davis_current_observation->relative_humidity_year_high as $hilow_humidity_year_high){} // foreach($xml->davis_current_observation->relative_humidity_year_low as $hilow_humidity_year_low){} // Pression atmosphérique foreach($xml->pressure_mb as $current_pressure){} foreach($xml->davis_current_observation->pressure_tendency_string as $current_pressure_trend_tmp){} foreach($xml->davis_current_observation->pressure_day_high_in as $hilow_pressure_day_high_in_tmp){} foreach($xml->davis_current_observation->pressure_day_high_time as $hilow_pressure_day_high_time_tmp){} foreach($xml->davis_current_observation->pressure_day_low_in as $hilow_pressure_day_low_in_tmp){} foreach($xml->davis_current_observation->pressure_day_low_time as $hilow_pressure_day_low_time_tmp){} foreach($xml->davis_current_observation->pressure_month_high_in as $hilow_pressure_month_high_in_tmp){} foreach($xml->davis_current_observation->pressure_month_low_in as $hilow_pressure_month_low_in_tmp){} foreach($xml->davis_current_observation->pressure_year_high_in as $hilow_pressure_year_high_in_tmp){} foreach($xml->davis_current_observation->pressure_year_low_in as $hilow_pressure_year_low_in_tmp){} // Temperature foreach($xml->temp_c as $current_temperature){} foreach($xml->davis_current_observation->temp_day_high_f as $hilow_temperature_day_high_f_tmp){} foreach($xml->davis_current_observation->temp_day_high_time as $hilow_temperature_day_high_time_tmp){} foreach($xml->davis_current_observation->temp_day_low_f as $hilow_temperature_day_low_f_tmp){} foreach($xml->davis_current_observation->temp_day_low_time as $hilow_temperature_day_low_time_tmp){} foreach($xml->davis_current_observation->temp_month_high_f as $hilow_temperature_month_high_f_tmp){} foreach($xml->davis_current_observation->temp_month_low_f as $hilow_temperature_month_low_f_tmp){} foreach($xml->davis_current_observation->temp_year_high_f as $hilow_temperature_year_high_f_tmp){} foreach($xml->davis_current_observation->temp_year_low_f as $hilow_temperature_year_low_f_tmp){} // Point de rosée foreach($xml->dewpoint_c as $current_dewpoint){} foreach($xml->davis_current_observation->dewpoint_day_high_f as $hilow_dewpoint_day_high_f_tmp){} foreach($xml->davis_current_observation->dewpoint_day_high_time as $hilow_dewpoint_day_high_time_tmp){} foreach($xml->davis_current_observation->dewpoint_day_low_f as $hilow_dewpoint_day_low_f_tmp){} foreach($xml->davis_current_observation->dewpoint_day_low_time as $hilow_dewpoint_day_low_time_tmp){} foreach($xml->davis_current_observation->dewpoint_month_high_f as $hilow_dewpoint_month_high_f_tmp){} foreach($xml->davis_current_observation->dewpoint_month_low_f as $hilow_dewpoint_month_low_f_tmp){} foreach($xml->davis_current_observation->dewpoint_year_high_f as $hilow_dewpoint_year_high_f_tmp){} foreach($xml->davis_current_observation->dewpoint_year_low_f as $hilow_dewpoint_year_low_f_tmp){} // Indice de chaleur : Heat index foreach($xml->heat_index_c as $current_heat_index){} foreach($xml->davis_current_observation->heat_index_day_high_f as $hilow_heat_index_day_high_f_tmp){} foreach($xml->davis_current_observation->heat_index_day_high_time as $hilow_heat_index_day_high_time_tmp){} foreach($xml->davis_current_observation->heat_index_month_high_f as $hilow_heat_index_month_high_f_tmp){} foreach($xml->davis_current_observation->heat_index_year_high_f as $hilow_heat_index_year_high_f_tmp){} // Indice de refroississement Eolien (IRE) - Windchill foreach($xml->windchill_c as $current_windchill){} foreach($xml->davis_current_observation->windchill_day_low_f as $hilow_windchill_day_low_f_tmp){} foreach($xml->davis_current_observation->windchill_day_low_time as $hilow_windchill_day_low_time_tmp){} foreach($xml->davis_current_observation->windchill_month_low_f as $hilow_windchill_month_low_f_tmp){} foreach($xml->davis_current_observation->windchill_year_low_f as $hilow_windchill_year_low_f_tmp){} // rain fall foreach($xml->davis_current_observation->rain_day_in as $current_rain_tmp){} //en inches foreach($xml->davis_current_observation->rain_month_in as $current_rain_m_tmp){} //en inches foreach($xml->davis_current_observation->rain_year_in as $current_rain_y_tmp){} //en inches foreach($xml->davis_current_observation->rain_storm_in as $current_rain_storm_tmp){} //en inches // rain fall rate foreach($xml->davis_current_observation->rain_rate_in_per_hr as $current_rain_rate_tmp){} //actuel; en inches foreach($xml->davis_current_observation->rain_rate_hour_high_in_per_hr as $hilow_rain_rate_hour_high_tmp){} // Plus fort rainrate la dernière heure : en inches foreach($xml->davis_current_observation->rain_rate_day_high_in_per_hr as $hilow_rain_rate_day_high_tmp){} // Plus fort rainrate ce jour : en inches foreach($xml->davis_current_observation->rain_rate_month_high_in_per_hr as $hilow_rain_rate_month_high_tmp){} // Plus fort rainrate ce mois : en inches foreach($xml->davis_current_observation->rain_rate_year_high_in_per_hr as $hilow_rain_rate_year_high_tmp){} // Plus fort rainrate cette année : en inches // Solar foreach($xml->davis_current_observation->solar_radiation as $current_solar_radiation){} foreach($xml->davis_current_observation->solar_radiation_day_high as $hilow_solar_radiation_day_high){} foreach($xml->davis_current_observation->solar_radiation_day_high_time as $hilow_solar_radiation_day_high_time_tmp){} foreach($xml->davis_current_observation->solar_radiation_month_high as $hilow_solar_radiation_month_high){} foreach($xml->davis_current_observation->solar_radiation_year_high as $hilow_solar_radiation_year_high){} // UV foreach($xml->davis_current_observation->uv_index as $current_uv_index){} foreach($xml->davis_current_observation->uv_index_day_high as $hilow_uv_index_day_high){} foreach($xml->davis_current_observation->uv_index_day_high_time as $hilow_uv_index_day_high_time_tmp){} foreach($xml->davis_current_observation->uv_index_month_high as $hilow_uv_index_month_high){} foreach($xml->davis_current_observation->uv_index_year_high as $hilow_uv_index_year_high){} // Wind foreach($xml->wind_mph as $current_wind_tmp){} //en mph foreach($xml->wind_degrees as $current_wind_dir_degrees){} foreach($xml->wind_dir as $current_wind_dir){} //foreach($xml->davis_current_observation->wind_two_min_avg_mph as $current_wind_two_min_avg_mph_tmp){} foreach($xml->davis_current_observation->wind_ten_min_avg_mph as $current_wind_ten_min_avg_mph_tmp){} foreach($xml->davis_current_observation->wind_ten_min_gust_mph as $current_wind_ten_min_gust_mph_tmp){} foreach($xml->davis_current_observation->wind_day_high_mph as $hilow_wind_day_high_mph_tmp){} foreach($xml->davis_current_observation->wind_day_high_time as $hilow_wind_day_high_time_tmp){} foreach($xml->davis_current_observation->wind_month_high_mph as $hilow_wind_month_high_mph_tmp){} foreach($xml->davis_current_observation->wind_year_high_mph as $hilow_wind_year_high_mph_tmp){} $current_wind = round(floatval($current_wind_tmp) * 1.6093,1); $current_wind_dir = degToCompass($current_wind_dir_degrees); //$current_wind_two_min_avg = round(floatval($current_wind_two_min_avg_mph_tmp) * 1.6093,1); $current_wind_ten_min_avg = round(floatval($current_wind_ten_min_avg_mph_tmp) * 1.6093,1); $current_wind_ten_min_gust = round(floatval($current_wind_ten_min_gust_mph_tmp) * 1.6093,1); $hilow_wind_day_high = round(floatval($hilow_wind_day_high_mph_tmp) * 1.6093,1); $hilow_wind_month_high = round(floatval($hilow_wind_month_high_mph_tmp) * 1.6093,1); $hilow_wind_year_high = round(floatval($hilow_wind_year_high_mph_tmp) * 1.6093,1); $hilow_wind_day_high_time = date("H:i",strtotime($hilow_wind_day_high_time_tmp)); $current_rain_day = round(floatval($current_rain_tmp) * 25.4,1); $current_rain_month = round(floatval($current_rain_m_tmp) * 25.4,1); $current_rain_year = round(floatval($current_rain_y_tmp) * 25.4,1); $current_rain_storm = round(floatval($current_rain_storm_tmp) * 25.4,1); $current_rain_rate = round(floatval($current_rain_rate_tmp) * 25.4,1); $hilow_rain_rate_hour_high = round(floatval($hilow_rain_rate_hour_high_tmp) * 25.4,1); $hilow_rain_rate_day_high = round(floatval($hilow_rain_rate_day_high_tmp) * 25.4,1); $hilow_rain_rate_month_high = round(floatval($hilow_rain_rate_month_high_tmp) * 25.4,1); $hilow_rain_rate_year_high = round(floatval($hilow_rain_rate_year_high_tmp) * 25.4,1); $hilow_heat_index_day_high = round((5/9) * (floatval($hilow_heat_index_day_high_f_tmp) - 32),1); $hilow_heat_index_month_high = round((5/9) * (floatval($hilow_heat_index_month_high_f_tmp) - 32),1); $hilow_heat_index_year_high = round((5/9) * (floatval($hilow_heat_index_year_high_f_tmp) - 32),1); $hilow_heat_index_day_high_time = date("H:i",strtotime($hilow_heat_index_day_high_time_tmp)); $hilow_windchill_day_low = round((5/9) * (floatval($hilow_windchill_day_low_f_tmp) - 32),1); $hilow_windchill_month_low = round((5/9) * (floatval($hilow_windchill_month_low_f_tmp) - 32),1); $hilow_windchill_year_low = round((5/9) * (floatval($hilow_windchill_year_low_f_tmp) - 32),1); $hilow_windchill_day_low_time = date("H:i",strtotime($hilow_windchill_day_low_time_tmp)); $hilow_dewpoint_day_high = round((5/9) * (floatval($hilow_dewpoint_day_high_f_tmp) - 32),1); $hilow_dewpoint_day_low = round((5/9) * (floatval($hilow_dewpoint_day_low_f_tmp) - 32),1); $hilow_dewpoint_month_high = round((5/9) * (floatval($hilow_dewpoint_month_high_f_tmp) - 32),1); $hilow_dewpoint_month_low = round((5/9) * (floatval($hilow_dewpoint_month_low_f_tmp) - 32),1); $hilow_dewpoint_year_high = round((5/9) * (floatval($hilow_dewpoint_year_high_f_tmp) - 32),1); $hilow_dewpoint_year_low = round((5/9) * (floatval($hilow_dewpoint_year_low_f_tmp) - 32),1); $hilow_dewpoint_day_high_time = date("H:i",strtotime($hilow_dewpoint_day_high_time_tmp)); $hilow_dewpoint_day_low_time = date("H:i",strtotime($hilow_dewpoint_day_low_time_tmp)); $hilow_temperature_day_high = round((5/9) * (floatval($hilow_temperature_day_high_f_tmp) - 32),1); $hilow_temperature_day_low = round((5/9) * (floatval($hilow_temperature_day_low_f_tmp) - 32),1); $hilow_temperature_month_high = round((5/9) * (floatval($hilow_temperature_month_high_f_tmp) - 32),1); $hilow_temperature_month_low = round((5/9) * (floatval($hilow_temperature_month_low_f_tmp) - 32),1); $hilow_temperature_year_high = round((5/9) * (floatval($hilow_temperature_year_high_f_tmp) - 32),1); $hilow_temperature_year_low = round((5/9) * (floatval($hilow_temperature_year_low_f_tmp) - 32),1); $hilow_temperature_day_high_time = date("H:i",strtotime($hilow_temperature_day_high_time_tmp)); $hilow_temperature_day_low_time = date("H:i",strtotime($hilow_temperature_day_low_time_tmp)); $hilow_pressure_day_high = round(floatval($hilow_pressure_day_high_in_tmp) * 33.863887,1); $hilow_pressure_day_low = round(floatval($hilow_pressure_day_low_in_tmp) * 33.863887,1); $hilow_pressure_month_high = round(floatval($hilow_pressure_month_high_in_tmp) * 33.863887,1); $hilow_pressure_month_low = round(floatval($hilow_pressure_month_low_in_tmp) * 33.863887,1); $hilow_pressure_year_high = round(floatval($hilow_pressure_year_high_in_tmp) * 33.863887,1); $hilow_pressure_year_low = round(floatval($hilow_pressure_year_low_in_tmp) * 33.863887,1); $hilow_pressure_day_high_time = date("H:i",strtotime($hilow_pressure_day_high_time_tmp)); $hilow_pressure_day_low_time = date("H:i",strtotime($hilow_pressure_day_low_time_tmp)); $current_pressure_trend=PressTrendString($current_pressure_trend_tmp); $hilow_humidity_day_high_time = date("H:i",strtotime($hilow_humidity_day_high_time_tmp)); $hilow_humidity_day_low_time = date("H:i",strtotime($hilow_humidity_day_low_time_tmp)); // Les tests ci-dessous sont rajoutés car ces données ne sont pas toujours présentes dans le fichier xml $hilow_uv_index_day_high = (isset ($hilow_uv_index_day_high)== TRUE)?$hilow_uv_index_day_high:"---"; $hilow_solar_radiation_day_high = (isset ($hilow_solar_radiation_day_high)== TRUE)?$hilow_solar_radiation_day_high:"---"; if (isset($hilow_uv_index_day_high_time_tmp)) { $hilow_uv_index_day_high_time = date("H:i",strtotime($hilow_uv_index_day_high_time_tmp)); } else { $hilow_uv_index_day_high_time = "---"; } if (isset($hilow_solar_radiation_day_high_time_tmp)) { $hilow_solar_radiation_day_high_time = date("H:i",strtotime($hilow_solar_radiation_day_high_time_tmp)); } else { $hilow_solar_radiation_day_high_time = "---"; } // Rest of humidity data below are not returned in the XML file : make a request to Davis $hilow_humidity_month_low = (isset ($hilow_humidity_month_low)== TRUE)?$hilow_humidity_month_low:"---"; $hilow_humidity_year_high = (isset ($hilow_humidity_year_high)== TRUE)?$hilow_humidity_year_high:"---"; $hilow_humidity_year_low = (isset ($hilow_humidity_year_low)== TRUE)?$hilow_humidity_year_low:"---"; function degToCompass($dir) { $val=floor(($dir/22.5)+.5); $arr=array("Nord","Nord Nord Est","Nord Est","Est Nord Est","Est","Est Sud Est", "Sud Est", "Sud Sud Est","Sud","Sud Sud Ouest","Sud Ouest","Ouest Sud Ouest","Ouest","Ouest Nord Ouest","Nord Ouest","Nord Nord Ouest"); return $arr[($val % 16)]; } function PressTrendImg($press_trend) { $press_trend=str_replace("Steady","/Images/VP2/stable.png",$press_trend); $press_trend=str_replace("Falling Slowly","/Images/VP2/fleche_bas.png",$press_trend); $press_trend=str_replace("Rising Slowly","/Images/VP2/fleche_haut.png",$press_trend); $press_trend=str_replace("Falling Rapidly","/Images/VP2/fleche_bas1.png",$press_trend); $press_trend=str_replace("Rising Rapidly","/Images/VP2/fleche_haut1.png",$press_trend); return $press_trend; } function PressTrendString($press_trend) { $press_trend=str_replace("Steady","Stable",$press_trend); $press_trend=str_replace("Falling Slowly","Baisse Lentement",$press_trend); $press_trend=str_replace("Rising Slowly","Augmente Lentement",$press_trend); $press_trend=str_replace("Falling Rapidly","Baisse Rapidement",$press_trend); $press_trend=str_replace("Rising Rapidly","Augmente Rapidement",$press_trend); return $press_trend; } ini_set("date.timezone", "Europe/Paris"); date_default_timezone_set('Europe/Paris'); //Heure été/hiver $date_xml = strtotime($time_tmp); $date = date("d-m-Y à H:i", $date_xml); $time = date("H:i", $date_xml); Modifié 25 novembre 2017 par fafou 1 Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 26 novembre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 26 novembre 2017 Ok merci à tous. Citation Heu, mais je le sors du lien que tu as posté : http://www.weatherlink.com/xml.php?user=dfgdgfdfg&pass=54646456 A la première ligne du fichier XML obtenu par ce lien, tu trouves le lien vers la description du contenu : <current_observation version="1.0" xsi:noNamespaceSchemaLocation="https://s3.amazonaws.com/static.weatherlink.com/noaa_davis_current_observation.xsd"> Si tu prends la peine de le consulter, tu trouveras la liste de tous les éléments possibles du fichier XML et leur format. Par exemple (que j'ai posté plus haut) : <xsd:element type="xsd:decimal" name="uv_index" minOccurs="0" /> L'élément s'appelle "uv_index" et est de type "decimal". minOccurs="0" indique qu'il est facultatif. Ha oui j'avais la réponse à ma question dès le début en fait, j'avais jamais eu la curiosité d'aller voir à quoi ce referait le fichier xsd en fait ^^ Y'a tous les champs et même ceux dont on ne dispose pas, c'est cool. Yes fafou, pour le deg tocompass, le +0.5 m'a fait arracher les cheveux je dois t'avouer, n'étant pas hyper matheux à la base, ça marche aussi avec seulement 8 pts cardinaux ^^ function degToCompassSmallFR($wind_degrees) { $val=floor(($wind_degrees/45)+.5); $arr=array("N","NE","E","SE","S","SO","O","NO"); return $arr[($val % 8)]; } Et si t'aimes les scripts je suis sur un projet qui devrait te plaire. Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 9 décembre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 9 décembre 2017 Je viens de me rendre compte que les 3 données liés au THSW : http://webpages.charter.net/rdgweather/THSW.htm <thsw_index_day_high_f> <thsw_index_day_high_time> <thsw_index_month_high_f> ne sont pas disponibles via l'API (DID+KEY), mais seulement via le lien xml classique (nom station + mot de passe). C'est vraiment dommage. J'espère qu'ils vont harmoniser ça avec leur projet weatherlink2.0. Je me demandais aussi s'il était possible de récupérer les données lié au temps qu'il va faire dans les 12 prochaines heures que l'on voit ici : https://www.weatherlink.com/user/meteobell/index.php?view=summary&headers=1 sur la ligne : "12 Hour Forecast" Quelqu'un a une idée ? Lien à poster Partager sur d’autres sites More sharing options...
Sebaas Posté(e) 9 décembre 2017 Montpellier (34), Montreuil (93) ou Ciran (37) Partager Posté(e) 9 décembre 2017 il y a 4 minutes, Damien49 a dit : J'espère qu'ils vont harmoniser ça avec leur projet weatherlink2.0. C'est pas gagné du tout, quand on voit la gueule du XML généré pour notre station installée hier dans le Perche... <observation_time>Last Updated on Dec 9 2017, 5:38 am GMT</observation_time> <observation_time_rfc822>Sat, 9 Dec 2017 05:38:24 +0000</observation_time_rfc822> <relative_humidity/> <temp_c>-17.8</temp_c> <temp_f>0.0</temp_f> <temperature_string>0.0 F (-17.8 C)</temperature_string> <wind_kt>0</wind_kt> <wind_mph/> <windchill_c>-17.8</windchill_c> <windchill_f/> <windchill_string> F (-17.8 C)</windchill_string> 1 Lien à poster Partager sur d’autres sites More sharing options...
Damien49 Posté(e) 9 décembre 2017 La-Chapelle-Saint-Florent - 49 (proche 44, bord Loire) Auteur Partager Posté(e) 9 décembre 2017 Bah va falloir gueuler alors, parce que ça n'a aucun intéret leur truc s'ils ne l'améliorent pas et surtout si ça casse tous les sites qui l'utilise. Concernant ma demande, j'ai trouvé une méthode sinon pour parser directement la page html summary en données : https://openclassrooms.com/forum/sujet/import-automatique-donnees-d-une-page-php-vers-sql?page=1#message-91340512 mais bon ça serait plus propre de passer par du xml-api quand même. Lien à poster Partager sur d’autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant