changeset 414:d623652df6b5

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.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 07 Jan 2017 22:37:56 +0200
parents b63525aed190
children ff932030a9b3
files fetch_weather.pl weather.tcl
diffstat 2 files changed, 22 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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};
       }
--- 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