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

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

Модератор: Tolik

T_Im
Постигающий Дао
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 14 раз
Поблагодарили: 23 раза

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

Сообщение T_Im »

Написал несложный прокси сервер на Перле для обработки 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 раза.
Аватара пользователя
Papazol
Гуру
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 73 раза
Поблагодарили: 647 раз

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

Сообщение Papazol »

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

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

Сообщение T_Im »

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

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

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

Сообщение Draude »

Че то не работает. Давайте разбираться
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 »

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

хотя фотографии открывает нормально
vasketsov
Специалист
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Поблагодарили: 193 раза

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

Сообщение vasketsov »

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

Может установить IM в perl стандартным способом через ppm?
Автор, зачем установка отдельного целого IM-ка нужна? Через ppm не прокатит?
Draude
Соображающий
Сообщения: 82
Зарегистрирован: 28 авг 2009, 02:02
Благодарил (а): 15 раз
Поблагодарили: 3 раза

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

Сообщение Draude »

блииин, IM ругается на кирилицу в названиях файла и именах директорий
T_Im
Постигающий Дао
Сообщения: 112
Зарегистрирован: 04 янв 2009, 21:52
Благодарил (а): 14 раз
Поблагодарили: 23 раза

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

Сообщение T_Im »

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

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

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

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

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

Сообщение Draude »

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

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

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

Сообщение Draude »

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

А наоборот в инишник номер порта из SAS как у меня нельзя указать?
скрытый текст: показать
Изображение
Ответить

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