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> </td></tr> |
---|
145 |
<tr><td> </td></tr> |
---|
146 |
<tr><td> </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> </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> </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 |
|
---|