                         end-lat
                         (or end-direction
                             (count orbit-str)))]
-           (Float. (str/trim (subs el (inc (.indexOf el ":")))))))
+           (coerce-float :end-lat (str/trim (subs el (inc (.indexOf el ":")))))))
        (when end-direction
          (let [ed (subs orbit-str
                         end-direction)]

  (:require
   [clojure.data.xml :as x]
   [clojure.string :as str]
   [cmr.common.validations.core :as v]
   [cmr.common.xml :as cx]
   [cmr.common.util :as util]
   [cmr.spatial.encoding.gmd :as gmd]
   [cmr.spatial.messages :as msg]
   [cmr.spatial.validation :as sv]

                           ascending-crossing
                           (or start-lat start-direction end-lat end-direction
                               (count orbit-str)))]
           (coerce-float :ascending-crossing (str/trim (subs asc-c (inc (.indexOf asc-c ":")))))))
       (when start-lat
         (let [sl (subs orbit-str
                        start-lat
                        (or start-direction end-lat end-direction
                            (count orbit-str)))]
           (coerce-float :start-lat (str/trim (subs sl (inc (.indexOf sl ":")))))))
       (when start-direction
         (let [sd (subs orbit-str
                        start-direction
