dbClass = new dbClass(); } function getLatitudeLongitude($zip) { //Returns latitude and longitude of a given zipcode $query = "SELECT latitude, longitude FROM ctrak_zipcodes WHERE zipcode = ".$zip; $results = $this->dbClass->query($query); return $results; } function getZipArray($zip, $distance = 10) { //Given a zipcode and a distance, returns an comma separated list of zipcodes within this distance //If distance = 0 change to a very small distance if ($distance==0) $distance = 0.001; //Get zipcode location $location = $this->getLatitudeLongitude($zip); if(isset($location[0])) { $latitude = $location[0]['latitude']; $longitude = $location[0]['longitude']; //Get rectangle area $this->RadiusAssistant($latitude, $longitude, $distance); //Select all zipcodes within rectangle $query = "SELECT zipcode FROM ctrak_zipcodes WHERE latitude <= ".$this->maxLat." AND latitude >= ".$this->minLat; $query.= " AND longitude <= ".$this->maxLong." AND longitude >= ".$this->minLong; $results = $this->dbClass->query($query); $list = array(); foreach ($results as $key=>$value) { $list[] = $value['zipcode']; } $result = implode(",",$list); } else { $result =""; } return $result; } function Calculate( $dblLat1, $dblLong1, $dblLat2, $dblLong2 ) { $EARTH_RADIUS_MILES = 3963; $dist = 0; //convert degrees to radians $dblLat1 = $dblLat1 * M_PI / 180; $dblLong1 = $dblLong1 * M_PI / 180; $dblLat2 = $dblLat2 * M_PI / 180; $dblLong2 = $dblLong2 * M_PI / 180; if ($dblLat1 != $dblLat2 || $dblLong1 != $dblLong2) { //the two points are not the same $dist = sin($dblLat1) * sin($dblLat2) + cos($dblLat1) * cos($dblLat2) * cos($dblLong2 - $dblLong1); $dist = $EARTH_RADIUS_MILES * (-1 * atan($dist / sqrt(1 - $dist * $dist)) + M_PI / 2); } return $dist; } function RadiusAssistant($Latitude, $Longitude, $Miles) { $EQUATOR_LAT_MILE = 69.172; $this->maxLat = $Latitude + $Miles / $EQUATOR_LAT_MILE; $this->minLat = $Latitude - ($this->maxLat - $Latitude); $this->maxLong = $Longitude + $Miles / (cos($this->minLat * M_PI / 180) * $EQUATOR_LAT_MILE); $this->minLong = $Longitude - ($this->maxLong - $Longitude); } } ?> EVERYHOMEPRO.com
EVERYHOMEPRO.com
 


     MAKE SUGGESTIONS

Welcome to Make Suggestions. We value feedback and encourage you to tell us what you think of our products and services. Please fill out the short form below. Thanks!
(*) Required

*Initials (ex: JDR):
 
*Email Address:
 
*Zip Code:
 
Phone#:
- -
(See Privacy Policy)
 
Please give your feedback:
(up to 250 words)