Index: geo.api.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/geo/includes/geo.api.inc,v
retrieving revision 1.5
diff -u -p -r1.5 geo.api.inc
--- geo.api.inc	21 Dec 2009 17:29:55 -0000	1.5
+++ geo.api.inc	24 Dec 2009 03:10:18 -0000
@@ -368,12 +368,30 @@ function geo_value($input, $output_forma
       return $value['value'];
 
     case 'wkt':
+      if ($output_format == 'wkb') {
+        return db_result(db_query("SELECT GeomFromText('%s')", $input));
+      }
+      if ($output_format == 'array') {
+        return db_fetch_array(db_query("
+        SELECT
+          X(geom) as lon, 
+          Y(geom) as lat 
+        FROM (
+          SELECT GeomFromText('%s') as geom
+        ) as geomtable
+      ", $input));
+      }
       break;
 
     case 'array':
       if ($output_format == 'wkt') {
         return geo('wkt_from_point', $input['lat'], $input['lon']);
       }
+      if ($output_format == 'wkb') {
+      	// To get wkb, first get wkt, then convert.
+      	$wkt = geo_value($input, 'wkt', 'array');
+        return geo_value($wkt, 'wkb', 'wkt');
+      }
       break;
   }
 }
