Проблема с загрузкой плиток из облака - PullRequest
0 голосов
/ 09 ноября 2010

Мне нужно скачать плитки для указанной области. У меня есть bbox с координатами широты / долготы, но как преобразовать их в x / y, которые требуются по URL

1 Ответ

0 голосов
/ 09 ноября 2010

Чтобы определить, какая плитка вам нужна для данной широты и долготы, вам сначала нужно выбрать интересующий вас уровень масштабирования. Затем рассчитайте:

n = 2 ^ zoom
xtile = ((lon_deg + 180) / 360) * n
ytile = (1 - (ln(tan(lat_rad) + sec(lat_rad)) / Pi)) / 2 * n

Примечание: ln обозначает естественныйлогарифм округлить вниз xtile и ytile, чтобы получить целые числа плиток.Если вам нужно пойти другим путем:

n = 2 ^ zoom
lon_deg = xtile / n * 360.0 - 180.0
lat_rad = arctan(sinh( Pi * (1 - 2 * ytile / n)))
lat_deg = lat_rad * 180.0 / Pi

Этого должно быть достаточно, чтобы вы начали работать.Чтобы получить помощь по любому из API-интерфейсов CloudMade и быть в курсе наших последних выпусков, ознакомьтесь со списком рассылки для разработчиков.

...