;;;; geo-utils-test.scm -*- Scheme -*- ;;;; Kon Lovett, Jul '18 ;;;; Kon Lovett, May '17 (import test) (test-begin "Geopoint Utils") ;;; (import geopoint geobox geopolygon geopoint-utils) (define-constant flLAT1 33.54187) (define-constant flLON1 -117.78392) (define-constant flLAT2 33.54444) (define-constant flLON2 -117.78521) (test-group "within" (let ((gpy1 (geopolygon (make-geopoint 37.8731 -122.3201) (make-geopoint 37.8827 -122.2705) (make-geopoint 37.8817 -122.2535) (make-geopoint 37.8617 -122.2413) (make-geopoint 37.8429 -122.2431) (make-geopoint 37.8350 -122.3175))) ) (test-assert (in-closed-polygon? (make-geopoint 37.8429 -122.2431) gpy1)) (test-assert (not (in-closed-polygon? (make-geopoint -37.8429 122.2431) gpy1))) ) ) (test-group "distance" (let ((gp1 (make-geopoint flLAT1 flLON1)) (gp2 (make-geopoint flLAT2 flLON2))) (test 0.31012 (great-circle-distance gp1 gp2)) (test 0.27835 (spherical-surface-distance gp1 gp2)) (test 0.30872 (approximate-ellipsoid-distance gp1 gp2)) (test 359.997 (great-circle-azimuth gp1 gp2)) ) ) ;;; (test-end "Geopoint Utils") (test-exit)