$uomOrig = ''; $uom = ''; // usgs isn't sos, so treat it differently if (isset($_REQUEST['USGS'])) { $xml = @simplexml_load_file(substr($_SERVER["REQUEST_URI"], strpos($_SERVER["REQUEST_URI"], '&USGS=') + 6)); foreach ($xml->children('http://www.cuahsi.org/waterML/1.1/')->{'timeSeries'} as $ts) { $var = $ts->children('http://www.cuahsi.org/waterML/1.1/')->{'variable'}[0]; $p = sprintf("%s", $var->children('http://www.cuahsi.org/waterML/1.1/')->{'variableCode'}[0]); preg_match('/(.*), ([^,]*)/', sprintf("%s", $var->children('http://www.cuahsi.org/waterML/1.1/')->{'variableName'}[0]), $matches); $n = $matches[1]; $noData = sprintf("%s", $var->children('http://www.cuahsi.org/waterML/1.1/')->{'noDataValue'}[0]); foreach ($ts->children('http://www.cuahsi.org/waterML/1.1/')->{'values'}[0]->children('http://www.cuahsi.org/waterML/1.1/')->{'value'} as $val) { $t = sprintf("%s", $val->attributes()->{'dateTime'}); $v = sprintf("%s", $val); if ($v != $noData) { $a = makeMks($v, preg_replace('/&\\#...;/', '', $matches[2])); $uomOrig = $a['uom']; // pretend units came in as mks $newVal = convertUnits($a['val'], $a['uom'], $_REQUEST['uom'] == 'english'); $v = $newVal[0]['val']; $uom = $newVal[0]['uom']; if (count($newVal) == 2 && isset($_REQUEST['uomB'])) { $v = $newVal[1]['val']; $uom = $newVal[1]['uom']; } $data[$t] = $v; } } } } else { if (isset($_REQUEST['NERRS'])) {
// assume same time for all obs $o = array(); $xml = @simplexml_load_file($base); foreach ($xml->children('http://www.cuahsi.org/waterML/1.1/')->{'timeSeries'} as $ts) { $var = $ts->children('http://www.cuahsi.org/waterML/1.1/')->{'variable'}[0]; $p = sprintf("%s", $var->children('http://www.cuahsi.org/waterML/1.1/')->{'variableCode'}[0]); preg_match('/(.*), ([^,]*)/', sprintf("%s", $var->children('http://www.cuahsi.org/waterML/1.1/')->{'variableName'}[0]), $matches); $n = $matches[1]; $uomOrig = preg_replace('/&\\#...;/', '', $matches[2]); $noData = sprintf("%s", $var->children('http://www.cuahsi.org/waterML/1.1/')->{'noDataValue'}[0]); $val = $ts->children('http://www.cuahsi.org/waterML/1.1/')->{'values'}[0]->children('http://www.cuahsi.org/waterML/1.1/')->{'value'}[0]; if ($val) { $t = sprintf("%s", $val->attributes()->{'dateTime'}); $v = sprintf("%s", $val); if ($v != $noData) { $a = makeMks($v, $uomOrig); $uomOrig = $a["uom"]; $v = $a["val"]; $a = convertUnits($v, $uomOrig, $_REQUEST['uom'] == 'english'); $u = $a[0]["uom"]; $v = $a[0]["val"]; $dEnd = date('Y-m-d\\TH:i:00\\Z'); $dBegin = date('Y-m-d\\TH:i:00\\Z', time() - 60 * 60 * (24 * 1 + 1)); if ($v != '') { $uEscape = str_replace('"', '\\"', "graph.php?name={$n}&tz=" . $_REQUEST['tz'] . '&uom=' . $_REQUEST['uom'] . '&lon=' . $_REQUEST['lon'] . '&lat=' . $_REQUEST['lat'] . '&cat=' . $a[0]['cat'] . "&USGS={$base}¶meterCd={$p}&startDt={$dBegin}&endDt={$dEnd}"); $extra = ''; if (count($a) == 2) { $extra = "<br><a href='javascript:showObsTimeseries([\"" . str_replace('graph.php?', 'graph.php?uomB&', $uEscape) . "\"])'><img src='img/graph.png' width=10 height=10></a> " . $a[1]["val"] . ' ' . $a[1]["uom"]; } array_push($o, sprintf("<tr><td><b>%s</b></td><td><a href='javascript:showObsTimeseries([\"{$uEscape}\"])'><img src='img/graph.png' width=10 height=10></a> {$v} {$u}{$extra}</td></tr>", $n)); }