Список тайлов для области.

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
spirit
Новоприбывший
Сообщения: 10
Зарегистрирован: 04 сен 2012, 12:27
Репутация: 0

Список тайлов для области.

Сообщение spirit » 17 апр 2013, 16:43

Здравствуйте!

У меня возникла проблема при получении списка тайлов. Я знаю только координаты центра (lat и lon) и расстояние от этого центра (в км). Как я могу узнать, какие тайлы (например, из OpenStreetMap или гугл) попадут в эту область. Причём мне это нужно сделать для сферы (особенности на полюсах).

Буду рад любой помощи и любым советам, спасибо!=)

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Список тайлов для области.

Сообщение Александр Мурый » 17 апр 2013, 16:46

Читали это?
Редактор материалов, модератор форума

spirit
Новоприбывший
Сообщения: 10
Зарегистрирован: 04 сен 2012, 12:27
Репутация: 0

Re: Список тайлов для области.

Сообщение spirit » 18 апр 2013, 10:51

Александр Мурый писал(а):Читали это?
Прочитал только что. Но там нет того, что мне нужно. Мне нужно по известным данным: масштаб (zoom), точка (широта и долгота центра) и расстояние от центра в километрах посчитать сколько тайлов войдут в эту зону (по широте и долготе), то есть в bounding box. Там я нашёл лишь то, сколько тайлов всего будет для зума.

spirit
Новоприбывший
Сообщения: 10
Зарегистрирован: 04 сен 2012, 12:27
Репутация: 0

Re: Список тайлов для области.

Сообщение spirit » 18 апр 2013, 11:02

Александр Мурый писал(а):Читали это?
А уравнения оттуда
Rz = max(W,H)/(256*2^z)
x = W/(Rz*256)
y H/(Rz*256)
При равных H и W отлично сокращается и даёт всё время один ответ, зависящий только от z, какие бы я W,H не вводил.

И там никак не могут учитываться полюса, но они мне нужны, так как у меня сфера.

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Список тайлов для области.

Сообщение Denis Rykov » 18 апр 2013, 13:03

spirit писал(а):Прочитал только что. Но там нет того, что мне нужно.
Да, конкретно ваша задача там не рассмотрена, но, используя материал статьи можно легко решить и её в том числе.

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

Решение:
1) По известным входным данным определяем интересующий охват. Полученный результат преобразуем в проекцию, используемую сервисом OpenStreetMap, то есть в EPSG:3857 - (xmin,ymin,xmax,ymax);
2) На z-м масштабном уровне данные OSM имеют фиксированное разрешение Rz;
3) Находим размер тайла в единицах измерения карты: T=Rz*256;
4) Определяем координаты тайлов из соотношения:
(xmin - (-20037508.342789244)) <= T*x <= (xmax - (-20037508.342789244))
(20037508.342789244 - ymax) <= T*y <= (20037508.342789244 - ymin))

Проверим полученный результат. Для этого предположим, что интересующий нас охват - весь земно шар, то есть bbox=(-20037508.342789244,-20037508.342789244,20037508.342789244,20037508.342789244). Тогда:

0 <= T*x <= 40075016.68557849
0 <= T*y <= 40075016.68557849

Предположим, что нас интересует 5 масштабный уровень (Rz=4891.96981025128, T=1252344.2714243277). Тогда:
x = y = 40075016.68557849/1252344.2714243277 =32 (так как мы взяли bbox-квадратный).

Понятно? Про полюса совсем не понял, причём здесь OSM и данные на полюсах?
Spatial is now, more than ever, just another column- The Geometry Column.

spirit
Новоприбывший
Сообщения: 10
Зарегистрирован: 04 сен 2012, 12:27
Репутация: 0

Re: Список тайлов для области.

Сообщение spirit » 18 апр 2013, 14:26

Denis Rykov писал(а): Понятно? Про полюса совсем не понял, причём здесь OSM и данные на полюсах?
Когда я писал
Причём мне это нужно сделать для сферы (особенности на полюсах).
я имел ввиду, что я строю это на сфере в сферической проекции, а не меркатора.
какие тайлы (например, из OpenStreetMap или гугл) попадут в эту область
я просто беру у них изображения, но сами сервисы меня не интересуют.

Спасибо, та статья мне действительно помогла. Я считаю количество тайлов, которые попадут в мою "область", правда с полюсами мне этого не хватит, но я уже догадываюсь, как можно это решить.

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Список тайлов для области.

Сообщение Denis Rykov » 18 апр 2013, 14:50

Что такое сферическая проекция?
Spatial is now, more than ever, just another column- The Geometry Column.

spirit
Новоприбывший
Сообщения: 10
Зарегистрирован: 04 сен 2012, 12:27
Репутация: 0

Re: Список тайлов для области.

Сообщение spirit » 18 апр 2013, 15:03

Denis Rykov писал(а):Что такое сферическая проекция?
Это даже не проекция получается, а сам WGS 84, только у меня он упрощён до сферы. Вот, например, Marble её использует.

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость