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 31 (MI) weather conditions - Roadnow
US 31 (MI) weather conditions
2025-04-14
Roadnow
US 31 (MI) current weather conditions
- detailSouth Bend weather: Fair, 63°F
- detailFennville weather: Fair, 60°F
- detailWhitehall weather: Fair and Breezy, 58°F
- detailWest Olive weather: Fair, 60°F
- detailFree Soil weather: A Few Clouds, 55°F
- detailOnekama weather: A Few Clouds, 55°F
- detailHonor weather: Mostly Cloudy, 63°F
- detailAcme weather: Mostly Cloudy, 63°F
- detailCharlevoix weather: Fair and Breezy, 57°F
- detailAlanson weather: Mostly Cloudy, 52°F
- detailCarp Lake weather: Fair, 48°F
Other city weather along US 31 (MI)
GoSouth Bend weather forcastsGoBuchanan weather forcastsGoNiles weather forcastsGoBenton Harbor weather forcastsGoSouth Haven weather forcastsGoFennville weather forcastsGoHolland weather forcastsGoGrand Haven weather forcastsGoFerrysburg weather forcastsGoMuskegon weather forcastsGoWhitehall weather forcastsGoNew Era weather forcastsGoPentwater weather forcastsGoRiverside weather forcastsGoZeeland weather forcastsGoWest Olive weather forcastsGoMontague weather forcastsGoLudington weather forcastsGoScottville weather forcastsGoManistee weather forcastsGoFree Soil weather forcastsGoCuster weather forcastsGoFiler City weather forcastsGoEastlake weather forcastsGoBear Lake weather forcastsGoOnekama weather forcastsGoKaleva weather forcastsGoThompsonville weather forcastsGoBenzonia weather forcastsGoBeulah weather forcastsGoHonor weather forcastsGoLake Ann weather forcastsGoInterlochen weather forcastsGoTraverse City weather forcastsGoGrawn weather forcastsGoAcme weather forcastsGoWilliamsburg weather forcastsGoWhitewater weather forcastsGoElk Rapids weather forcastsGoKewadin weather forcastsGoCharlevoix weather forcastsGoEllsworth weather forcastsGoEastport weather forcastsGoPetoskey weather forcastsGoConway weather forcastsGoAlanson weather forcastsGoOden weather forcastsGoHarbor Springs weather forcastsGoBrutus weather forcastsGoPellston weather forcastsGoCarp Lake weather forcastsGoMackinaw City weather forcastsGoLevering weather forcasts