emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/osm d27892f63a 40/77: Add some utility functions


From: ELPA Syncer
Subject: [elpa] externals/osm d27892f63a 40/77: Add some utility functions
Date: Mon, 7 Mar 2022 08:58:06 -0500 (EST)

branch: externals/osm
commit d27892f63a5356ba1a406de0b26af1185e096131
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Add some utility functions
---
 osm.el | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/osm.el b/osm.el
index 3da392f61d..413b080246 100644
--- a/osm.el
+++ b/osm.el
@@ -219,14 +219,22 @@ We need two distinct images which are not `eq' for the 
display properties.")
   (setq lat (* lat (/ float-pi 180.0)))
   (- 0.5 (/ (log (+ (tan lat) (/ 1 (cos lat)))) float-pi 2)))
 
+(defun osm--x-to-lon (x zoom)
+  "Return longitude in degrees for X/ZOOM."
+  (- (/ (* x 360.0) 256.0 (expt 2.0 zoom)) 180.0))
+
+(defun osm--y-to-lat (y zoom)
+  "Return latitude in degrees for Y/ZOOM."
+  (setq y (* float-pi (- 1 (* 2 (/ y 256.0 (expt 2.0 zoom))))))
+  (/ (* 180 (atan (/ (- (exp y) (exp (- y))) 2))) float-pi))
+
 (defun osm--lon ()
   "Return longitude in degrees."
-  (- (/ (* osm--x 360.0) 256.0 (expt 2.0 osm--zoom)) 180.0))
+  (osm--x-to-lon osm--x osm--zoom))
 
 (defun osm--lat ()
   "Return latitude in degrees."
-  (let ((y (* float-pi (- 1 (* 2 (/ osm--y 256.0 (expt 2.0 osm--zoom)))))))
-    (/ (* 180 (atan (/ (- (exp y) (exp (- y))) 2))) float-pi)))
+  (osm--y-to-lat osm--y osm--zoom))
 
 (defun osm--lon-to-x (lon zoom)
   "Convert LON/ZOOM to x coordinate in pixel."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]