Desciption: tb 2011-06-10
This little script shows a daily updated radiation map of Germany. I found this source of information quite serious.
Code:
# Version 0.1 package require base64 package require http package require Img catch { console show } # http::config -proxyhost <host> -proxyport 8080 set hConn [::http::geturl http://odlinfo.bfs.de/pics/germany.gif] catch {set data [::http::data $hConn]} catch {set imdata [::base64::encode $data]} image create photo IMG -data $imdata pack [label .l -image IMG] -fill both wm title . "Strahlungsverteilung" wm protocol . WM_DELETE_WINDOW {exit}
Reference Url:
I had to wait a little on my low end Core2Duo on Ubuntu32 for the image to get created from the base64 encoded data, so be a little patient ;)
2011-06-28 tb - The URL of the map has changed from http://odlinfo.bfs.de/bilder/germany_php.gif to http://odlinfo.bfs.de/pics/germany.gif . Code changed!
2011-06-28 tb - This version adds a procedure to scale the map on Linux using convert: It was needed because the original map is too big to display on my screen.
# Version 0.2 package require base64 package require http package require Img catch { console show } # http::config -proxyhost <host> -proxyport 8080 set hConn [::http::geturl http://odlinfo.bfs.de/pics/germany.gif] catch {set data [::http::data $hConn]} catch {set imdata [::base64::encode $data]} image create photo IMG -data $imdata proc scaleImage {percentage} { # Sorry, works only on Linux so far... set cnv [exec which convert] if {[string trim $cnv] != ""} { set infile /tmp/tsb.png set outfile /tmp/tsb_scaled.png IMG write -format PNG $infile catch {exec $cnv $infile -resample $percentage $outfile} err if {$err==""} { image delete IMG image create photo IMG -file $outfile } file delete $infile file delete $outfile } } scaleImage 50% pack [label .l -image IMG] -fill both wm title . "Strahlungsverteilung" wm protocol . WM_DELETE_WINDOW {exit}