include_once("GeoCalc.class.php");
include_once("ws_client.php");
include_once("utils.php");
function getStateFromLaln($laln) {
$ret = getWebService("citystate", $laln);
$t = explode(",", $ret);
return $t[1];
}
function getWeatherAlertCountForState($state) {
$weather_alerts = getWeatherEvents($state);
$t = explode("||", $weather_alerts);
$size1 = count($t);
return $size1;
}
function getWeatherAlertsForState($state) {
$weather_alerts = getWeatherEvents($state);
$t = explode("||", $weather_alerts);
return $t;
}
function getWeatherAlertCount($hwy,$state) {
// wrong order on the server
$bbox = getBboxForRoadInState($hwy,$state);
//if($state == "TX")
//echo $bbox."\r\n";
$weather_alerts = getWeatherEvents($state);
$t = explode("||", $weather_alerts);
$t2 = explode(",", $bbox);
$laMax = floatVal($t2[0]);
$lnMin = floatVal($t2[1]);
$laMin = floatVal($t2[2]);
$lnMax = floatVal($t2[3]);
$size1 = count($t);
$alerts_count = 0;
$oGC = new GeoCalc();
for($i=0;$i<$size1;$i++) {
$t1 = explode(";;",$t[$i]);
$fips6 = $t1[5];
// wrong order on the server
$bboxCo = getCountyBbox($fips6);
$laCoMax = floatVal($bboxCo[0]);
$lnCoMin = floatVal($bboxCo[1]);
$laCoMin = floatVal($bboxCo[2]);
$lnCoMax = floatVal($bboxCo[3]);
//if($state == "TX")
//echo "$laCoMax,$lnCoMin,$laCoMin,$lnCoMax\r\n";
if($oGC->isBboxOverlap($laMin,$lnMin,$laMax,$lnMax,$laCoMin,$lnCoMin,$laCoMax,$lnCoMax)) {
$alerts_count++;
}
}
return $alerts_count;
}
function getWeatherAlertsForLaln($la, $ln, $radius) {
if(!isset($radius) || $radius == 0) $radius = 10;
$oGC = new GeoCalc();
$bbox = $oGC->getBbox($la, $ln, $radius);
return getWeatherAlertsForBbox($bbox, "$la,$ln");
}
function getWeatherAlertsForBbox($bbox, $laln) {
$state = getStateFromLaln($laln);
//echo "$state,$bbox,$laln\r\n";
$weather_alerts = getWeatherEvents($state);
//echo $weather_alerts;
$t = explode("||", $weather_alerts);
$oGC = new GeoCalc();
$size1 = count($t);
$bboxWeatherAlerts = "";
for($i=0;$i<$size1;$i++) {
$t1 = explode(";;",$t[$i]);
$fips6 = $t1[5];
$bboxCo = getCountyBbox($fips6);
//print_r($bboxCo) ;
$laCoMax = floatVal($bboxCo[0]);
$lnCoMin = floatVal($bboxCo[1]);
$laCoMin = floatVal($bboxCo[2]);
$lnCoMax = floatVal($bboxCo[3]);
//echo "$laCoMax,$lnCoMin,$laCoMin,$lnCoMax\r\n";
//echo "OKbefore
";
if($oGC->isBboxOverlap($bbox[0],$bbox[1],$bbox[2],$bbox[3],$laCoMin,$lnCoMin,$laCoMax,$lnCoMax)) {
//echo "OKafter
";
//echo $bbox[0] . "," . $bbox[1] . "\r\n";
$laCoMid = ($laCoMax+$laCoMin)/2.0;
$lnCoMid = ($lnCoMax+$lnCoMin)/2.0;
$alerts = $t1[0] . ";;" . $t1[1] . ";;" . $t1[2] . ";;" . $t1[3] . ";;" . $t1[4] . ";;$laCoMid,$lnCoMid";
if(strlen($bboxWeatherAlerts) > 0)
$bboxWeatherAlerts = $bboxWeatherAlerts . "||" . $alerts;
else
$bboxWeatherAlerts = $alerts;
//echo $bbox[0] . "," . $bbox[1] . "\r\n";
}
}
//echo "OK$bboxWeatherAlerts";
return $bboxWeatherAlerts;
}
/*
$la = 34.049482;
$ln=-118.242931;
$radius = 30;
echo getWeatherAlertsForLaln($la, $ln, $radius);
*/
?>
US 29 (VA) weather conditions - Roadnow
US 29 (VA) weather conditions
2025-10-25
Roadnow
US 29 (VA) current weather conditions
- detailDanville weather: Fair, 58°F
- detailLynchburg weather: Fair, 57°F
- detailArrington weather: Fair, 57°F
- detailNorth Garden weather: Fair, 57°F
- detailRochelle weather: Mostly Cloudy, 58°F
- detailReva weather: Fair, 59°F
- detailBroad Run weather: Fair, 59°F
- detailLeon weather: Fair, 59°F
- detailCentreville weather: Mostly Cloudy, 57°F
- detailMerrifield weather: Fair, 59°F
Other city weather along US 29 (VA)
GoDanville weather forcastsGoBlairs weather forcastsGoChatham weather forcastsGoGretna weather forcastsGoHurt weather forcastsGoLynchburg weather forcastsGoRustburg weather forcastsGoEvington weather forcastsGoAltavista weather forcastsGoAmherst weather forcastsGoArrington weather forcastsGoLovingston weather forcastsGoFaber weather forcastsGoEsmont weather forcastsGoCharlottesville weather forcastsGoNorth Garden weather forcastsGoCovesville weather forcastsGoEarlysville weather forcastsGoRuckersville weather forcastsGoBarboursville weather forcastsGoRochelle weather forcastsGoPratts weather forcastsGoMadison weather forcastsGoBrightwood weather forcastsGoCulpeper weather forcastsGoReva weather forcastsGoElkwood weather forcastsGoBrandy Station weather forcastsGoBealeton weather forcastsGoWarrenton weather forcastsGoBroad Run weather forcastsGoGainesville weather forcastsGoSweet Briar weather forcastsGoRoseland weather forcastsGoClifford weather forcastsGoLeon weather forcastsGoStevensburg weather forcastsGoRemington weather forcastsGoNokesville weather forcastsGoManassas weather forcastsGoCentreville weather forcastsGoMount Vernon weather forcastsGoClifton weather forcastsGoFairfax weather forcastsGoOakton weather forcastsGoMerrifield weather forcastsGoVienna weather forcastsGoFalls Church weather forcastsGoArlington weather forcasts