NCCOOS Trac Projects: Top | Web | Platforms | Processing | Viz | Sprints | Sandbox | (Wind)

root/Interactive_Map/trunk/Interactive_Map/htdocs/drifters.php

Revision 20 (checked in by jcleary, 17 years ago)

Production version from Maury

Line 
1 <?php
2
3 dl('php_mapscript.so');
4
5 if (isset($HTTP_POST_VARS["tail_length"]))
6  {
7  $val_tail_length = $HTTP_POST_VARS["tail_length"];
8  }
9 else
10  {
11  $val_tail_length=2;   
12  }
13
14 $val_zsize=3;
15 $check_pan="CHECKED";
16  
17 $map_path="/opt/nccoos_map/maps/";
18 $map_file="drifter.map";
19
20 $map = ms_newMapObj($map_path.$map_file);
21
22 // set time
23 $time = date('Y_m_d_H_\00_\00', (time() - (3 * 60 * 60)));
24
25 // set temporal bracket values
26 $offset = $val_tail_length * 24;
27 $offset_tail = $offset - 24;
28
29 // set Trajectory Filter bracket
30 $layerObj = $map->getLayerByName('particle_trajectory');
31 $layerObj->setFilter("(sensor_id IN (select row_id from sensor where type_id ='1')) AND (m_date > (to_timestamp('".$time."','YYYY_MM_DD_HH_MI_SS') - interval '".$offset." hours')) AND (m_date < (to_timestamp('".$time."','YYYY_MM_DD_HH_MI_SS')))");
32                
33 // set Tail Filter bracket
34 $layerObj1 = $map->getLayerByName('particle_tail');
35 $layerObj1->setFilter("(sensor_id IN (SELECT row_id FROM sensor WHERE type_id ='1')) AND (row_id IN (select min(row_id) FROM multi_obs WHERE (m_date >(to_timestamp('".$time."','YYYY_MM_DD_HH_MI_SS') - interval '".$offset." hours')) AND (m_date < (to_timestamp('".$time."','YYYY_MM_DD_HH_MI_SS') - interval '".$offset_tail." hours')) GROUP BY platform_handle ))");
36
37 // set Head Filter time
38 $layerObj2 = $map->getLayerByName('particle_head');
39 $layerObj2->setFilter("(sensor_id IN (select row_id from sensor where type_id ='1')) AND (row_id IN (select max(row_id) FROM multi_obs WHERE (m_date > (to_timestamp('".$time."','YYYY_MM_DD_HH_MI_SS') - interval '10 hours')) AND (m_date < (to_timestamp('".$time."','YYYY_MM_DD_HH_MI_SS'))) GROUP BY platform_handle ))" );
40
41 // set Head Label Filter time
42 $layerObj3 = $map->getLayerByName('particle_head_label');
43 $layerObj3->setFilter("(sensor_id IN (select row_id from sensor where type_id ='1'))  AND (row_id IN (select max(row_id) FROM multi_obs WHERE (m_date > (to_timestamp('".$time."','YYYY_MM_DD_HH_MI_SS') - interval '10 hours' )) and  (m_date < (to_timestamp('".$time."','YYYY_MM_DD_HH_MI_SS'))) GROUP BY platform_handle ))");
44
45 if (!isset($HTTP_POST_VARS["full"]) && (isset($HTTP_POST_VARS["extent"])))
46         {
47         $extent_to_set = explode(" ",$HTTP_POST_VARS["extent"]);
48         $map->setextent($extent_to_set[0],$extent_to_set[1],
49                       $extent_to_set[2],$extent_to_set[3]);
50         }
51        
52 if (!isset($HTTP_POST_VARS["full"]) && (isset($HTTP_POST_VARS["seacoos"])))
53         {
54         // -88.5 22.5 -69.19 37.9
55         $map->setextent(-88.5,22.5,-69.19,37.9);
56         }
57
58 if ( isset($HTTP_POST_VARS["map_x"]) && isset($HTTP_POST_VARS["map_y"])
59       && !isset($HTTP_POST_VARS["full"]) ) {
60
61       $extent_to_set = explode(" ",$HTTP_POST_VARS["extent"]);
62       $map->setextent($extent_to_set[0],$extent_to_set[1],
63                       $extent_to_set[2],$extent_to_set[3]);
64
65       $my_point = ms_newpointObj();
66       $my_point->setXY($HTTP_POST_VARS["map_x"],$HTTP_POST_VARS["map_y"]);
67
68       $my_extent = ms_newrectObj();
69      $my_extent->setextent($extent_to_set[0],$extent_to_set[1],
70                               $extent_to_set[2],$extent_to_set[3]);
71
72       $zoom_factor = $HTTP_POST_VARS["zoom"]*$HTTP_POST_VARS["zsize"];
73       if ($zoom_factor == 0) {
74               $zoom_factor = 1;
75               $check_pan = "CHECKED";
76               $check_zout = "";
77               $check_zin = "";
78       } else if ($zoom_factor < 0) {
79               $check_pan = "";
80               $check_zout = "CHECKED";
81               $check_zin = "";
82       } else {
83               $check_pan = "";
84               $check_zout = "";
85               $check_zin = "CHECKED";
86       }
87
88       $val_zsize = abs($zoom_factor);
89
90       $map->zoompoint($zoom_factor,$my_point,$map->width,$map->height,
91                       $my_extent);
92
93  }
94
95 $map->selectOutputFormat(png);
96
97 $image=$map->draw();
98 $image_url=$image->saveWebImage();
99
100 $extent_to_html = $map->extent->minx." ".$map->extent->miny." "
101            .$map->extent->maxx." ".$map->extent->maxy;
102
103 ?>
104
105 <HTML>
106 <HEAD>
107 <TITLE>Drifter "Tail" Length Testing<TITLE>
108 </HEAD>
109 <BODY>
110 <FORM METHOD=POST ACTION=<?php echo $HTTP_SERVER_VARS['PHP_SELF']?>>
111 <TABLE>
112         <TR>
113                 <TD colspan = 4>
114                         <b>Request Time: <?php echo $time?> (EST/EDT).</b>   
115                 </td>
116
117         </tr>
118         <tr><td colspan=4></tr>
119         <tr>
120                 <td rowspan=8 colspan= 3>
121                         <INPUT TYPE=IMAGE NAME="map" SRC="<?php echo $image_url?>">
122                 </td>
123         </tr>
124         <TR>
125                 <TD>
126                         Re-Center <INPUT TYPE=RADIO NAME="zoom" VALUE=0 <?php echo $check_pan?>>
127                 </TD>
128         </tr>
129         <tr>
130                 <TD>
131                         Zoom In <INPUT TYPE=RADIO NAME="zoom" VALUE=1 <?php echo $check_zin?>>
132                 </TD>
133         </tr>
134         <tr>
135                 <TD>
136                         Zoom Out <INPUT TYPE=RADIO NAME="zoom" VALUE=-1 <?php echo $check_zout?>>
137                 </TD>
138         </TR>
139         <tr>
140                 <TD>
141                         Zoom Factor <INPUT TYPE=TEXT NAME="zsize" VALUE="<?php echo $val_zsize?>" SIZE=2>
142                 </TD>
143         </tr>
144         <tr><td>&nbsp;</td></tr>
145         <tr><td>&nbsp;</td></tr>
146         <tr><td>&nbsp;</td></tr>
147         <tr><td colspan=4></tr>
148         <tr>
149                 <td>
150                         Tail Length (days) <INPUT TYPE=TEXT NAME="tail_length" VALUE="<?php echo $val_tail_length?>" SIZE=1>
151                 </td>
152                         <td><INPUT TYPE=SUBMIT NAME="tail" VALUE="Redraw Tails" SIZE=2></td>
153                 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
154                 <td></td>
155         <tr><td colspan=4></tr>
156         <TR>
157                 <TD>
158                         <INPUT TYPE=SUBMIT NAME="seacoos" VALUE="SEACOOS Extent" SIZE=2>
159                 </TD>
160                 <TD>
161                         <INPUT TYPE=SUBMIT NAME="full" VALUE="RS Map Extent"  SIZE=2>
162                 </TD>
163                 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
164                 <td></td>
165         </tr>
166 </table>
167 <INPUT TYPE=HIDDEN NAME="extent" VALUE="<?php echo $extent_to_html?>">
168 </form>
169 </body>
170 </html>
171
Note: See TracBrowser for help on using the browser.