Список тайлов для области.
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 04 сен 2012, 12:27
- Репутация: 0
Список тайлов для области.
Здравствуйте!
У меня возникла проблема при получении списка тайлов. Я знаю только координаты центра (lat и lon) и расстояние от этого центра (в км). Как я могу узнать, какие тайлы (например, из OpenStreetMap или гугл) попадут в эту область. Причём мне это нужно сделать для сферы (особенности на полюсах).
Буду рад любой помощи и любым советам, спасибо!=)
У меня возникла проблема при получении списка тайлов. Я знаю только координаты центра (lat и lon) и расстояние от этого центра (в км). Как я могу узнать, какие тайлы (например, из OpenStreetMap или гугл) попадут в эту область. Причём мне это нужно сделать для сферы (особенности на полюсах).
Буду рад любой помощи и любым советам, спасибо!=)
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 04 сен 2012, 12:27
- Репутация: 0
Re: Список тайлов для области.
Прочитал только что. Но там нет того, что мне нужно. Мне нужно по известным данным: масштаб (zoom), точка (широта и долгота центра) и расстояние от центра в километрах посчитать сколько тайлов войдут в эту зону (по широте и долготе), то есть в bounding box. Там я нашёл лишь то, сколько тайлов всего будет для зума.Александр Мурый писал(а):Читали это?
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 04 сен 2012, 12:27
- Репутация: 0
Re: Список тайлов для области.
А уравнения оттудаАлександр Мурый писал(а):Читали это?
При равных H и W отлично сокращается и даёт всё время один ответ, зависящий только от z, какие бы я W,H не вводил.Rz = max(W,H)/(256*2^z)
x = W/(Rz*256)
y H/(Rz*256)
И там никак не могут учитываться полюса, но они мне нужны, так как у меня сфера.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Список тайлов для области.
Да, конкретно ваша задача там не рассмотрена, но, используя материал статьи можно легко решить и её в том числе.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.
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 04 сен 2012, 12:27
- Репутация: 0
Re: Список тайлов для области.
Когда я писалDenis Rykov писал(а): Понятно? Про полюса совсем не понял, причём здесь OSM и данные на полюсах?
я имел ввиду, что я строю это на сфере в сферической проекции, а не меркатора.Причём мне это нужно сделать для сферы (особенности на полюсах).
я просто беру у них изображения, но сами сервисы меня не интересуют.какие тайлы (например, из OpenStreetMap или гугл) попадут в эту область
Спасибо, та статья мне действительно помогла. Я считаю количество тайлов, которые попадут в мою "область", правда с полюсами мне этого не хватит, но я уже догадываюсь, как можно это решить.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Список тайлов для области.
Что такое сферическая проекция?
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 04 сен 2012, 12:27
- Репутация: 0
Re: Список тайлов для области.
Это даже не проекция получается, а сам WGS 84, только у меня он упрощён до сферы. Вот, например, Marble её использует.Denis Rykov писал(а):Что такое сферическая проекция?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость