Возникла необходимость использовать гис сервер в "оффлайн" режиме. Проще говоря серверная часть флита и гис-сервер были в виртуалке и доступа по 80 порту на tile.openstreetmap.org сделать было нельзя как по техническим причинам, так и по административным. Виртуалка за натом,, наружу проброшен только порт 6500 до нашего сервера. А ОSM во флите очень сильно хотят видеть. Да не просто наш любимый краюшек, а всю нашу необъятную. При такой постановке вопроса сразу пришла в голову мысль выгрузить все через какую-нибудь SASпланета. Но не тут то было - формат кэша другой(точнее есть там какое-то исправление номер 780, но я не допетрил как...). Помочь мне в этой проблеме никто не смог(тонкий намек), поэтому я сам начал копать и оказалось что структура сайта tile.openstreetmap.org в точности повторяет кэш M2M Gisplatform. картинка для примера
в настройках самого gis
Осталось только разобраться что же есть эти цифры и откуда они берутся. Но тут и без гуглов ясно что z - это зум. 0<=Z<=17. (http://tile.openstreetmap.org/0/0/0.png - вся земля) далее X и Y зависят от Z, а именно 0<=X<2^z и 0<=Y<2^z.
Решил выгрузить все это добро wget'ом и за пару часов на BASH был написан скрипт(вру конечно, дергали постоянно и не давали сосредоточится). Вообщем выгружаю не все, а только между определенными координатами xup,xdown,yup,ydown. В скрипте создаются нужные папки в нужных местах и туда качаются нужные файлы.
Хочу сказать что процесс занимает много времени, но фишка баша в том что я могу загружать параллельно файлы с разных зумов. Результат тоже заставляет задуматься. Сейчас у меня выгружается 14ый зум следующие координаты по x c70 по 100 градус, по y с 40 по 70 градус. В тэйлах это будет
Вообщем тема такая. Если брать гигантскую область(как у меня) то шибко много получается тэйлов. все выходные качалось и результат 2 гига и 3,5 миллиона файлов. И это только примерно процентов 10. если взять 17 зум и подставить в формулу
то выйдет 85560<X<97939 это 12379вариантов умножить на 34224<Y<40049 это 5825 вариантов, то получится 72107675 тэйлов. В среднем по 10к тэйл - вообщем не вариант.
Вообщем то вывод такой - отдельные области детально подгружать.
Добавлено (17.09.2012, 09:46) --------------------------------------------- Вот скриптец, но я думаю что лучше с нуля писать. Придет ясность и понимание. Да и не такой уж он и хитрый. Сразу скажу что быдлокодерство, нет времени сесть и подумать
Code
#! /bin/bash
echo "start" CacheDir="$PWD/OSM Mapnik" # то как будет называться папка с кэшем+путь до скрипта wget="/usr/bin/wget" #где лежит wget PNG='.png'
z=17 #Задается зум. для того чтобы параллельно запускать скрипт с разным зумом x=0 #Не кошерный полный перебор от 0 да 2^z и закачка только с нужных мест. y=0 #Хорошо бы переделать, но и так работает.(быдлокодерство чистой воды)