If you are using the geocoder module in Drupal 7 and you need the opportunity to alter the data being geocoded right before it gets sent to whichever geocoding service you are using, there is a hook for that. The hook is pretty much undocumented at this time, but it is there. hook_geocoder_geocode_values_alter() is available for you if you need it.

Here is an example use case. Our data had US territories stored in the State field of an address (technically 'administrative_area') However, when you send the query off to geocoder, anything that is a US territory ought to be identified as the country, rather than the state. If you send it as a State, it geocodes incorrectly. So here is an example of a fix using the alter hook.

 * Implements hook_geocoder_geocode_values_alter().
function MY_MODULE_geocoder_geocode_values_alter(&$source_field_values, &$field_info, &$handler_settings) {
// Any item being geocoded that has a state that is actually a
  // territory needs to have its state and country altered to geocode correctly.
$territories = array('AS', 'GU', 'FM', 'MH', 'MP', 'PW', 'PR', 'UM', 'VI');
// Handle cardinality in case of multiple addresses.
foreach ($source_field_values as $key => $value) {
$state = (!empty($value['administrative_area'])) ? $value['administrative_area'] : FALSE;
// Is there a state, and is it really a territory?
if (($state) && (in_array($state, $territories))) {
// It is a territory, google geocoder wants it as a country, not a state.
$source_field_values[$key]['country'] = $state;
// Remove the State entry.

Incidentally, there are lots of modules with poorly documented alter hooks that may be useful at one time or another. To find them, just search the module code for drupal_alter.

Here is the only other documentation about hook_geocoder_geocode_values_alter. It is the issue and patch that created the alter hook.