diff --git a/geofield.install b/geofield.install
index fb53b78..8663319 100644
--- a/geofield.install
+++ b/geofield.install
@@ -22,27 +22,39 @@ function geofield_field_schema($field) {
         'not null' => FALSE,
       ),
       'lat' => array(
-        'type' => 'float',
+        'type' => 'numeric',
+        'precision' => 18,
+        'scale' => 12,
         'not null' => FALSE,
       ),
       'lon' => array(
-        'type' => 'float',
+        'type' => 'numeric',
+        'precision' => 18,
+        'scale' => 12,
         'not null' => FALSE,
       ),
       'left' => array(
-        'type' => 'float',
+        'type' => 'numeric',
+        'precision' => 18,
+        'scale' => 12,
         'not null' => FALSE,
       ),
       'top' => array(
-        'type' => 'float',
+        'type' => 'numeric',
+        'precision' => 18,
+        'scale' => 12,
         'not null' => FALSE,
       ),
       'right' => array(
-        'type' => 'float',
+        'type' => 'numeric',
+        'precision' => 18,
+        'scale' => 12,
         'not null' => FALSE,
       ),
       'bottom' => array(
-        'type' => 'float',
+        'type' => 'numeric',
+        'precision' => 18,
+        'scale' => 12,
         'not null' => FALSE,
       ),
       'srid' => array(
