Это можно как-то изменить?
Работает, спасибо.
Это можно как-то изменить?
Работает, спасибо.
Запросить у него область ещё раз - тогда построит правильно.
Насколько я помню, этот баг связан с разделение ресурсов (нескачаных тайлов) между тредами.
Запросить у него область ещё раз - тогда построит правильно.
Это я понял уже, но это не решение.
Почему-то в вывод некоторые тайлы подсовываются от другого зума: http://amdmi3.ru/files/twms.png
twms здесь не при чем. Писал об этом. Не надо прыгать по масштабам, wmsplugin этого не любит.
ikz, причём здесь именно twms
ikz, причём здесь именно twms
У меня получались точно такие же картинки (микс из 3-6 зумов) без всякого twms. Можешь проверить в логах, это wmsplugin отдает команды на получение тайлов с разных зумов.
Решил установить себе TWMS, так как, почему-то, JOSM упорно не хочет показывать WMS Космоснимки.
Вроде всё сделал как написано в вики http://code.google.com/p/twms/wiki/Installing
Однако на выходе получилось следующее:
MOD_PYTHON ERROR
ProcessId: 844
Interpreter: 'SNK.DOMAIN.RU'
ServerName: 'SNK.DOMAIN.RU'
DocumentRoot: 'D:/GPS/TWMS'
URI: '/index.py'
Location: None
Directory: 'D:/GPS/TWMS/'
Filename: 'D:/GPS/TWMS/index.py'
PathInfo: None
Phase: 'PythonHandler'
Handler: 'index'
Traceback (most recent call last):
File "C:\Program Files\Python\Lib\site-packages\mod_python\importer.py", line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)
File "C:\Program Files\Python\Lib\site-packages\mod_python\importer.py", line 1202, in _process_target
module = import_module(module_name, path=path)
File "C:\Program Files\Python\Lib\site-packages\mod_python\importer.py", line 296, in import_module
log, import_path)
File "C:\Program Files\Python\Lib\site-packages\mod_python\importer.py", line 680, in import_module
execfile(file, module.__dict__)
File "D:\GPS\TWMS\index.py", line 18, in <module>
import twms
File "C:\Program Files\Python\Lib\site-packages\mod_python\importer.py", line 991, in load_module
return _global_modules_cache.import_module(self.__file)
File "C:\Program Files\Python\Lib\site-packages\mod_python\importer.py", line 680, in import_module
execfile(file, module.__dict__)
File "D:\GPS\TWMS\twms.py", line 20, in <module>
from twms.twms import *
File "C:\Program Files\Python\Lib\site-packages\mod_python\importer.py", line 991, in load_module
return _global_modules_cache.import_module(self.__file)
File "C:\Program Files\Python\Lib\site-packages\mod_python\importer.py", line 488, in import_module
assert(file != parent_info.file), "Import cycle in %s." % file
AssertionError: Import cycle in D:\GPS\TWMS\twms.py.
MODULE CACHE DETAILS
Accessed: Wed Sep 08 10:56:48 2010
Generation: 0
_mp_6223fa8d894feab9126da5b7bbe42831 {
FileName: 'D:\\GPS\\TWMS\\index.py'
Instance: 1 [IMPORT]
Generation: 0 [ERROR]
Modified: Mon Aug 09 01:08:34 2010
Children: 'D:\\GPS\\TWMS\\twms.py'
}
_mp_658b7967f7b6f2b6747b1490d6e62168 {
FileName: 'D:\\GPS\\TWMS\\twms.py'
Instance: 1 [IMPORT]
Generation: 0 [ERROR]
Modified: Mon Aug 09 01:08:34 2010
}
Нутром чую, что ругается на “from twms.twms import *”.
Можно это как-то вылечить?
SoNiKa, в той доке явно написано, что mod_python больше не поддерживается. Цепляй к апачу как mod_wsgi, или вообще запускай standalone.
Нутром чую, что ругается на “from twms.twms import *”.
Можно это как-то вылечить?
Насколько я помню, у меня вылечилось копированием подкаталога twms(не того, где index.py, а где __init.py, bbox.py и т.д.) в site-packages.
Уж извиняюсь, мы, русские, инструкций не читаем в принципе и всегда делаем по-своему)))
SoNiKa, в той доке явно написано, что mod_python больше не поддерживается. Цепляй к апачу как mod_wsgi, или вообще запускай standalone.
Спасибо.
Да, действительно, написано про apache + mod_wsgi. Однако это написано в подразделе Linux, который был пропущен, так как у меня это всё на Windows.
Сейчас попробуем иначе.
Насколько я помню, у меня вылечилось копированием подкаталога twms(не того, где index.py, а где __init.py, bbox.py и т.д.) в site-packages.
Уж извиняюсь, мы, русские, инструкций не читаем в принципе и всегда делаем по-своему)))
Ничего страшного, завести его на mod_python, в приниципе, можно и несложно. Но mod_python на каждый чих рестартит скрипт заново, не давая возможности делать рам-кеш (сейчас) и каким-то нормальным образом делать коммуникации между параллельными процессами (та самая ненавистная бага с “размытыми тайлами”)
Рекомендую сначала довести до работоспособного состояния в standalone, а уж потом цеплять к апачу.
Вроде передал на apache+mod_wsgi.
Прогресс на лицо, но не полный. Апач стал запускаться. А вот TWMS выдаёт “internal server error”.
В error логе появляется следующее:
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] Traceback (most recent call last):
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "C:\\Program Files\\Python 2.7\\lib\\site-packages\\web\\application.py", line 242, in process
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] return self.handle()
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "C:\\Program Files\\Python 2.7\\lib\\site-packages\\web\\application.py", line 233, in handle
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] return self._delegate(fn, self.fvars, args)
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "C:\\Program Files\\Python 2.7\\lib\\site-packages\\web\\application.py", line 415, in _delegate
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] return handle_class(cls)
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "C:\\Program Files\\Python 2.7\\lib\\site-packages\\web\\application.py", line 390, in handle_class
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] return tocall(*args)
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "D:/___www_all/twms.ru/docs/twms.py", line 47, in GET
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] return handler()
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "D:/___www_all/twms.ru/docs/twms.py", line 36, in handler
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] resp, ctype, content = twms_main(data)
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "D:\\___www_all\\twms.ru\\docs\\twms\\twms.py", line 188, in twms_main
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] result_img = getimg(box,srs, (height, width), config.layers[ll], start_time, force)
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "D:\\___www_all\\twms.ru\\docs\\twms\\twms.py", line 394, in getimg
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] out = Image.new("RGBA", (x, y))
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "C:\\Program Files\\Python 2.7\\lib\\site-packages\\PIL\\Image.py", line 1763, in new
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] return Image()._new(core.fill(mode, size, color))
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] File "C:\\Program Files\\Python 2.7\\lib\\site-packages\\PIL\\Image.py", line 37, in __getattr__
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] raise ImportError("The _imaging C module is not installed")
[Wed Sep 08 14:59:50 2010] [error] [client 127.0.0.1] ImportError: The _imaging C module is not installed
на запрос от JOSM`а
127.0.0.1 - - [08/Sep/2010:14:59:50 +0400] "GET /?layers=irs&bbox=30.2216561,59.8379394,30.2408080,59.8475608&srs=EPSG:4326&width=500&height=500 HTTP/1.1" 500 21
Не подскажите - куда дальше копать?
З.Ы. Установлены:
apache_httpd-2.2.16-win32-x86-openssl-0.9.8o
python-2.7
PIL-1.1.7.win32-py2.7
Я бы смотрел зависимости в файле C:\Program Files\Python 2.7\lib\site-packages\PIL\Image.py
Вероятно там указан модуль, который не установлен
Урряяя Заработало
В следующей комплектации apache+mod_wsgi:
apache_httpd-2.2.16-win32-x86-openssl-0.9.8o
python-2.6.6
pyproj-1.8.8.win32-py2.6
mod_wsgi-win32-ap22py26-3.3
PIL-1.1.7.win32-py2.6
webpy-webpy-webpy-0.34-17-g7bb7648
Всем огромное спасибо за помощь.
гм. а нельзя этот список уменьшить, например, до трёх строчек?
Если это вопрос ко мне, то я тут не специалист - чего “оно” у меня просило - то и ставил.
У меня получались точно такие же картинки (микс из 3-6 зумов) без всякого twms. Можешь проверить в логах, это wmsplugin отдает команды на получение тайлов с разных зумов.
У меня такого без twms ни разу не было.
У меня такого без twms ни разу не было.
У меня было на кадастровой карте. А она ни разу через twms.
Хотел сделать скриншот, но похоже, что wmsplugin уже вылечили, поскольку повторить тот эффект пока не удалось.
Напишу для себя и других чтобы не забыть… ubuntu + apache + mod_wsgi
WSGIPythonPath /var/www/latlon/wms/:/var/www/latlon/wms/twms/
WSGIDaemonProcess twmsd user=www-data group=www-data display-name=(wsgi:twms) python-path=/var/www/latlon/wms/
<VirtualHost *>
ServerAdmin me@komzpa.net
ServerName wms.play.latlon.org
DocumentRoot /var/www/latlon/wms
WSGIScriptAlias / /var/www/latlon/wms/twms.py
WSGIProcessGroup twmsd
AddType text/html .py
<Directory /var/www/latlon/wms/>
Order deny,allow
Allow from all
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On