#!/usr/bin/env ruby # ================================================== # sample timebar script # $last update: 2007-04-07 16:50:09 daiki $ # ================================================== # ========== panel size PANEL_WIDTH = 0.360 PANEL_HEIGHT = 0.300 # ========== northwest panel (Non-Earth data plot) OFFSET_X_NW = 0.050 OFFSET_Y_NW = 0.650 # ========== southwest panel (Index plot) OFFSET_X_SW = 0.050 OFFSET_Y_SW = 0.035 # ========== southeast panel (Data plot) OFFSET_X_SE = 0.630 OFFSET_Y_SE = 0.035 # ========== bar [min] BAR_STEP = 10 BAR_ICON = 'red.gif' # ================================================== def kml_timebar(year, month, day, offset_x = OFFSET_X_SE, offset_y = OFFSET_Y_SE, width = PANEL_WIDTH, height = PANEL_HEIGHT, step = BAR_STEP, icon = BAR_ICON) t_start = Time.mktime(year, month, day) t_end = t_start + 86400 t_tmp = t_start t_leap = step * 60 bar_width = width * t_leap / 86400 bar_height = height bar_offset_y = offset_y kml = %Q[ Time Bar ] while(t_tmp < t_end) bar_offset_x = offset_x + width * (t_tmp - t_start) / 86400 t_tmp2 = t_tmp + t_leap - 1 kml << %Q[ 1 #{icon} #{t_tmp.strftime("%04Y-%02m-%02dT%02H:%02M:%02SZ")} #{t_tmp2.strftime("%04Y-%02m-%02dT%02H:%02M:%02SZ")} 80ffffff ] t_tmp += t_leap end kml << "\n \n" return kml end # ================================================== test kml = %Q[ ] kml << kml_timebar(2003, 10, 22) kml << kml_timebar(2003, 10, 22, OFFSET_X_NW, OFFSET_Y_NW) kml << kml_timebar(2003, 10, 22, OFFSET_X_SW, OFFSET_Y_SW) kml << "\n\n\n" $stdout.print kml exit