# HG changeset patch # User Matti Hamalainen # Date 1483821476 -7200 # Node ID d623652df6b5cb87d593f7030e0fc06129aa3ea5 # Parent b63525aed190642a474f973cd48fe06277045ff8 fetch_weather / weather: Add weather measurement station location data (GPS WGS-84 lat/long/height) to weather cache. Not used in weather.tcl yet, tho. diff -r b63525aed190 -r d623652df6b5 fetch_weather.pl --- a/fetch_weather.pl Sat Jan 07 22:36:34 2017 +0200 +++ b/fetch_weather.pl Sat Jan 07 22:37:56 2017 +0200 @@ -413,6 +413,11 @@ $weatherdata->{$meta_data->{$wid}{"properties"}{"names"}{"fi"}} = [ 1, + + $meta_data->{$wid}{"geometry"}{"coordinates"}[1], + $meta_data->{$wid}{"geometry"}{"coordinates"}[0], + $meta_data->{$wid}{"geometry"}{"coordinates"}[2], + str2time(plonk_data($wdata->{"measurementtime"}{"utc"})), plonk_data($wdata->{"airtemperature1"}), @@ -531,6 +536,10 @@ [ 1, + $frec->{"lat"}, + $frec->{"long"}, + 0, + plonk_data($frec->{"time"}), plonk_data($frec->{"temperature"}), @@ -575,7 +584,7 @@ foreach my $key (keys %$weatherdata) { - if ($wqtime - $weatherdata->{$key}[1] > (60 * $purge)) + if ($wqtime - $weatherdata->{$key}[4] > (60 * $purge)) { delete $$weatherdata{$key}; } diff -r b63525aed190 -r d623652df6b5 weather.tcl --- a/weather.tcl Sat Jan 07 22:36:34 2017 +0200 +++ b/weather.tcl Sat Jan 07 22:37:56 2017 +0200 @@ -143,7 +143,10 @@ array unset uvals set uvals(station) [lindex $udata 0] set uvals(type) [lindex $udata 1] - set uvals(vtime) [lindex $udata 2] + set uvals(c_lat) [lindex $udata 2] + set uvals(c_long) [lindex $udata 3] + set uvals(c_height) [lindex $udata 4] + set uvals(vtime) [lindex $udata 5] if {[expr [clock seconds] - $uvals(vtime)] < 3600} { set uvals(ctime) [clock format $uvals(vtime) -format "%H:%M"] @@ -151,16 +154,16 @@ set uvals(ctime) [clock format $uvals(vtime) -format "%H:%M (%d.%m.%Y)"] } - set uvals(temp) [lindex $udata 3] + set uvals(temp) [lindex $udata 6] if {[lindex $udata 1] == 0} { - set uvals(road_temp) [lindex $udata 4] - set uvals(weather1) [lindex $udata 5] - set uvals(weather2) [lindex $udata 6] + set uvals(road_temp) [lindex $udata 7] + set uvals(weather1) [lindex $udata 8] + set uvals(weather2) [lindex $udata 9] } else { - set uvals(humidity) [lindex $udata 4] - set uvals(wind_speed) [lindex $udata 5] - set uvals(cloud_cover) [lindex $udata 6] + set uvals(humidity) [lindex $udata 7] + set uvals(wind_speed) [lindex $udata 8] + set uvals(cloud_cover) [lindex $udata 9] } # Transform the format list @@ -208,7 +211,7 @@ gets $ufile uline set udata [split $uline "|"] if {[llength $udata] > 0} { - set utemp [lindex $udata 3] + set utemp [lindex $udata 6] set ukey [lindex $udata 0] set weather_data($ukey) $udata