anchor.diff:  	    "~c~c~c~c~c~c"
   	    (code-char (+ 65 (floor lon 20.0)))
   	    (code-char (+ 65 (floor lat 10.0)))
  -	    (code-char (+ 48 (floor (* 10 (- (/ lon 20.0) (floor lon 20.0))))))
  -	    (code-char (+ 48 (floor (* 10 (- (/ lat 10.0) (floor lat 10.0))))))
  -	    (code-char (+ 32 65 (floor (* 24 (- (/ lon 2.0) (floor lon 2.0))))))
  -	    (code-char (+ 32 65 (floor (* 24 (- lat (floor lat)))))))))
  +	    (code-char (+ 48 (floor
  +			      (* 10 (- (/ lon 20.0) (floor lon 20.0))))))
  +	    (code-char (+ 48 (floor
  +			      (* 10 (- (/ lat 10.0) (floor lat 10.0))))))
  +	    (code-char (+ 32 65 (floor
  +				 (* 24 (- (/ lon 2.0) (floor lon 2.0))))))
  +	    (code-char (+ 32 65 (floor
  +				 (* 24 (- lat (floor lat)))))))))
   
   (defmethod point-serialize ((p 2d-point))
     "Serialize a 2d point."
  
positive.code:     (setf lat (asin (+ (* (sin lat1) (cos d)) (* (cos lat1) (sin d) (cos az)))))
      (setf dlon (atan (* (sin az) (sin d) (cos lat1)) (- (cos d) (* (sin lat1) (sin lat)))))
      (setf lon (- 0 (- (my-mod (+ (- lon1 dlon) pi) (* 2 pi)) pi)))
      (make-instance '2d-point :creation-source point-generated :lat (rad-to-deg lat) :lon (rad-to-deg lon))))
  
  (defun serialize-points-to-file (points filename)
    "Write a list of points to a file."
    (with-open-file
     (file-handle filename :direction :output :if-does-not-exist :create :if-exists :supersede)
  		  (mapcar
  		   #'(lambda (n)
  		       (format file-handle "~A~%" (point-serialize n)))
  		   points)))
  
  (defun deserialize-points-from-file (filename)
    "Read in a list of points from a file."
  
negative.code: ;; Unit conversions, etc.
  ;;
  ;;  1 knot = 1.852000 km/hr*
  ;;  1 knot = 185200/109728 ft/sec* = 1.687810 ft/sec
  ;;  1 knot = 1852000/1609344 mph* = 1.150779 mph
  ;;  1 mph  = 0.868976 knot
  ;;  1 mph  = 1.609344 km/hr*
  