Здесь расположен наш офис
Г Р У П П А   К О М П А Н И Й
ГРАДОСТРОИТЕЛЬНЫЙ  ЦЕНТР
344000, Ростовская обл., г.Ростов-на-Дону, пер.Газетный, 121/262А, офис 4
Тел./факс (863) 242-9970, 242-9968
Идёт загрузка страницы ...
  

 

Информационное агентство СА «Архитектор»

Рейтинг@Mail.ru
Rambler's Top100

© ООО «НПО «ЮРГЦ»,
2008-2010
При перепечатке материалов ссылка на сайт обязательна

Страница оптимизирована
для Internet Explorer

Растрирование макетов ГИС ObjectLand

Постановка задачи

Растрировать изображение макета в высоком разрешении приходится:

1) для смежников или заказчика, требующих растровую картинку;

2) для вставки макета в растровом виде в документы MS Office, программы вёрстки или иные программы;

3) из-за непреодолимых проблем при печати векторного изображения макета непосредственно из ObjectLand, например, из-за проблем со штриховкой при выводе на плоттер Canon W7200.

Существующие варианты решения

В ГИС ObjectLand есть возможность сохранять темы в растровый файл BMP (с неприемлемо низким разрешением) и в векторный формат EMF при помощи меню «Сервис», пункта «Сохранить в файл...». Макеты же сохранить в виде растра невозможно в принципе, их можно только распечатать. Иногда выйти из положения можно, используя так называемые «псевдопринтеры» – программы, сохраняющие распечатку в формате EPS или PDF. Лучшей такой программой, на взгляд автора, является бесплатная PDF995, которую можно скачать по адресу http://www.pdf995.com . Но псевдопринтерам свойственны искажения штриховок и шрифтов, что тоже неприемлемо на практике.

Предлагаемая программа

В данной статье описана программа для растрирования макета в цветной файл формата TIF, сжатый по алгоритму LZW. Данный алгоритм сжатия идеально подходит для хранения топографических и тематических карт, обеспечивая высокую степень компрессии и не внося при этом никаких помех и искажений в изображённую информацию. Для склейки временных файлов-фрагментов применяется бесплатная программа ImageMagick, дистрибутив которой нужно скачать со страницы http://www.imagemagick.org/script/binary-releases.php#windows, подзаголовок «Windows Binary Release», рядом с пометкой «Win32 dynamic at 8 bits-per-pixel» и установить, обладая правами «администратора», обязательно отметив при установке самый нижний флажок, как показано на рисунке:



Окно выбора опций ImageMagick при установке
 

Если не установить ImageMagick, либо установить, не отметив флажок, описываемая мною программа всё равно будет работоспособна, но соединять фрагменты изображения макета придётся вручную в растровом редакторе. Фрагменты хранятся в папке «C:\Временная папка для растров\», которая при наличии ImageMagick уничтожается сразу после успешного окончания растрирования (в этом случае результат сохраняется в папку, где хранится ГБД, содержащая макет). Если ImageMagick не установлен или при неудачном растрировании – временная папка остаётся на диске. Возникает вопрос, а почему бы сразу не сохранить изображение макета в растровый файл? «Склеивать» растр из отдельных фрагментов приходится, потому что в случае большого макета ObjectLand не может распределить память под весь макет целиком (это неудивительно, так как размер несжатого растра составляет более гигабайта при разрешении 300 dpi и площади макета около 2 кв.м). К тому же размер файла формата BMP, который выдаётся ObjectLand'ом, не может превышать 2Gb. Из всех программ для целей «ручного» склеивания достаточно больших изображений пригоден только Adobe Photoshop, остальные растровые редакторы (Gimp, Corel PhotoPaint, ряд shareware и freeware редакторов) не способны распределить память и дисковое пространство под растр гигантских размеров. К счастью, облегчённая (и значительно более дешёвая) версия Photoshop, известная как Photoshop Elements, тоже успешно справляется со склейкой гигантских растров «вручную» (хотя и неспособна распечатать их в высоком разрешении). Для небольших макетов (формата A4-A3) либо при низком разрешении (до 100 dpi) склеивание может не понадобиться вообще (так как при растрировании будет создан лишь один файл) либо возможно будет обойтись для склеивания чем-то подешевле, чем Photoshop. Выбирая разрешение, следует иметь в виду, что при росте разрешения размер растра на диске будет расти квадратично, то есть при увеличении разрешения вдвое, например, размер растра вырастет уже вчетверо. Для подавляющего большинства применений разрешение не должно превышать 300 dpi, это значение и выставлено в программе «по умолчанию».

Что делать с полученными файлами-фрагментами

Фрагменты изображения не несут информации о разрешении (во всяком случае, она игнорируется программами-редакторами), поэтому в Photoshop, например, они открываются всегда с разрешением 72 dpi. Следует открыть в Photoshop первый из полученных TIF-файлов и с помощью диалога «Размер изображения» (Image size) привести его к разрешению 300 dpi (или к тому, с которым он был растрирован), разумеется, без ресэмплинга (надо отключить соответствующий флажок в диалоге), при этом размер картинки в сантиметрах (т.е. «линейный размер», или размер «на бумаге») должен уменьшиться во столько же раз, во сколько раз вырастет её разрешение. Дальше следует увеличить «Размер холста» (Canvas size) до полной высоты макета (нажмите при этом верхний из девяти квадратиков так, чтобы первый фрагмент после увеличения холста оказался сдвинут к его «северной» границе) и повставлять один за другим все оставшиеся файлы в порядке возрастания их номера, т.е. сверху вниз (или «с севера на юг»). Затем следует выполнить «Сведение слоёв» (Merge layers) и сохранить полученный файл в формате TIF со сжатием LZW.

Замечания по автоматической склейке фрагментов

Выше описывалась процедура ручной склейки фрагментов при помощи растрового редактора. Но это – экстренный случай, а при нормальном завершении работы программы растрирования (конечно, при условии правильной установки ImageMagick, как это описано в начале статьи) результатом растрирования должен быть один-единственный TIF-файл, сохраняемый в ту же папку, где находится ГБД. Флажок с надписью «с замедлением» рядом с кнопкой «Растрировать» действительно замедляет работу, но зато позволяет избежать сбоев в ходе растрирования и ошибок в построенном изображении. Рекомендую устанавливать этот флажок, только если без него на растре появляются дефекты изображения.

Быстрый процессор не ускорит процесс построения растра, а вот более быстрый жёсткий диск (точнее, дисковая подсистема компьютера) – ускорит существенно. Растрирование небольших макетов (A4-A3, в низком разрешении) и так идёт быстро, но может быть ускорено добавлением оперативной памяти. Для больших размеров макета и/или высоких разрешений оперативная память полностью исчерпывается, и решающее значение приобретает быстродействие винчестера (а не процессора).

Для работы программы требуется наличие на компьютере исполняемой среды NET Framework 2.0, в настоящее время её дистрибутив предоставляется бесплатно по адресу http://www.microsoft.com/downloads/details.aspx?displaylang=ru&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5.

ObjectLand должен быть установлен вместе со своим COM-сервером, то есть «типичная» установка не годится, нужна «полная».

Для версий ObjectLand, более старых, чем 2.6.9, требуется установить патч к ObjectLand, распространяемый бесплатно с разрешения разработчиков программы, без него некоторые точечные знаки на растре будут иметь неправильный размер: при большом разрешении они будут меньше, чем надо, а при низком разрешении (ниже 96 dpi) – больше, чем надо. Просто скопируйте два файла из архива патча в папку C:\Program Files\ObjectLand\BIN, перезаписав одноимённые старые файлы (конечно, ObjectLand при этом не должен быть запущен).

При запуске программы все файлы DLL должны находиться в том же локальном (не сетевом) каталоге, что и EXE-файл.

6 июля 2007 г.

Трухачёв М.Ю.

Патч к ObjectLand
(для версий, более старых, чем 2.6.9)

Скачать на диск

Программа для растрирования макетов
(для версий 2.6.x)

Скачать на диск

Программа для растрирования макетов
(для версий 2.7.x)

Скачать на диск