SASGIS

Веб-картография и навигация

Прокси сервер для обработки тайлов

Обсуждение различной информации связанной с картографией в САСе, а также сторонние программные продукты для связки с САСом

Модератор: Tolik

Прокси сервер для обработки тайлов

Сообщение T_Im » 06 апр 2013, 01:41

Написал несложный прокси сервер на Перле для обработки Perl-модулем ImageMagick-а качаемых тайлов.
Что умеет делать:
1) Удалять логотип (см. тут)
2) Корректировать поканально уровни RGB
3) Наводить резкость Unsharp Mask
4) Есть возможность проводить потенциально любую(!) цветокоррекцию с помощью обработанного по выбранному алгоритму специальному файлу с "эталонной" таблицей цветов (подробнее рекомендую посмотреть тут http://www.quelsolaar.com/technology/clut.html, вообще интересная тема на предмет реализовать в SAS)

Примеры использования:
качаем часть "плохого" снимка, склеиваем, отправляем в Фотошоп/Гимп/...
а) Выставить уровни и гамму поканально по интересующему ландшафту, записываем значения черной, белой точек и гаммы для каждого канала в !tile_proxy.ini.
б) Поместив на склееный снимок !hald.tif можно провести любые операции с цветом (кривые, каналы, слои, перевод и коррекция в CMYK/LAB; все операции должны быть индивидуальными - не зависеть от цветового окружения), сохранить измененный !hald_edited.tif, указать его в !tile_proxy.ini.

Глюки: при интенсивном скачивании (например, в режиме просмотра) иногда SAS перестает качать через прокси (счетчик тайлов бежит, но ничего реально не скачивается). Лечится перезапуском SAS.

Полный комплект (exe файл, исходный код, файл конфигурации, пример маски и альфаканала для убирания логотипа, пример haldCLUT файла и его редактированной версии)
http://zalil.ru/34415311

Чтобы собранный exe файл работал, необходимо установить ImageMagick (выбрать версию Win32 dynamic at 8 bits-per-pixel, на текущий момент последняя версия)
Последний раз редактировалось T_Im 07 апр 2013, 21:47, всего редактировалось 3 раз(а).

За это сообщение автора T_Im поблагодарил:
Draude (07 апр 2013, 10:23)
Рейтинг: 5.26%
 
T_Im
Постигающий Дао
 
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 15 раз.
Поблагодарили: 14 раз.

Re: Прокси сервер для обработки тайлов

Сообщение Papazol » 06 апр 2013, 20:23

Вопрос: при использовании данного сервера как будет вести себя программа в случае указания "заменять существующие тайлы только при их отличии"?
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 606 раз.

Re: Прокси сервер для обработки тайлов

Сообщение T_Im » 06 апр 2013, 23:54

Смотря какой алгоритм у "заменять существующие тайлы только при их отличии". Если сверяется содержание тайла - то будет замена. Если берется размер или дата последней модификации из http хедера - то они вроде бы должны передаваться без изменений (замены не будет). Если сверяется физический размер тайла - то тут зависит от опций (например, при удалении логотипа размер, как ни странно, не изменяется; наведение резкости может увеличить тайл).

В любом случае, не вижу смысла качать в таком режиме через прокси: что в некоторых случаях SAS почему то пропускает пришедшие через прокси тайлы (при повторной скачке они скачиваются) - поэтому, во избежания мозаики лучше все делать на чистом кеше.
T_Im
Постигающий Дао
 
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 15 раз.
Поблагодарили: 14 раз.

Re: Прокси сервер для обработки тайлов

Сообщение Draude » 07 апр 2013, 12:12

Че то не работает. Давайте разбираться
1.стащил по ссылке ImageMagick (ImageMagick-6.8.4-7-Q16-x86-dll.exe Win32 dynamic at 16 bits-per-pixel) .
2. установил
скрытый текст: показать
ИзображениеИзображение

3. нашел рабочий прокси, изменил настройки SAS
скрытый текст: показать
Изображение

4. соответственно задачи подправил !tile_proxy.ini :
скрытый текст: показать
раз Изображение

5. запустил !tile_proxy
скрытый текст: показать
Изображение

ошибок нет, но SAS качает тайлы без коррекции, изменение порядка запуска SAS и !tile_proxy безрезультатно

6. подправил !tile_proxy.ini в части Host и параметров коррекции, запустил:
два
скрытый текст: показать
Изображение

ошибок нет, но SAS качает тайлы снова без коррекции, изменение порядка запуска SAS и !tile_proxy безрезультатно

7. сменил картосервис , взял Кадастр Ua, поправил !tile_proxy.ini, а именно : host=212.26.144.110 а из коррекции оставил только delogo=1

8. в независимости от порядка запуска !tile_proxy имеем ошибку :
скрытый текст: показать
Изображение

соответственно и для кадастра скачанные тайлы без изменений, где косяк?
Draude
Соображающий
 
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз.
Поблагодарили: 3 раз.

Re: Прокси сервер для обработки тайлов

Сообщение Draude » 07 апр 2013, 12:27

Проблема наверное в ImageMagick , при открытии отдельного тайла ругается
скрытый текст: показать
Изображение

хотя фотографии открывает нормально
Draude
Соображающий
 
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз.
Поблагодарили: 3 раз.

Re: Прокси сервер для обработки тайлов

Сообщение vasketsov » 07 апр 2013, 12:34

Draude писал(а):Проблема наверное в ImageMagick

Может установить IM в perl стандартным способом через ppm?
Автор, зачем установка отдельного целого IM-ка нужна? Через ppm не прокатит?
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 193 раз.

Re: Прокси сервер для обработки тайлов

Сообщение Draude » 07 апр 2013, 13:23

блииин, IM ругается на кирилицу в названиях файла и именах директорий
Draude
Соображающий
 
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз.
Поблагодарили: 3 раз.

Re: Прокси сервер для обработки тайлов

Сообщение T_Im » 07 апр 2013, 13:30

2Draude
В настройках SAS нужно указать localhost:номер порта из инишника.
Прокси поднимается на локальной машине, типа проксомитрона. Никакие внешние рабочие прокси не нужны.

Попробуйте переустановить Image Magick на 8 битную версию (возможно это критично, поскольку у меня все работало с ней).

vasketsov писал(а):Может установить IM в perl стандартным способом через ppm? Автор, зачем установка отдельного целого IM-ка нужна? Через ppm не прокатит?

Дело в том, что устанавливаеемый через ppm модуль все равно использует стандартную установку IM (его папка обязательно должна быть прописана в PATH винды) - используются его библиотеки.
Я пытался выделить необходимые библиотеки, чтобы они лежали рядом с ссобранным exe файлом и не требовали установленного IM, но там какая то хитрая иерархическая структура: часть вещей работает, но как только требуется преобразование tiff>jpeg - все вылетает (tiff библиотеку кидал и в корень и в соответствующую подпапку - безрезультатно). Если кто нибудь разберется как это сделать - буду благодарен.
T_Im
Постигающий Дао
 
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 15 раз.
Поблагодарили: 14 раз.

Re: Прокси сервер для обработки тайлов

Сообщение Draude » 07 апр 2013, 14:01

Скачал 8бит static , нет одной библиотеки, снес скачал 8бит dynamic ( по идеи должно быстрее работать)
вынес папку !perlproxy на корневой, все запускается без ругани, но неработает
скрытый текст: показать
Изображение

буду пробывать "переселять" SAS по пути без кирилицы
Последний раз редактировалось Draude 07 апр 2013, 14:05, всего редактировалось 1 раз.
Draude
Соображающий
 
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз.
Поблагодарили: 3 раз.

Re: Прокси сервер для обработки тайлов

Сообщение Draude » 07 апр 2013, 14:05

T_Im писал(а):2Draude
В настройках SAS нужно указать localhost:номер порта из инишника.
Прокси поднимается на локальной машине, типа проксомитрона. Никакие внешние рабочие прокси не нужны.
...

А наоборот в инишник номер порта из SAS как у меня нельзя указать?
скрытый текст: показать
Изображение
Draude
Соображающий
 
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз.
Поблагодарили: 3 раз.

След.

Вернуться в Другие программы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0