Coverage for pyguymer3/openstreetmap/vfov.py: 10%

10 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-07-08 18:47 +0000

1#!/usr/bin/env python3 

2 

3# Define function ... 

4def vfov( 

5 xtile, 

6 ytile, 

7 zoom, 

8 /, 

9): 

10 # NOTE: https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Resolution_and_Scale 

11 

12 # Import standard modules ... 

13 import math 

14 

15 # Import sub-functions ... 

16 from .num2deg import num2deg 

17 from ..consts import CIRCUMFERENCE_OF_EARTH 

18 

19 _, latN_deg = num2deg(xtile, ytile, zoom) # [°], [°] 

20 _, latS_deg = num2deg(xtile + 1, ytile + 1, zoom) # [°], [°] 

21 latC_rad = math.radians(0.5 * (latS_deg + latN_deg)) 

22 n = pow(2, zoom) 

23 resoluOfEarth = CIRCUMFERENCE_OF_EARTH * math.cos(latC_rad) / n # [m/tile] 

24 

25 # Return answer ... 

26 return latN_deg - latS_deg, resoluOfEarth