Рефактор.
This commit is contained in:
@@ -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]
|
||||
|
||||
|
||||
## Расстояние по горизонтали в метрах, представленное одним пикселем
|
||||
|
||||
Reference in New Issue
Block a user