6 - 2002

Обработка в AutoCAD сканированной геоподосновы

Александр Россоловский

Соглашения

Форматы файлов растровой подосновы

Простая подготовка растровой подосновы

   Вставка изображения

   Настройка масштаба растровой подосновы

   Настройка ориентации растровой подосновы

   Обеспечение точности ввода и компенсация ошибок измерения

   Комбинированное выравнивание растровой подосновы

Многие читатели нашего журнала знают, что вместе с геоподосновой на твердом носителе (пленке) Мосгоргеотрест может выдать электронную подоснову в формате DWG, если это было оговорено при оформлении заказа. В противном случае подоснова может быть выполнена вручную на бумажной кальке, и получение с нее электронной копии, допускающей компьютерную обработку, потребует дополнительных усилий. Для создания компьютерных чертежей генерального плана на бумажной подоснове ее необходимо отсканировать с целью получения растровых файлов изображений, которые могут в дальнейшем использоваться при работе с CAD-системами.

При работе в среде AutoCAD можно использовать как сами растровые файлы изображений посредством их внедрения в рабочее поле чертежа, так и их векторные копии, получаемые в результате дополнительной обработки, называемой векторизацией (процессы сканирования, векторизации и работа с векторизованными изображениями здесь не рассматриваются).

Соглашения

Прежде чем начать изложение материала, нужно сделать предварительные пояснения. В настоящей статье использован универсальный формат команд AutoCAD, распознаваемый любыми локализованными версиями программы, в том числе и русской версией. Путь обращения к командам в главном меню приведен в варианте англоязычной версии AutoCAD и дублируется в варианте русской локализованной версии. Диалоговые окна на иллюстрациях даны в русскоязычном варианте, однако, в силу идентичности структуры диалоговых окон любых языковых версий программы — вплоть до позиций всех их элементов, эти иллюстрации будут полезны и для пользователей англоязычной версии программы. За рамками обзора остались опции команд, не используемые в контексте описанных действий.

В начало В начало

Форматы файлов растровой подосновы

Для работы как с растровыми, так и с векторизованными файлами в среде AutoCAD из соображений экономии системных ресурсов при сканировании лучше сохранять изображение в битовом (черно-белом) формате. В тех случаях, когда предполагается обработка невекторизованного изображения, при сохранении результата сканирования не рекомендуется применять форматы файлов, использующие технологию динамического сжатия, за исключением формата JRG. Растровое изображение для вставки в AutoCAD в качестве подосновы должно иметь один из следующих форматов: BMP, RLE, DIB, TIF, TGA, PCX, JPG.

В начало В начало

Простая подготовка растровой подосновы

Вставка изображения

Вставка производится командой _imageattach, доступной в главном меню по адресу InsertgRaster Image… (ВставкаgРастровое изображение). После обращения к команде автоматически вызывается диалоговое окно Select Image File (Выбор файла изображения), в котором выбирается файл для вставки. Выбрав файл, пользователь попадает в диалоговое окно Image (Растровое изображение), где можно определить точку вставки левого нижнего угла прямоугольника изображения, масштаб изображения и его поворот относительно нормального положения.

При создании нового чертежа на основе сканированной подосновы эта подоснова, как правило, вставляется в рабочее поле чертежа первой, а остальные объекты чертежа позиционируются по отношению к ней. При вставке единственного (или первого) изображения в чертеж точка вставки не имеет значения, и потому параметры ее координат в соответствующих полях диалогового окна могут быть оставлены без изменения.

В результате после закрытия диалогового окна изображение будет вставлено, причем его левый нижний угол будет совмещен с началом текущей системы координат (по умолчанию — мировой системы координат). В том случае, если изображение вставляется в чертеж, уже содержащий объекты, может оказаться целесообразным принудительно задать положение подосновы, например, чтобы избежать совмещения с ранее вставленным изображением. Для этого удобно, включив флажок Specify on Screen (Указать на экране) в области Insertion Point (Точка вставки) диалогового окна, воспользоваться непосредственным указанием позиции курсором в рабочей области чертежа. Если настройки в областях Scale (Масштаб) и Rotation (Угол поворота) не изменялись пользователем, то после указания точки вставки изображение будет помещено в чертеж с текущими масштабом и ориентацией.

В общем случае управление масштабом и ориентацией вставляемого изображения является сложной задачей, которая не может быть корректно решена посредством ввода дискретных значений в числовые поля диалогового окна. Масштабный коэффициент вставляемого изображения не связан закономерно с масштабом чертежа. Величина одного и того же изображения может зависеть, например, от того, в каком формате оно было сохранено. Поворот не является контролируемым, поскольку невозможно заправить сканируемый чертеж в приемник сканера без хотя бы незначительного углового смещения. Поэтому сканированные файлы всегда немного повернуты на некоторый произвольный и заранее неизвестный угол, поправку на который корректно ввести в процессе вставки практически невозможно. Для приведения масштаба и ориентации изображения в соответствие с требованиями к чертежу уже после вставки применяются редактирующие команды с интерактивным вводом аргументов методом «по ссылке».

В начало В начало

Настройка масштаба растровой подосновы

Для правильного масштабирования вставленного изображения требуется знать реальное расстояние хотя бы между двумя его точками. В случае с геоподосновой изобретать такие контрольные точки не приходится — кресты геодезической сетки расположены с заранее известным шагом. Для подосновы в масштабе 1:500 — это расстояние 50 м, для ситуационной подосновы в масштабе 1:2000 — 200 м. В целях приведения подосновы к реальному масштабу требуется добиться того, чтобы расстояние между ближайшими крестами было равно в системных единицах AutoCAD числу метров (если работа предполагается в метрах) или числу метров, помноженных на 1000 (если работа будет вестись в миллиметрах), то есть в случае с ситуационной подосновой это 200 или 200 000, а в случае с обычной геоподосновой — 50 или 50 000. Здесь нелишне напомнить, что работа с геометрией в AutoCAD ведется в реальных единицах — без пересчета на масштаб выводимого изображения будущего чертежа, масштаб же для вывода назначается либо в настройках печати, либо в видовых экранах в пространствах листов макетов.

Для вышеупомянутого приведения растрового изображения в соответствие с масштабом рабочего пространства чертежа следует применить к нему команду _scale, доступную в главном меню по адресу ModifygScale (РедактgМасштаб). В качестве центра трансформации при этом удобно выбрать точку пересечения линий одного из крестов. В ответ на запрос коэффициента масштабирования нужно обратиться к опции _reference; далее в качестве изменяемого расстояния нужно указать точки пересечения линий пары, принадлежащих одному ряду крестов, а затем в качестве нового значения измеренного расстояния с клавиатуры ввести требуемую величину, руководствуясь описанной в предыдущем абзаце логикой. Таким образом, расстояние между ближайшими крестами должно стать равным 50 или 50 000 для обычной и 200 или 200 000 для ситуационной подосновы, в зависимости от принятых рабочих единиц линейных измерений.

В начало В начало

Настройка ориентации растровой подосновы

В целях корректной ориентации изображения, вставленного в чертеж AutoCAD, требуется знать реальное направление вектора между любой парой его точек. В случае геоподосновы в качестве контрольных точек могут (и должны) использоваться кресты геодезической сетки, ряды которых расположены вдоль осей координат, то есть являются горизонтальными и вертикальными. В понятиях AutoCAD это соответствует углам ориентации 0° и 90° при направлениях измерения слева направо и снизу вверх соответственно.

Для корректного выравнивания изображения следует воспользоваться командой _rotate, которая доступна в главном меню по адресу ModifygRotate (РедактgПовернуть). Применяя команду к растровому изображению, в качестве центра трансформации целесообразно выбрать одну из опорных точек в пересечении линий креста геодезической сетки. В ответ на запрос изменяемого направления нужно указать вектор между парой таких точек слева направо или снизу вверх, а в качестве назначаемого ему значения ввести с клавиатуры соответственно 0 или 90. Измеряемые углы могут вводиться и в противоположных направлениях, и тогда в соответствие им приводятся значения 180 и –90.

В начало В начало

Обеспечение точности ввода и компенсация ошибок измерения

Поскольку части растрового изображения не могут использоваться для работы с объектными привязками AutoCAD, то при выборе точек пересечений крестов неизбежны ошибки, пусть и незначительные; можно уменьшить влияние этих ошибок, придерживаясь некоторых правил.

Правило первое: необходимо предварительно создать объекты для привязки средствами AutoCAD. Такими объектами могут быть примитивы-точки, для создания которых используется команда _point, вызываемая в главном меню по адресам DrawgPointg Single point (РисованиеgТочкаgОдиночная) или Drawg PointgMultiple point (РисованиеgТочкаgНесколько). При создании точек привязки следует с помощью экранных операций настроить экранное увеличение, обеспечивающее наибольшую точность при позиционировании создаваемого объекта по растрам изображения подосновы.

Чтобы точки стали визуально различимыми в рабочей области чертежа, рекомендуется на время работы с ними сделать текущим соответствующий стиль отображения точек, что можно выполнить с помощью команды _ddptype, доступной в главном меню по адресу FormatgPoint Style… (ФорматgОтображение точек…). Этой командой вызывается диалоговое окно Point Style (Отображение точек) с палитрой слайдов-изображений символов точек и с контроллерами для управления их размерами при отображении на экране. Для выбора нужного символа следует выбрать его слайд курсором и нажать кнопку OK. Настройки размеров символов в большинстве случаев можно сохранить без изменения. После выполнения описанной процедуры в процессе редактирования подосновы уже не нужно заботиться о точном визуальном прицеливании к контрольным точкам, применяя вместо этого объектные привязки по точкам или по ближайшему объекту, которым соответствуют прозрачные команды ‘_node и ‘_nearest либо настройки постоянных объектных привязок.

Правило второе: при измерениях следует опираться на наиболее удаленные друг от друга объекты привязки. Поскольку даже при самом большом увеличении абсолютно точно прицелиться по кресту сетки растровой подосновы невозможно, в любом измерении неизбежно будет содержаться ошибка, влияние которой возрастает на участках изображения, расположенных на больших расстояниях от центра трансформации, чем точка измерения.

Согласно этой же логике на расстояниях, меньших, чем измеренное, влияние ошибки пропорционально уменьшается. При одинаковой точности визуального прицеливания лучше измерить наибольшее контрольное расстояние — в этом случае в промежуточных точках влияние ошибки будет интерполяционно уменьшаться. При масштабировании в качестве контрольных точек следует использовать наиболее удаленные кресты одного горизонтального или вертикального ряда. В качестве назначаемого значения измеренному расстоянию следует брать ожидаемую величину шага между крестами, умноженную на количество шагов сетки между выбранными при измерении контрольными точками. Например, при замере расстояния в четыре шага сетки ему при масштабировании следует поставить в соответствие значение 4×50 = 200 м (при работе в метрах с обычной подосновой) или 4×200 000 = 800 000 мм (при работе в миллиметрах с ситуационной подосновой).

В начало В начало

Комбинированное выравнивание растровой подосновы

Выравнивание и масштабирование можно выполнить одной командой — AutoCAD _align. В общем случае эта команда предназначена для трехмерного выравнивания одного объекта по другому посредством последовательного указания пар совмещаемых точек. Для выполнения этой команды рекомендуется создать в области чертежа опорные объекты привязки, с которыми будут совмещаться контрольные точки трансформируемой подосновы. В сочетании с указанной командой для совмещения могут использоваться не только кресты, принадлежащие ортогональным рядам, но и любые два креста подосновы. Для создания опорных объектов лучше заранее сформировать сетку-массив из объектов привязки с нужным шагом. С этой целью создается один объект-точка, который клонируется командой _array с опцией _rectangular. Число шагов в каждом из направлений сетки-массива и шаг узлов назначаются в соответствии с их числом и реальной величиной в совмещаемой с ней подоснове. Как и при последовательной трансформации подосновы, при использовании команды _align в качестве опорных крестов рекомендуется выбирать наиболее удаленные друг от друга кресты, привязываясь по соответствующим им узлам привязки опорной сетки.

Команда _align доступна в главном меню по адресу Modifyg3D OperationgAlign (Редактg3М операцииg Выровнять). Применяя данную команду к выравниваемой подоснове, следует курсором указать ее перемещаемую точку, потом указать точку, в которую она будет перемещена при выравнивании, а затем повторить процедуру еще раз для другой пары совмещаемых точек, отказаться от совмещения третьей пары точек и согласиться с предлагаемым масштабированием изменяемого объекта.

Созданные для выравнивания подосновы объекты привязки после завершения процедуры можно либо удалить, либо оставить для дальнейшей работы над генеральным планом. Кресты сетки могут использоваться, например, для привязки по ним объектов генерального плана. В этом случае целесообразно иметь не отдельные узлы привязки, а полный массив, соответствующий массиву крестов подосновы. Если же выравнивание подосновы будет производиться последовательным применением команд масштабирования и поворота, то сетку узлов следует создать поверх изменяемого объекта заранее. Для ее создания можно применить уже упоминавшуюся команду _array. Поскольку исходное вставленное изображение обычно повернуто относительно текущей системы координат, для ориентации массива узлов вдоль ортогоналей необработанной подосновы необходимо создать новую, выровненную с ней систему координат. Это делается командой _ucs с опцией _z, доступной в главном меню по адресу ToolsgNew UCSgZ (СервисgНовая ПСКgZ). После обращения к команде нужно последовательно указать на пересечения линий наиболее удаленных друг от друга крестов одного горизонтального ряда подосновы. Определить шаг сетки узлов еще не обработанной подосновы можно следующим способом: построить командой _line, доступной в главном меню по адресу DrawgLine (РисованиеgОтрезок), отрезок с вершинами в крайних крестах одного ряда подосновы, а потом поделить его на число шагов в этом ряду. Для деления отрезка на заданное число равных частей применяется команда _divide, доступная в главном меню по адресу DrawgPointgDivide (РисованиеgТочкаgПоделить). В процессе выполнения команды запрашивается делимый объект, а затем число шагов, в узлах которых создаются примитивы-точки. В крайних вершинах делимого отрезка точки не создаются, однако целесообразно создать их заранее — как вехи для настройки поворота системы координат и для указания вершин создаваемого для деления отрезка.

Таким образом определяется шаг сетки в горизонтальном направлении. Для вертикального шага сетки можно использовать значение горизонтального шага, хотя абсолютно точное применение его к другому направлению является задачей, которая требует создания дополнительных геометрических построений, однако вполне разрешима. Массив в данном случае должен быть одномерным и применяться ко всему ряду точек, построенному с помощью вспомогательного отрезка, который, кстати, до создания массива следует удалить.

По окончании процедуры текущей системой координат следует вновь сделать исходную систему координат, применив команду _ucs с опцией _ prev для возврата к предыдущей или с опцией _ world для возврата к мировой системе координат. Последняя комбинация доступна в главном меню по адресу ToolsgNew UcsgWorld (СервисgНовая ПСКgМСК). В дальнейшем при обработке подосновы редактирующие команды следует применять не только к самой подоснове, но и к наложенному на нее массиву объектов привязки.

 

Продолжение следует

«САПР и графика» 6'2002