$street = urlencode(trim(preg_replace('/\\s+/', ' ', "{$street_number} {$pre_direction} {$street_name} {$street_type} {$post_direction} {$internal}"))); $city = urlencode(trim(preg_replace('/\\s+/', ' ', "{$city}"))); $uri = "http://geocoding.geo.census.gov/geocoder/geographies/address?street={$street}&city={$city}&state={$state}&zip={$zip}&benchmark=4&vintage=4&format=json"; $response = Request::get($uri)->send(); sleep(1); if (property_exists($response, 'body') && property_exists($response->body, 'result') && property_exists($response->body->result, 'addressMatches')) { $c_matches = $response->body->result->addressMatches; if (!empty($c_matches)) { $f_rec = $c_matches['0']; //print "---------------------------------------------\n"; //print_r($address_rec); //print_r($f_rec); $zip = $f_rec->addressComponents->zip; $address_id = $address_rec['id']; $new_rec = array('id' => $address_id, 'zip' => $zip); if ($address_differences = $address->diff($address_rec, $new_rec)) { $address->update($address_id, $address_differences); $totals['address']['update']++; } else { $totals['address']['N/A']++; } $new_rec = array(); $new_rec['id'] = $address_id; $new_rec['block_2010_name'] = $f_rec->geographies->{'2010 Census Blocks'}['0']->NAME; $new_rec['block_2010_id'] = $f_rec->geographies->{'2010 Census Blocks'}['0']->BLOCK; $new_rec['tract_name'] = $f_rec->geographies->{'Census Tracts'}['0']->NAME; $new_rec['tract_id'] = $f_rec->geographies->{'Census Tracts'}['0']->TRACT; $new_rec['zip'] = $zip; $new_rec['county_id'] = $f_rec->geographies->Counties['0']->COUNTY; $new_rec['state_id'] = $f_rec->geographies->States['0']->STATE; $new_rec['longitude'] = $f_rec->coordinates->x;
} $single_line_address = $address_converter->AddressLineStandardization($rec['address']); $single_line_address .= ', KANSAS CITY, MO'; // We keep unit 'internal' $normalized_address = $census->normalize_address($single_line_address); // Strips off unit 'internal' $address_in = array_merge(array('single_line_address' => $single_line_address), $normalized_address, $rec); $city_address_id = $rec['kivapin']; $county_address_id = $rec['apn']; // We need to start out with an alias and address records $address_id = 0; if ($exisiting_address_alias_rec = $address_alias->find_by_single_line_address($single_line_address)) { $totals['address_alias']['N/A']++; $address_id = $exisiting_address_alias_rec['address_id']; if ($exisiting_address_rec = $address->find_by_id($address_id)) { if ($address_differences = $address->diff($exisiting_address_rec, $rec)) { $address->update($address_id, $address_differences); $totals['address']['update']++; } else { $totals['address']['N/A']++; } } else { $address->add($rec); $totals['address']['insert']++; } } else { if ($exisiting_address_rec = $address->find_by_single_line_address($single_line_address)) { // Just in case we had a failuer to clean up $address_id = $exisiting_address_rec['id']; $totals['address']['N/A']++; } else {