Рефактор.

This commit is contained in:
sasha80
2023-12-21 09:29:25 +03:00
parent deca432b7b
commit c099b2c9e5
4 changed files with 14 additions and 17 deletions

View File

@@ -128,21 +128,20 @@ func find_up_left(tiles: Array):
## Lon./lat. to tile numbers
func deg2num(lat_deg: float, lon_deg: float, zoom: int):
var lat_rad: = radians(lat_deg)
func deg2num(lat: float, lon: float, zoom: int):
lat = radians(lat)
var n: = float(1 << zoom)
var xtile: = int((lon_deg + 180.0) / 360.0 * n)
var ytile: = int((1.0 - asinh(tan(lat_rad)) / PI) / 2.0 * n)
var xtile: = int((lon + 180.0) / 360.0 * n)
var ytile: = int((1.0 - asinh(tan(lat)) / PI) / 2.0 * n)
return [xtile, ytile]
## Tile numbers to lon./lat.
func num2deg(xtile: int, ytile: int, zoom: int):
var n: = float(1 << zoom)
var lon_deg: = float(xtile) / n * 360.0 - 180.0
var lat_rad: = atan(sinh(PI * (1.0 - 2.0 * float(ytile) / n)))
var lat_deg = degrees(lat_rad)
return [lat_deg, lon_deg]
var lon: = float(xtile) / n * 360.0 - 180.0
var lat: = atan(sinh(PI * (1.0 - 2.0 * float(ytile) / n)))
return [degrees(lat), lon]
## Расстояние по горизонтали в метрах, представленное одним пикселем