TWMS - кеширующий тайловый WMS-сeрвер

А реально заставить его работать через локальный прокси?

Реально:

proxies = {‘http’: ‘http://proxyaddress:8080’}
a = urllib.urlopen( url, proxies=proxies )

сорри, это куда писать надо?

Заменить везде обычный urlopen на urlopen с прокси

Обломался. :frowning: Скрипт пишет, не могу загрузить pyproj, а я так и не нашел в каком пакете оно прячется. Похоже, ни в каком. Вот в Альтлинукс вовсе отдельный пакет для этого модуля, но для 2.6. Мне он не подходит. :frowning:

Скачай и установи pyproj отдельно…

Если работа с TWMS кроме как в josm не предпологается, можно руками выкосить все упоминания pyproj. Он там исключительно для более-менее корректной работы QGIS и друзей.

Из index.py удавил “import pyproj” и строки:

if srs == "EPSG:4326":
   p = pyproj.Proj("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
elif srs == "EPSG:3395":
    p = pyproj.Proj('+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs')
    la1,lo1,la2,lo2 = bbox
    la1,lo1 = p(la1,lo1, inverse=True)
    la2,lo2 = p(la2,lo2, inverse=True)
    bbox = (la1,lo1,la2,lo2)
elif srs == "EPSG:900913":
    p = pyproj.Proj('+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +units=m +no_defs')
    la1,lo1,la2,lo2 = bbox
    la1,lo1 = p(la1,lo1, inverse=True)
    la2,lo2 = p(la2,lo2, inverse=True)
    bbox = (la1,lo1,la2,lo2)

Оно? Вроде работает.
Это просто праздник какой-то! :slight_smile:

С ограничением максимального размера отдаваемого изображения какая-то лажа…

При установке в генте:

Ставим:
www-servers/apache-2.2.14-r1
www-apache/mod_python-3.3.1-r1
dev-python/pyproj-1.8.5
dev-python/imaging-1.1.7

Последний - это и есть PIL.

Ложим в /var/www/localhost/htdocs файлы проекта, взятые с http://twms.googlecode.com/hg/

Патчим конфиг:
mv config.py config.py_def
cat config.py_def|sed “s//var/www/latlon/wms//var/www/localhost/htdocs/g”>config.py

Создаём ди-ю кэша:
mkdir /var/www/localhost/htdocs/cache
chown apache:apache /var/www/localhost/htdocs/cache

В /etc/apache2/httpd.conf добавляем:

LoadModule python_module modules/mod_python.so

<Directory “/var/www/localhost/htdocs/”>
DirectoryIndex index.py
AddHandler mod_python .py
PythonHandler index
PythonDebug on

Ребутаем апач:
/etc/init.d/apache2 restart

В случае merkaartor:
Заходим в tools->WMS Servers editor

Для космоснимков:
Пишем имя: localhost-irs
Server URL: http://localhost/?layers=irs&

Для yahoo:
Пишем имя: localhost-yahoo
Server URL: http://localhost/?layers=yhsat&

Жмём “добавить”

Закрываем.

Нажимаем Ctrl+L - в “Карта” выбираем WMS-adapter и любой и localhost-irs или localhost-yahoo.

П.С. Классная штука! Спасибо! А то утомляло на каждый эвент зума ждать по несколько минут…

Почему-то все линуксоиды копируют вытягивание файлов с сайта из вининструкции вместо предложения установить mercurial :slight_smile:

Отличная штука!

вот mini-howto по установке в Ubuntu (Jaunty Jackalope) для полных чайников вроде меня :slight_smile:

  1. устанавливаем необходимые пакеты:
    sudo apt-get install apache2 libapache2-mod-python python-pyproj python-imaging mercurial

  2. загружаем файлы проекта:
    hg clone https://twms.googlecode.com/hg/ twms

  3. патчим config.py и копируем файлы туда где их найдет apache
    cd twms
    mv config.py config.py_def
    cat config.py_def|sed “s//var/www/latlon/wms//var/www/g”>config.py
    sudo cp * /var/www/

  4. создаём каталог для кэш и устанавливаем на него права:
    sudo mkdir /var/www/cache
    sudo chown www-data:www-data /var/www/cache

  5. в /etc/apache2/httpd.conf добавляем:

LoadModule python_module modules/mod_python.so

<Directory “/var/www/”>
DirectoryIndex index.py
AddHandler mod_python .py
PythonHandler index
PythonDebug on

  1. перезапускаем апач:
    sudo /etc/init.d/apache2 restart

  2. Пробуем открыть в браузере:
    http://localhost/?layers=irs&bbox=38.2645676,56.5453162,39.6603353,57.1057105&srs=EPSG:4326&width=500&height=499

  3. наслаждаемся видом на Плещеево озеро

  4. добавляем сервер в настройках wms-плагина в JOSM
    http://localhost/?layers=irs&

  5. получаем удовольствие :slight_smile:

А нельзя ли добавить кэш для Landsat?
Landsat, бывает, довольно тяжко грузится плюс удобно таскать кэш на работу ибо инет там у меня убогий, а времени много - с февраля работаю в режиме простоя.

Лучше скачайте интересующие вас сцены и раздавайте их себе mapserver-ом - летать будет + получите более качественную картинку скорее всего + будет возможность манипулировать каналами.

Непростая это штука, mapserver. Вразумительных русских манов я к нему не нашел, а английские не осилю - слишком объёмный материал. :frowning:

а можно TWMS с TangoGPS как-нибудь подружить?

Полагаю, что нет. TWMS, если я правильно понимаю, на входе берёт тайлы, и а на выходе работает как WMS - выдаёт их склеенными кусками для запрашиваемой области. А tangogps как раз тайлы и нужны, а не склеенное нечто - в общем TWMS здесь вроде совсем не при деле.

А чего собственно хочется? Засунуть тайлы от космоснимков в TangoGPS?

Именно. В кэше у TWMS тайлы и Tango нужны тайлы. Структура хранения отличается, увы.
На диске закешировано больше гига IRSа, а взять немогу :slight_smile: (можно через josm, но не очень удобно)

Сделать конвертер для кеша

Новая ревизия twms.

Ченджлог, он же коммитмесседж: http://code.google.com/p/twms/source/detail?r=34da75b243877d20bf1ab948475bc8dab84c15ce

Cборка под windows от kolen: http://code.google.com/p/twms/downloads/list

Из фич - нативная поддержка потлача. http://wms.latlon.org/?request=GetTile&layers=irs&z=!&x=!&y=!

Картинка для затравки: