osgrid->geopoint is working, which is all I actually need.

This commit is contained in:
Simon Brooke 2018-06-29 08:02:17 +01:00
parent 32c720fd03
commit 668baaedaf

View file

@ -404,21 +404,22 @@
n² (expt n 2)
n³ (expt n 3)
[M φ] (loop [φ φ0 M 0]
;; the error is in this loop somewhere..
(let
;; φ = (N-N0-M)/(a*F0) + φ;
[φ (+' φ (/ (-' N N0 M) (*' a F0)))
;; (φ-φ0)
Δφ (-' φ φ0)
Δφ (-' φ φ0)
;; var Ma = (1 + n + (5/4)*n2 + (5/4)*n3) * (φ-φ0);
Ma (*' (+' 1 n (*' 5/4 n²) (*' 5/4 n³)) Δφ)
;; var Mb = (3*n + 3*n*n + (21/8)*n3) * Math.sin(φ-φ0) * Math.cos(φ+φ0);
Mb (*' (+' (*' n 3) (*' n² 3) (*' 21/8 n³)) (sin Δφ) (cos (+' φ φ0)))
Mb (*' (+' (*' n 3) (*' n² 3) (*' 21/8 n³)) (sin Δφ) (cos (+' φ φ0)))
;; var Mc = ((15/8)*n2 + (15/8)*n3) * Math.sin(2*(φ-φ0)) * Math.cos(2*(φ+φ0));
Mc (*' (+' (*' n² 15/8) (*' n³ 15/8)) (sin (*' 2 Δφ)) (cos (*' 2 (+' φ φ0))))
Mc (*' (+' (*' n² 15/8) (*' n³ 15/8)) (sin (*' 2 Δφ)) (cos (*' 2 (+' φ φ0))))
;; var Md = (35/24)*n3 * Math.sin(3*(φ-φ0)) * Math.cos(3*(φ+φ0));
Md (*' 35/24 n³ (sin (*' 3 Δφ)) (cos (*' 3 (+' φ φ0))))
M (*' b F0 (+' (-' 0 Ma) Mb Mc (-' 0 Md)))]
(println (str "loop: φ: " φ "; M: " M "; termination: " (-' N N0 M)))
Md (*' 35/24 n³ (sin (*' 3 Δφ)) (cos (*' 3 (+' φ φ0))))
;; M = b * F0 * (Ma - Mb + Mc - Md);
M (*' b F0 (+' (-' Ma Mb) (-' Mc Md)))]
(if
(>= (-' N N0 M) 0.00001)
(recur φ M)