You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#1 2010-01-14 18:01:43
- Komяpa
- Member
- From: Minsk
- Registered: 2009-04-14
- Posts: 1,323
- Website
TWMS - кеширующий тайловый WMS-сeрвер
Страница проекта: http://code.google.com/p/twms/
wiki (рецепты по установке): http://wiki.openstreetmap.org/wiki/TWMS
Страница на ohloh: https://www.ohloh.net/p/twms/
Тут - делимся мнениями, рецептами, отзывами.
Last edited by Komяpa (2010-06-13 18:47:49)
world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]
Offline
#2 2010-01-14 18:15:49
- kolen
- Member
- From: Йошкар-Ола
- Registered: 2009-12-23
- Posts: 47
Re: TWMS - кеширующий тайловый WMS-сeрвер
Сборка под винду:
http://narod.ru/disk/16906073000/twms-win32.zip.html
Как пользоваться: распаковываем куда-нибудь, запускаем index.exe (да, странное название пока что у бинарника). Кэширует данные он в каталог cache, который находится рядом с экзешником.
По дефолту порт 8080, соответственно пути у WMS будут http://localhost:8080/?layer=...
Можно указать другой порт, запустив с параметром командной строки с номером порта, например index.exe 8888. Можно принимать соединения только с локалхоста, запустив как index.exe 127.0.0.1:8080.
По-идее эта сборка не должна требовать питон и либы, всё уже есть внутри встроенное. Устанавливать ничего не надо.
Собрано из моего форка twms, где интерфейс вебсервера переделан из mod_python, который был в оригинальном twms, на фреймворк web.py. Адрес форка: http://code.google.com/r/incredibleangst-twms-webpy/
В виндовой версии используется встроенный в web.py вебсервер, но web.py по идее поддерживает и другие интерфейсы, например wsgi и fastcgi.
Виндовую версию с экзешниками можно собрать, запустив setup.py py2exe. Для этого потребуются либы: PIL (python-imaging), pyproj и py2exe.
Last edited by kolen (2010-01-14 18:16:37)
Offline
#3 2010-01-14 18:35:16
- coolkaas
- Member
- From: RU, Penza
- Registered: 2009-05-28
- Posts: 2,391
Re: TWMS - кеширующий тайловый WMS-сeрвер
А если несколько хочется серверов разных? Использовать их по очереди.
Судя по тому, что
"распаковываем куда-нибудь [...] каталог cache, который находится рядом с экзешником."
можно пускать из разных папок разно-настроенные версии? (на разные порты, на разные wms-сервера).
Или я усложнил?
Offline
#4 2010-01-14 18:37:04
- Aleksandr Dezhin
- Member
- From: Msk
- Registered: 2008-05-25
- Posts: 2,109
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
Предусмотреть какой-нибудь TTL для кеша желания нет? Или я чего-то не нашел?
[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода
Offline
#5 2010-01-14 18:42:38
- Komяpa
- Member
- From: Minsk
- Registered: 2009-04-14
- Posts: 1,323
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
coolkaas, twms кеширует не wms. он кеширует тайлы. в слоях есть http://127.0.0.1:8080/?layers=yhsat& для яху и http://127.0.0.1:8080/?layers=irs& для IRS.
world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]
Offline
#6 2010-01-14 19:04:45
- Hind
- Member
- From: Moscow
- Registered: 2009-05-25
- Posts: 3,950
Re: TWMS - кеширующий тайловый WMS-сeрвер
Нда, а я уже апач настроил :3
Offline
#7 2010-01-14 19:20:39
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
Краткий мануал по установке twms на Windows XP
Устанавливаем:
apache
python 2.5 (!!! mod_python под python 2.6 не существует)
mod_python для python 2.5
PIL
pyproj
При написании этой инструкции использовались следующие версии:
apache_2.2.14-win32-x86-openssl-0.9.8k.msi
python-2.5.4.msi
mod_python-3.3.1.win32-py2.5-Apache2.2.exe
PIL-1.1.6.win32-py2.5.exe
pyproj-1.8.5.win32-py2.5.exe
Все установки производим с вариантами по умолчанию.
Открываем файл C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf.
Находим там множество строк, начинающихся с LoadModule. После последней добавляем:
LoadModule python_module modules/mod_python.so
Далее в конец этого же файла дописываем:
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
DirectoryIndex index.py
AddHandler mod_python .py
PythonHandler index
PythonDebug on
</Directory>
Скачиваем все файлы от twms отсюда http://twms.googlecode.com/hg/ и кладём в
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs.
Далее правим config.py от twms:
1. Находим и исправляем в начале файла tiles_cache, например, так:
tiles_cache = "d:/twms-cache/"
2. Заменяем пути к *_nxt.jpg, например, в функции FetchIrs:
yh_dead_tile = "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/irs_nxt.jpg"
Перезапускаем apache в Apache Monitor, который можно запустить через трей.
Для проверки пробуем открыть в браузере:
http://localhost/?layers=irs&bbox=38.2645676,56.1453162,39.4603353,56.8057105&srs=EPSG:4326&width=500&height=499
Ссылка на собственный wms в josm: http://localhost/?layers=irs&
Ссылка на собственный wms в fuzzyselect.py:
"http://localhost/?layer=irs&format=image/jpeg&force=noresize&width=600&bbox=%s,%s,%s,%s"%tuple(bbox)
Offline
#8 2010-01-17 02:59:29
- vespex
- Member
- From: Sarov/Moscow
- Registered: 2009-12-29
- Posts: 143
Re: TWMS - кеширующий тайловый WMS-сeрвер
Сборка под винду:
http://narod.ru/disk/16906073000/twms-win32.zip.htmlКак пользоваться: распаковываем куда-нибудь, запускаем index.exe (да, странное название пока что у бинарника). Кэширует данные он в каталог cache, который находится рядом с экзешником.
По дефолту порт 8080, соответственно пути у WMS будут http://localhost:8080/?layer=...
Можно указать другой порт, запустив с параметром командной строки с номером порта, например index.exe 8888. Можно принимать соединения только с локалхоста, запустив как index.exe 127.0.0.1:8080.
Замечательная штука, спасибо.
Offline
#9 2010-01-18 03:57:22
- Kuprienko_Viktor
- Member
- From: Apatity
- Registered: 2009-08-31
- Posts: 240
Re: TWMS - кеширующий тайловый WMS-сeрвер
Под винду оно, конечно, хорошо. А как бы это счастье на линух водрузить? (ASP_14 , fedora_9)
Апачь уже работает, но не силён я в питонах. :(
Last edited by Kuprienko_Viktor (2010-01-18 03:59:19)
Offline
#10 2010-01-18 09:26:23
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
Kuprienko_Viktor
поставь mod_python и по аналогии с Windows, там принципиальной разницы нет...
Offline
#11 2010-01-18 09:27:46
- Ezhick
- Member
- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
А реально заставить его работать через локальный прокси?
Offline
#12 2010-01-18 09:35:07
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
Реально:
proxies = {'http': 'http://proxyaddress:8080'}
a = urllib.urlopen( url, proxies=proxies )
Offline
#13 2010-01-18 11:09:56
- Ezhick
- Member
- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
сорри, это куда писать надо?
Offline
#14 2010-01-18 11:22:43
- Upliner
- Member
- From: Kyiv
- Registered: 2008-09-18
- Posts: 845
Re: TWMS - кеширующий тайловый WMS-сeрвер
Заменить везде обычный urlopen на urlopen с прокси
Last edited by Upliner (2010-01-18 11:51:15)
Big cat is watching you
Offline
#15 2010-01-20 01:09:53
- Kuprienko_Viktor
- Member
- From: Apatity
- Registered: 2009-08-31
- Posts: 240
Re: TWMS - кеширующий тайловый WMS-сeрвер
Kuprienko_Viktor
поставь mod_python и по аналогии с Windows, там принципиальной разницы нет...
Обломался. Скрипт пишет, не могу загрузить pyproj, а я так и не нашел в каком пакете оно прячется. Похоже, ни в каком. Вот в Альтлинукс вовсе отдельный пакет для этого модуля, но для 2.6. Мне он не подходит.
Offline
#16 2010-01-20 08:11:26
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
Скачай и установи pyproj отдельно...
Offline
#17 2010-01-20 08:47:16
- Komяpa
- Member
- From: Minsk
- Registered: 2009-04-14
- Posts: 1,323
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
Если работа с TWMS кроме как в josm не предпологается, можно руками выкосить все упоминания pyproj. Он там исключительно для более-менее корректной работы QGIS и друзей.
world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]
Offline
#18 2010-01-21 14:55:50
- Kuprienko_Viktor
- Member
- From: Apatity
- Registered: 2009-08-31
- Posts: 240
Re: TWMS - кеширующий тайловый WMS-сeрвер
Если работа с 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)
----------------------------------------------------------------
Оно? Вроде работает.
Это просто праздник какой-то!
Offline
#19 2010-01-22 19:29:12
- Aleksandr Dezhin
- Member
- From: Msk
- Registered: 2008-05-25
- Posts: 2,109
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
С ограничением максимального размера отдаваемого изображения какая-то лажа...
[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода
Offline
#20 2010-01-24 11:01:55
- progserega
- Member
- From: Владивосток
- Registered: 2009-12-31
- Posts: 456
Re: TWMS - кеширующий тайловый WMS-сeрвер
При установке в генте:
Ставим:
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
</Directory>
Ребутаем апач:
/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.
П.С. Классная штука! Спасибо! А то утомляло на каждый эвент зума ждать по несколько минут...
matrix.org: @progserega:rsprim.ru
Offline
#21 2010-01-24 11:13:34
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,699
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
Почему-то все линуксоиды копируют вытягивание файлов с сайта из вининструкции вместо предложения установить mercurial
Offline
#22 2010-01-27 21:55:29
- MatWay
- Member
- From: Yaroslavl
- Registered: 2009-11-19
- Posts: 54
Re: TWMS - кеширующий тайловый WMS-сeрвер
Отличная штука!
вот mini-howto по установке в Ubuntu (Jaunty Jackalope) для полных чайников вроде меня :-)
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
</Directory>
6. перезапускаем апач:
sudo /etc/init.d/apache2 restart
7. Пробуем открыть в браузере:
http://localhost/?layers=irs&bbox=38.2645676,56.5453162,39.6603353,57.1057105&srs=EPSG:4326&width=500&height=499
8. наслаждаемся видом на Плещеево озеро
9. добавляем сервер в настройках wms-плагина в JOSM
http://localhost/?layers=irs&
10. получаем удовольствие :-)
Offline
#23 2010-02-06 16:31:51
- Kuprienko_Viktor
- Member
- From: Apatity
- Registered: 2009-08-31
- Posts: 240
Re: TWMS - кеширующий тайловый WMS-сeрвер
coolkaas, twms кеширует не wms. он кеширует тайлы. в слоях есть http://127.0.0.1:8080/?layers=yhsat& для яху и http://127.0.0.1:8080/?layers=irs& для IRS.
А нельзя ли добавить кэш для Landsat?
Landsat, бывает, довольно тяжко грузится плюс удобно таскать кэш на работу ибо инет там у меня убогий, а времени много - с февраля работаю в режиме простоя.
Last edited by Kuprienko_Viktor (2010-02-06 16:33:36)
Offline
#24 2010-02-06 17:51:22
- Aleksandr Dezhin
- Member
- From: Msk
- Registered: 2008-05-25
- Posts: 2,109
- Website
Re: TWMS - кеширующий тайловый WMS-сeрвер
А нельзя ли добавить кэш для Landsat?
Лучше скачайте интересующие вас сцены и раздавайте их себе mapserver-ом - летать будет + получите более качественную картинку скорее всего + будет возможность манипулировать каналами.
[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода
Offline
#25 2010-02-07 02:56:31
- Kuprienko_Viktor
- Member
- From: Apatity
- Registered: 2009-08-31
- Posts: 240
Re: TWMS - кеширующий тайловый WMS-сeрвер
А нельзя ли добавить кэш для Landsat?
Лучше скачайте интересующие вас сцены и раздавайте их себе mapserver-ом - летать будет + получите более качественную картинку скорее всего + будет возможность манипулировать каналами.
Непростая это штука, mapserver. Вразумительных русских манов я к нему не нашел, а английские не осилю - слишком объёмный материал.
Offline