2010/01/13

Common Lisp で2点間の距離を求める

緯度経度から距離を求めたくなった。手段は色々あると思うが Common Lisp には cl-geo なるものがあるらしい。

依存ライブラリのうち cl-rsm-queue の一次配布先が分からなかったので http://packages.debian.org/ja/etch/cl-rsm-queue からダウンロード。

(require :geo)
(let ((x (make-instance 'geo:point-deg :latitude 35.45083 :longitude 139.53511))
(y (make-instance 'geo:point-deg :latitude 35.42414 :longitude 139.52657)))
(geo:kilometers (geo:distance-between x y)))
; => 3.067633887932851d0

目的は果せた。

0 件のコメント: