Вот какая возникла задача.
Имеется: некоторый регион - достаточно большой по площади, составляющий в зумах вплоть до 18-го порядка 200 000 - 300 000 тайлов. Кэш уже выкачанный.
Требуется: поддерживать в кэше этот регион в актуальном состоянии, периодически (раз в месяца два - три, например) делая проверку на обновления, но делать это не тупо полной перезакачкой, которая может длиться не одну неделю, да и приводить к банам, а оптимизированно: отслеживать, какие подобласти региона обновились на серверах, и перевыкачивать только эти участки (которые могут быть в сравнении с исходной областью очень небольшими).
Варианты решения:
1. Использовать опцию "Заменять старые тайлы - Только при их различии". Но тут никакой оптимизации нет, потому что, количество запросов всё равно останется на все сотни тысяч файлов, в итоге и время останется такого же огромного порядка, и вероятность забанивания не уменьшится. Это проверено на практике.
2. Отслеживать полигоны обновления, которые периодически публикуются в форуме. Но публикуются они только на ресурс "Гугл-спутник", и не всегда очевидно, к какому обновлению они применены. Ну и визуально по ним точно определить подобласти обновления, чтобы создать подвыделения для перезакачки, не так и просто.
Что хотелось бы:
Делать закачку по всей области для небольшого зума, например, для z15, в режиме "Заменять старые тайлы - Только при их различии", а по окончании закачки - иметь возможность увидеть, какие файлы реально перезакачались, а какие остались без изменения, потому что не изменились на сервере. Например, подсветить такие тайлы цветом или затенением, как это делается при формировании карты заполнения. Потом визуально по этой подсвеченной подобласти или по нескольким таким подсвеченным подобластям можно будет сделать отдельные выделения и уже только по ним делать закачку для всех следующих зумов.
Что посоветуют эксперты?
Оптимизация закачивания области при обновлениях
Модератор: Tolik
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Оптимизация закачивания области при обновлениях
Карта заполнения умеет подсвечивать разными цветами по диапазону дат.
- xromeo
- Постигающий Дао
- Сообщения: 189
- Зарегистрирован: 21 июл 2009, 20:42
- Благодарил (а): 36 раз
- Поблагодарили: 9 раз
Re: Оптимизация закачивания области при обновлениях
Да, походу это то, что я ищу, я видел опцию для карты заполнения "Только в диапазоне дат", она просто включается и отключается, а где сам диапазон дат задаётся? Подскажите, пожалуйстаzed писал(а):Карта заполнения умеет подсвечивать разными цветами по диапазону дат.
- garl
- Гуру
- Сообщения: 1625
- Зарегистрирован: 16 июл 2008, 14:40
- Откуда: Краснодар, Кубанская столица.
- Благодарил (а): 97 раз
- Поблагодарили: 272 раза
Re: Оптимизация закачивания области при обновлениях
Вид-Панели-Диапазоны датxromeo писал(а): а где сам диапазон дат задаётся? Подскажите, пожалуйста
- DJ VK
- Гуру
- Сообщения: 1468
- Зарегистрирован: 16 апр 2009, 13:57
- Откуда: 8 км. от МКАД
- Благодарил (а): 80 раз
- Поблагодарили: 314 раз
Re: Оптимизация закачивания области при обновлениях
Если речь про мои карты обновлений, то я слежу за гуглем, яндексом, реже за ДГ(декартой) и очень редко за бингом.
надо
1)иметь временную папку, туда скачать для моего региона надо около 46тыс. тайлов. (вся территория порядка 11млн. в 18м масштабе) с заменой и только измененные.
2)иметь основную папку с кешем, и перед скачкой туда бросать копию предыдущей версии из временной.
3)иметь для обоих папок два zmp и горячие соседние кнопки, чтобы можно было анимировать пальцами попеременную смену двух этих карт.
скачали,сформировали масштабы с 8 по 13 из 14-го, и смотрим, переключая, где мелькает новый снимок. карта заполнения поможет определиться где новый снимок, а анимация - очертить границы.
zmp можно новый получить сменив guid на единичку и поменяв папку в кэше либо тип тайлов. У меня временные - в формате sas, основной кэш - беркли. (Имя одинаковое, удобно потом копировать не меня папку в кэше). Определившись с тем, что скачать, качаю во временную папку, затем с преогромнейшим удовольствием порчу кошерность (
корректирую грязными руками скачанное, например, откатывая облака облака назад, если не убедить себя в этой необходимости - однозначно задолбает), и только потом - в основной кэш с заменой.
именно так я собственно карты и делаю. для гугля и яндекса уже 14 масштаба для сравнения уже достаточноzed писал(а):Карта заполнения умеет подсвечивать разными цветами по диапазону дат.
надо
1)иметь временную папку, туда скачать для моего региона надо около 46тыс. тайлов. (вся территория порядка 11млн. в 18м масштабе) с заменой и только измененные.
2)иметь основную папку с кешем, и перед скачкой туда бросать копию предыдущей версии из временной.
3)иметь для обоих папок два zmp и горячие соседние кнопки, чтобы можно было анимировать пальцами попеременную смену двух этих карт.
скачали,сформировали масштабы с 8 по 13 из 14-го, и смотрим, переключая, где мелькает новый снимок. карта заполнения поможет определиться где новый снимок, а анимация - очертить границы.
zmp можно новый получить сменив guid на единичку и поменяв папку в кэше либо тип тайлов. У меня временные - в формате sas, основной кэш - беркли. (Имя одинаковое, удобно потом копировать не меня папку в кэше). Определившись с тем, что скачать, качаю во временную папку, затем с преогромнейшим удовольствием порчу кошерность (
- Papazol
- Гуру
- Сообщения: 2069
- Зарегистрирован: 04 дек 2009, 01:39
- Откуда: Рязань
- Благодарил (а): 73 раза
- Поблагодарили: 647 раз
Re: Оптимизация закачивания области при обновлениях
Хорошо помогает в этом деле версионный кэш. Я теперь делаю так: периодически (в основном тогда, когда есть инфа об обновлениях, но иногда просто) указываю новую версию кэша (или текущую дату) и качаю минимальный зум, на котором видны снимки высокого разрешения. Для разных картсервисов это z13-z15. При наличии новых тайлов они сохраняются в кэше под указанной версией, карта заполнения их показывает даже в обычном режиме, без указания диапазона дат. Если новых тайлов нет, ничего не сохраняется, карта заполнения остаётся пустой. Отмеченные картой заполнения места далее скачиваю на более крупных масштабах. Таким образом, количество скачиваемых тайлов минимально необходимое.
В SACS есть функция закачки "квадратно-гнездовым" методом, там возможно ещё сократить количество скачиваемых тайлов, необходимых для обнаружения обновлений.
Да, и ещё я после того, как скачаю всё новое на крупных масштабах, формирую из z18 масштабы z9-z13 (это для Google). Тогда при уменьшении масштаба сразу видно, где на карте имеются обновления в указанной версии.
В SACS есть функция закачки "квадратно-гнездовым" методом, там возможно ещё сократить количество скачиваемых тайлов, необходимых для обнаружения обновлений.
Да, и ещё я после того, как скачаю всё новое на крупных масштабах, формирую из z18 масштабы z9-z13 (это для Google). Тогда при уменьшении масштаба сразу видно, где на карте имеются обновления в указанной версии.