Новые возможности
в версии 8.5 build 1468 от 5 июня 2008
С момента публикации предыдущих новостей мы выполнили несколько, без всякого преувеличения, тяжёлых проектов. И не только потому, что они были "тяжёлыми по жизни". А ещё и потому, что такими их сделали
люди, сидящие "на
первой руке". Так что пришлось здорово выкручиваться. Конечно, правильнее было бы вовсе не ввязываться в проекты, где все "сливки" уже сняты. Или исходные материалы загублены ещё до начала работы. Но мы верим что справимся (и доказываем это самим себе снова и снова). Потому что Easy Trace
- самый быстрый векторизатор для картографических материалов.
На этот раз нас занесло
в "чужой огород" - в подготовку данных для системы Панорама.
Кто знает, что это такое, тот поймёт.
Я думаю, что отставание в обновлении карт в России на ДЕСЯТИЛЕТИЯ во многом обязано этому монстру...
Да и пресловутая секретность, по-моему, нужна не как таковая, а как средство спрятать от налогоплатильшиков (то есть от нас с вами) то позорище, которое зовётся отечественными топографическими картами...
Но, так или иначе, мы в это ввязались.
А вернее согласились, когда в очередной раз нас позвали сыграть в "пожарную команду".
Так что за три месяца
пришлось не столько работать над заказом по оцифровке, сколько создавать новую технологическую цепочку. И конечно, наполнять её новыми инструментами. Как специфичными для Панорамы, так и теми, что пригодятся ВСЕМ нашим пользователям (я не оговорился!).
После доработки одного и создания второго инструмента мы напрочь забыли о том, чем ещё недавно пользовались практически постоянно. Похоже, что из этих двух инструментов вырастет пара "швейцарских ножей", заменяющих большинство инструментов-редакторов. Впрочем, увидите сами.
В проекте, который мы завершаем сейчас, вообще не использовались полуавтоматические трассировщики. Только разбор результатов автотрассировки, ну и ручные работы в совсем безнадёжных случаях. Что интересно, весь материал цветной. Что чудовищно - растры сильно сжаты в формате JPEG при 440dpi (от растров обычно занимающих около 150 Мб осталось менее 30Мб). Кто пробовал выделять тематику из таких растров, тот вздрогнет.
А вот что удалось сделать:
оцифровать полностью в автоматическом режиме:
- контура болот. До 3500 контуров на лист. Гладких контуров...
- водоёмы, реки, изобаты. До 5000 объектов на лист...
- все изолинии рельефа.
В автоматическом режиме оцифровать объекты, изображаемые чёрным цветом.
С чёрным цветом получилось особенно интересно. На топокартах Италии удавалось автоматически построить до 2500 правильно ориентированных (!) контуров отдельных строений из примерно 4000, приходящихся на один лист. С появлением утилиты удаления линий сетки и автоматической фильтрации векторного мусора, для автовекторизации стали доступны дороги и коммуникации.
Особенно забавной оказалась новая технология автовекторизации точечных линий (границ растительности). Оказалось, что в пакете для этого всё уже есть. И если на лист приходится до 2500 полигонов с такими границами, то это здорово облегчает жизнь.
В целом, мы в очередной раз, на своей шкуре, испытали пригодность пакета для выполнения сложных и объёмных работ. Приносим свои извинения тем, кто привык видеть новые версии не реже чем раз в два месяца. Были очень заняты. Да и теперь, полноценный HELP появится, наверно, только через месяц. Так что опять бета-версия. Встречайте.
Прежде всего - инструмент, без которого (теперь) трудно представить процесс автовекторизации. Обучая новых операторов-надомников, видишь немое изумление в глазах: "Да как же вы раньше вообще работали!??" - это когда говоришь им, что инструмент был добавлен всего лишь несколько месяцев назад.
А появился инструмент от полной безысходности. Когда стало ясно, что надо править до 15 000 (!) тальвегов на лист карты. (Сильно подозреваю, что ТАКИЕ отклонения рельефа от русел рек были сделаны умышленно, чтобы ни одна крылатая ракета не долетела! Вот только зачем это делать на территории Италии???)
Так или иначе, инструмент создан, опробован, несколько раз переписан и вошёл в этот релиз - это Редактор прогиба. Как он работает - объяснять слишком долго. Просто посмотрите ролик .
В прошлом релизе инструмент Векторная стёрка научился резать линии. Теперь он стал делать это гораздо быстрее, даже на проектах с сотнями тысяч линий. "По взрослому" отслеживается круглая форма маркера инструмента. Добавлена опция "Фиксировать текущий режим". Можно переключить режимы стёрки без обязательного удержания клавиши SHIFT или CTRL.
Осталось добавить в него возможность их сшивать, и в паре с Редактором прогиба они заменят почти все инструменты, необходимые для разбора результатов автовекторизации. Посмотреть ролик .
Далее новости, сгруппированные в соответствии с технологической цепочкой векторизации цветных топокарт:
Ещё недавно выделение тематических слоёв начиналось с создания копии исходного растра и последующей её привязкой к проекту. Теперь, в менеджере слоёв можно дублировать растры, указав на растр и вызвав контекстное меню по правой клавише мыши.
Добавленный в предыдущем релизе механизм протоколирование процесса выделения тематических растров переработан и отлажен. Очевидно, что от качества выделения тематического слоя решительным образом зависит эффективность применения автоматической векторизации. Ещё недавно приходилось мучительно вспоминать, каким же образом удалось выделить растры в предыдущем проекте. Теперь достаточно просто взглянуть на LOG-файлы, которые создаются отдельно для каждого выделенного растра.
Журнал растровых операций можно просматривать прямо в процессе выделения растра. Возможен просмотр состава операций, выполненных над растром вне текущей рабочей сессии.
В большинстве растровых утилит, при наличии нескольких процессоров или процессорных ядер, операции автоматически распараллеливаются, что существенно ускоряет процесс.
В инструменте Выделение тематических слоёв изменён способ задания параметров захвата выделяемого цвета. Теперь они могут принимать отрицательные значения. Качество выделения тематики значительно выросло. Именно это позволило нам полностью перейти на автоматическую трассировку цветных растров. Изменился интерфейс инструмента. А именно:
Ранее использованные наборы параметров выделения каждого из цветов могут запоминаться как стратегии и использоватся повторно;
Добавлены переключатели, позволяющие оценить влияние на результат каждого из параметров в отдельности;
В последних проектах стирание уже оцифрованных данных применялось постоянно. Только оцифровка контуров болот обошлась без этой операции, поскольку выполнялась первой. Затем изображения болот были удалены при выделении растра гидрографии. Что позволило оцифровать его в "автомате". Вот так
Даже при выделении чёрных линий в растр "впечатывались" векторные линии рек и полигоны водоёмов. А всё потому, что пересечение реки и изолинии - это крупная точка чёрного цвета (синий + красный) А ведь точечные линии мы теперь векторизуем тоже "автоматом"... Так что в утилите Растеризация векторных данных:
изменен дизайн диалогового окна;
добавлена возможность создавать и запоминать стратегии обработки растров;
добавлена возможность управлять шириной растеризуемых линий раздельно для полилиний и полигонов;
растеризация линий и полигонов может выполняться одновременно;
вы сами решаете как растеризовать конкретный слой - как залитые полигоны или только как их границы.
Плотность линий на насыщенных цветных растрах вынуждает работать при разрешении растра от 600 dpi. В противном случае соседние линии могут склеиваться вообще без зазора. Но при этом толщина линий составляет 6-9 пикселов, что затрудняет их обработку. Применение утилиты Утоньшение растра снимает массу проблем, делает возможным применение масочной фильтрации и позволяет эффективно отделять растровые линии от точек.
Применив следующую последовательность операций: Масочный фильтр (Удаление мелкого растрового мусора) + Утоньшение линий + Масочный фильтр (Штрихи из точек) - можно получить растр, пригодный для векторизации точечных линий. Фильтр "Штрихи из точек" предельно примитивен, но именно он позволяет автоматически векторизовать новый для нас тип линий.
Переработана утилита Объединение растров. Полностью изменен дизайн окна. С её помощью можно как сшивать растры в единое покрытие, так и вычитать растры друг из друга. Например, если в одном из утоньшенных растров удалить мелкие объекты (точки), а затем вычесть растры друг из друга, можно получить растр, содержащий только точки...
И ещё. Как известно, рамки топографических карт весьма далеки от прямоугольников. Сшить такие растры можно только с использованием векторных границ видимой части каждого из таких растров. Теперь утилита позволяет сделать и это, опираясь на границы отображения, заданные инструментом Обрезать растр/Задать границы.
Переработана утилита Сшивка после автотрассировки. Её значимость выросла после появления утилиты Фильтрация линий. Сшивка мелких разрывов позволяет резко повысить достоверность фильтрации, а управление допустимым углом сшивки - отделять сшивку прямых и плавных кривых линий от сшивки извилистых. То есть можно предварительно сшить наиболее достоверные участки линий, выполнить фильтрацию (отсев векторного мусора), а затем повторить сшивку при более мягких параметрах. Итак, что изменилось:
Опция "не пересекать барьерные слои", запрещает сшивать линии с пересечением объектов на этих слоях. Например, изолинии не будут сшиваться сквозь элементы рельефа.
Опция "рассматривать короткие отрезки как точки" позволяет игнорировать направление мелких отрезков и даёт возможность восстановить линию, превратившуюся в мелкий "бисер". Именно эта возможность используется для восстановления точечных линий.
Управление допустимым углом схождения линий позволяет отсеять "левые" сшивки при восстановлении прямых или гладких кривых линий.
Полностью переработана утилита Фильтрация линий. Она прошла апробацию на обработке результатов автовекторизации нескольких сотен растров и зарекомендовала себя как крайне эффективный инструмент.
Простейший пример: автовекторизация линий рельефа
неизбежно векторизует и берг-штрихи. В этих местах изолинии не могут быть сшиты
автоматически.
Только удаление артефактов типа "шип" уменьшает долю ручной работы на
1000 и более операций на один лист.
Далее перечень изменений в утилите:
Изменен дизайн окна. Настройка параметров стала более наглядной и снабжена подсказками;
Уточнять параметры отбора можно просто указывая на экране образцы артефактов подлежащих редактированию;
Добавлена фильтрация новых типов артефактов;
Введена возможность "исправлять" найденные ситуации, сшивая линии указанным образом;
Реализован автоматический переход по местам, где были выявлены подлежащие коррекции коллизиии. Это позволяет легко оценить корректность подбора параметров фильтрации;
Однажды настроенные параметры фильтрации можно многократно использовать с помощью хранимых стратегий обработки.
Кардинально улучшена утилита Автораспознавание болот. Если раньше её применение носило скорее экспериментальный характер, то при оцифровке Мурманской области с её помощью было построено более 400 000 полигональных объектов. А это, в свою очередь, кардинально облегчило автоматическую векторизации объектов гидрографии. Естественно, путём "впечатывания" полигонов болот в исходный растр...
Перед применением утилиты следует обработать выделенный растр гидрографии Масочным фильтром по стратегии Выделение штрихов болот. Ну и, естественно, выполнить автоматическую векторизацию по этому растру.
Что изменилось:
Короткие штрихи удаляются не сразу, а только после попытки их сшивки с соседними горизонтальными штрихами. Это позволяет сохранить заметную часть повреждённых исходных данных;
Над верхними элементами штриховки формируются плавные кривые, аккуратно замыкающие полигоны болот;
Добавлен параметр, удлиняющий штрихи на заданную величину, который компенсирует укорачивание штрихов при их выделении и автовекторизации;
Подбор параметров штрихов может выполняться путем указания образцов линий прямо на экране. Группы штрихов можно указывать перечёркиванием;
Добавлена возможность отсева паразитных штрихов на основе контроля вертикального шага штриховки.
Переработан режим просмотра "Инспектор". С его помощью выполняется методичный контроль векторных данных перед операциями заключительной сшивки, оптимизации и при финальном контроле формы векторных линий. Добавлено:
поддержка зоны инспекции произвольной формы. Это значительно уменьшает долю "пустых" кадров при работе с проектами не прямоугольной формы;
опциональная возможность пропускать кадры, не содержащие видимых объектов.
Настройка инструментов векторизации, сшивки и утилит автоматической обработки векторного материала отталкивается от длины векторных элементов в пикселах растра. Для удобства измерений переработан инструмент Линейка:
При изменении DPI, масштаба, единиц измеренное расстояние пересчитывается, если единицы измерения не пикселы.
Для всех единиц, кроме пикселов, разрешено редактирование поля Дистанции с пересчётом DPI.
Реализована автоматическая визуальная пристыковка измерительной линии к векторным объектам.
Для упрощения коррекции результатов автоматической трассировки создан новый инструмент Коррекция склеек \ перемычек.
Значительно переработана утилита Оптимизация формы линий после автотрассировки:
Введена возможность использования стратегий оптимизации линий. Параметры, подобранные в проекте прототипе, могут использоваться во всех проектах-потомках;
Появилась возможность раздельно обрабатывать линии различной длины. Например, более мягко (без подрезки) фильтровать мелкие контура изолиний. И более жёстко, автоматически удаляя паразитные выбросы, фильтровать длинные полилинии;
Исправлена ошибка, из-за которой не сглаживалось место замыкания контура;
Исправлена ошибка обработки фиксированных концов линий при оптимизации фильтром Ломаные линии;
Добавлена опция "всегда фиксировать концы линий". Если оптимизация линий будет выполнена по слою уже связанному с другими слоями (например, линий рек связанных с контурами водоёмов), включение опции сохраняет такую связность;
В утилиты добавлен "подвал" с подсказками, описывающими смысл и порядок применения параметров.
Доработана утилита "Коррекция топологии".
Сейчас она используется практически на всех стадиях векторизации. Например, редактирование автовекторизованных изолиний включает в себя операцию подтягивания концов линий к элементам рельефа. Естественно, делается это с помощью утилиты Коррекция топологии.
Что изменилось в утилите:
Добавлена возможность выполнить все имеющиеся тесты за один запуск утилиты;
Опорные слои теперь не взаимодействуют друг с другом.
Перемычки полигонов с отверстиями игнорируются.
Если в стратегиях упоминаются замороженные слои, они будут пропущены при выполнении коррекции;
В дереве слоев при настройке тестов стали видимы и доступны замороженные слои. Это делает возможным создание тестов без обязательного ранее "размораживания" векторных слоёв.
Изменения в утилитах и инструментах редактирования:
Добавлено динамическое масштабирование в инструмент Точка. При векторизации точечных объектов всегда возникает искушение - уменьшить масштаб отображения и быстро расставить точки, попавшиеся на глаза. Тем более, что текстовые подписи к точкам прекрасно видны. Вот только редкая точка попадёт в центр объекта.
Но не всё так печально. Можно и видеть много, и ставить точно. Итак:
видим точку, указываем левой клавишей примерно в её центр и УДЕРЖИВАЕМ ЕЁ;
точка "приблизилась" и оказалась в центре экрана;
НЕ ОТПУСКАЯ КЛАВИШИ, перемещаем маркер в центр символа;
Добавлен новый инструмент "Огораживатель". Он строит контура, охватывающие группу указанных объектов (например, домов). Инструмент находится на панели специальных инструментов. Видеоролик.
Переработан инструмент "Ножницы", он же "Групповое разделение линий". Инструмент активно использовался для разделения больших массивов данных (несколько полностью оцифрованных планшетов) при выполнении "сводки" между зонами.
Изменено следующее:
полигональные объекты, выбранные групповым редактором, автоматически воспринимаются как набор границ обрезки при переходе в инструмент Ножницы. Например, можно выбрать все водоёмы и затем обрезать концы рек, пересёкшие их границы;
инструмент корректно обрабатывает полигоны (т. е. разрезает полигоны на части, а не рвет их на отдельные разомкнутые линии);
области, по которым выполняется обрезка, могут иметь отверстия; кроме того, такие области могут пересекаться;
обработка происходит в отдельном потоке. Есть индикатор прогресса и возможность прервать операцию. Тем временем, можно заниматься другим проектом или обработкой растров;
добавлена опциональная возможность ограничивать перечень обрабатываемых слоев, то есть можно защитить остальные слои от случайной обрезки.
Значительно переработан "Топологический редактор". Он стал гораздо "ближе к народу". А именно:
последний редактируемый объект становится текущим и выделяется как в обычном редакторе;
соответственно, для текущего (выделенного) объекта становятся доступны, через горячие клавиши, некоторые операции редактирования: такие как замыкание, удаление, изменение направления линии, смена слоя объекта и т.д.
добавлена опция включения/выключения режима пристыковки. Точка, куда будет выполняться пристыковка, видна ещё до завершения операции. Так что результат операции не станет для Вас неожиданностью.
Переработан "Редактор полилиний":
при "сшивке" полилиний проверяются значения их Z координат (высот). Если оба значения допустимы и не совпадают, появляется окно с запросом подтверждения операции. Если одно из значений недопустимо (спец. значение в настройке параметров Z, обычно 0), то берется второе значение.
Теперь невозможно сшить две полилинии, имеющие разные высоты, и не заметить этого...
;
исправлена ошибка, возникающая при попытке сшить полилинии, имеющие общую вершину: при построении пути не исключались сами сшиваемые объекты, что приводило к нахождению пути, копирующего участок одной из линий. Сейчас такой путь отвергается, и сшивка происходит по прямой - т.е. ошибочная сшивка сразу видна;
исправлена ошибка, приводившая к самокопированию при сшивке смежных фрагментов линии. Ошибка возникала при указании дальнего от общей точки конца линии. Теперь, если фрагменты смежные, они всегда сшиваются правильно.
при попытке удаления полилинии с большим числом вершин запрашивается подтверждение операции. Эта опция (и предельное число вершин) настраивается в диалоге "Параметры проекта", на странице "Общие". Теперь невозможно удалить протяжённую линию просто по неосторожности.
Переработан инструмент вставки блоков:
добавлен режим выбора угла установки блока с помощью колеса мыши. Это позволяет гораздо шире использовать объекты-блоки. Например, можно создать блок, содержащий прямоугольный контур здания. Быстро расставить такие блоки, регулируя их наклон "по растру". А затем "взорвать" блоки, превратив их в обычные полигоны.
появилась визуальная поддержка возможных точек пристыковки;
Выбор базы угла теперь зависит от ориентации блока: для вертикальных блоков угол отсчитывается от вертикальной оси, для горизонтальных, соответственно, от горизонтальной.
Упразднено запоминание углов установки. В режиме фиксированного угла угол можно выбрать из списка предопределенных (от -180 до 180 через 45 градусов) или ввести значение угла руками.
На панель добавлена кнопка "Настройка параметров", по нажатию которой выпадает диалог "Настройка параметров вставки блока". В диалоге можно задать шаг изменения угла колесом мыши и флаг группировки блоков по слоям в меню блоков.
Переработан инструмент Текст:
Изменена панель параметров инструмента.
Высота текста теперь измеряется в миллиметрах (в том числе и в настройках пользовательских инструментов созданных на основе инструмента Текст).
Доработан инструмент Ленточный полигон:
Добавлена опция сглаживания результирующего полигона.
Параметры сглаживания (да\нет, фильтр, точность аппроксимации) устанавливаются в окне настроек, доступном по кнопке на панели инструмента.
Использование сглаживания особенно актуально в случае построения полигона по одной из векторизованных границ - например русел рек постоянной ширины. Векторизация таких объектов обычно выполняется с помощью автовекторизации одной из границ с последующим построением ленточного полигона. Наиболее заметно применение сглаживания в местах резких изгибов рек.
Доработано поле Текущий слой и выпадающий список слоев:
Отключение видимости слоя, на котором есть выделенные объекты, теперь не сопровождается сообщением о невозможности это сделать, а просто объекты перестают быть выделенными, а редакторы переинициализируются.
В поле и в списке появились значки заморозки слоя - теперь для заморозки/разморозки слоя не нужно открывать менеджер слоев.
Теперь при выборе редактором объекта лежащего на замороженном слое, можно управлять видимостью и состоянием заморозки слоя. Ранее, для того чтобы перенести такой объект на другой слой, необходимо было снимать "заморозку" через менеджер слоёв.
Изменение в Менеджер слоев:
Аналогично уже описанной операции дублирования растровых слоев, реализована новая функция "Дублирование векторного слоя". Функция вызывается из контекстного меню списка векторных слоев. Выбранный слой дублируется со всеми настройками, включая структуру таблицы атрибутов и настройки классификатора. Опционально можно продублировать все объекты, лежащие на слое вместе с присвоенными им атрибутами.
Режим отображения "Направление линий" не отображает направление линий при масштабе меньшем 30%
Переработана утилита "Удаление пометок ошибок": типы ошибки отображаются в виде дерева, выбора слоев больше нет.
Доработан инструмент Обрезать растр / Задать границы. Команда "Удалить текущую область" заменена на "Показать область отсечения растра" (если она была задана ранее).
Доработана привязка растра к проекту при коррекции по произвольному набору точек:
Ручное редактирование точек в таблице доступно только в режиме "координаты точки будут введены вручную", в остальных случаях координаты можно только выбирать из имеющегося списка.
Добавлена возможность использования в качестве контрольных точек вершин полилиний заданного слоя.
Переработан интерфейс диалога добавления точки в набор для коррекции.
Переработан алгоритм локально-афинного преобразования растра за пределами полигона, ограничивающего контрольные точки.
Добавлена опция "Добавить граничные точки" (угловые точки растра). Опция применима только для локально-афинного преобразования и служит для уменьшения деформации растра за пределами полигона, ограничивающего контрольные точки.
Утилиты и доработки для оцифровки под систему Панорама
Добавлена утилита Генерация берг-штрихов. Назначение утилиты - автоматическое создание бергштрихов на небольших замкнутых контурах. Ориентация штрихов выполняется по направлению изолинии. В свою очередь, ориентация контуров автоматически выполняется в утилите проверки высоты изолиний.
Добавлена утилита Укладка контуров. Она автоматически разбивает полилинии, проходящие по элементам рельефа, на корректно уложенные отрезки линий разных высот. Соответственно, на этапе векторизации изолиний и простановке высот все изолинии, проходящие по элементам рельефа, непрерывны. Это значительно сокращает затраты времени на поиск и устранение ошибок. Как при проверке топологии, так и при проверке высот.
Доработан экспорт в Панораму: добавлена возможность конвертировать в объект типа "вектор" линии из 2 точек. Это делается в том случае, когда на слое с такими линиями определена таблица атрибутов для точечных объектов.
Введена опция "Разрешить тексту иметь атрибуты" (по-умолчанию выключена). Опция настраивается в окне Параметры проекта, на странице "Общие". При включенной опции текстовым объектам можно присваивать атрибуты, определенные для точечных объектов соответствующего слоя.
Утилиты обработки рельефа
Добавлена новая утилита "Ориентировать реки". Она позволяет выявлять как ошибки векторизации, так и ошибки составителей топокарт. Вообще, слои гидрографии тесно связанны со слоями рельефа. Простановка высот позволяет найти реки, текущие "в гору", а ориентированные реки "ловят" ошибки в укладке изолиний.
Естественно, что утилита не только ориентирует реки по направлению течения, но и помечает выявленные ошибки.
В утилиту "Проверка Z" добавлена опция "Редактировать направление контуров". Теперь при проверке высот присвоенных изолиниям их направления ориентируются согласно требованиям, принятым в Панораме.
Доработан инструмент простановки высот:
Добавлена горячая клавиша и свой курсор для режима автоматического выбора присваиваемой высоты - Magic Mode.
Исправлена ошибка присвоения высот объектам - не изолиниям.
Средства настройки проекта
В окне "Настройка домена атрибута" добавлено новое поле "Описание атрибута".
Реализован прямой доступ к тематическим настройкам отображения по атрибутам из диалога редактирования атрибутов объекта. Если отображение по только что присвоенному атрибуту выглядит некорректно, его можно немедленно изменить, не заходя в менеджер слоёв. Достаточно нажать кнопку с подписью Att.
Это позволяет "отшлифовать" проект прототип буквально "на лету".
Панель выбора типов линий реализована аналогично панели выбора типа заливок:
Показываются пять стандартных типов линий и семь, использовавшихся последними (всего 12 элементов). Другие типы линий доступны по кнопке "Другой тип линии".
По нажатию на кнопку "Другой тип линии" открывается окно типов линий с кнопкой "Выбрать".
Изменен порядок использования параметра Толщина полилиний:
Полилинии больше не имеют индивидуальной толщину, вместо этого используется толщина линий, заданная для слоя.
Толщина полилиний задается в миллиметрах карты (бумаги).
При включенном
режиме отображения "Использовать типы линий" толщина полилиний на экране соответствует единицам ("миллиметры карты"), определенным в настройках слоя. При выключенном режиме все линии тонкие.
Исправленные ошибки
Исправлена ошибка оптимизация с помощью фильтра Ломанные линии, в результате которой возникало исключение "Попытка записи вырожденной линии".
В менеджере пиктограмм исправлена ошибка, связанная с отображением картинок, хранимых удалённо (имеющими сетевой путь).
В диалоге настроек типов линий исправлена ошибка с отображением последней выбранной линии, теперь она показывается, а не только выделяется
В Параметрах Z исправлена ошибка, которая делала недопустимым присвоение контуру Z = 0
Исправлены ошибки в привязке растров к проекту:
ошибка, приводящая к сдвигу при привязке растра локально-афинным методом;
ошибка, портящая растр, если ограничивающий полигон был не выпуклый;
ошибка отображения превью области растра, а следовательно и относительного положения контрольных точек;
ошибка, приводящая к отказу привязки растра по регулярной сетке контрольных точек.
Исправлены ошибки при построении и прорисовке пользовательских типов линий:
одномерные линии типа отличного от Solid отрисовывались как тонкие (независимо от заданной толщины);
в диалоге Типы линий исправлена сортировка: стандартные типы всегда сверху (и не меняют свой порядок), учитываются русские буквы и не учитывается регистр;
правильно восстанавливается и отображается текущий элемент при выходе из окна редактирования типа линии.
Исправлено: ошибка при использовании интерполяции в инструменте "масштабирование растра"
Исправлено: "превью" инструменты отображают строку прогресса в момент инициализации процесса, а не только в момент выполнения.
Исправлена ошибка автозамыкания, приводившая к замыканию линий через себя.
Исправлена ошибка в растровой операции "Сшивка по двум точкам"
В утилите Выделение тематических слоев исправлено выполнение опции "Игнорировать черный", так, чтобы она выполнялась и при замене точек объектов.
Исправлена ошибка: при выключенном отображении текста он тем не менее попадал в коллекцию ошибок и, соответственно, выбирался при перемещении по ним.
Исправлена ошибка, из-за которой слои не попадали в свои папки при импорте.
Исправлена ошибка, из-за которой импортировались существующие растровые слои.
Исправлена ошибка, приводившая к разрушению имен путей растров в случае, если растр и проект не имели "общего корня"
Новые возможности
в версии 8.4 build 1341 от 14 октября 2007
Не смотря на огромное желание притормозить и тщательно документировать новые возможности пакета (как и было обещано при выпуске предыдущего релиза), остановиться нам так и не удалось...
Нам предложили заказ на оцифровку, и (почти фантастика!) мы могли сами решать, какой формат будут иметь исходные растры. Казалось бы - ну и что? Да, в общем-то, ничего. Вот только ВСЕ ЭТИ РАСТРЫ БЫЛИ ОЦИФРОВАНЫ В АВТОМАТИЧЕСКОМ РЕЖИМЕ.
А если кто не понял, то это были топографические карты М 1:200 000. Обычные, цветные карты, в меру потёртые, в меру выцветшие, с привычной, в меру размазанной полиграфией...
Формат использовавшихся растров - 16 миллионов цветов, 500 dpi. И не стоит думать, что 500 dpi это перебор - даже при таком разрешении, интервал между соседними линиями зачастую равен 1-2 пикселам.
Естественно, что перенос акцента на автоматическую обработку не мог не потребовать доводки ряда инструментов. Чем мы, собственно, и занимались всё это время. Результаты этой работы перед вами...
Небольшое отступление для тех, кто не знаком с приёмами оцифровки в автоматическом режиме: в отличие от чертежей, на топо-картах нет линий. Есть только их обрывки (а нередко и просто следы!) безжалостно разорванные многочисленными надписями и линиями других цветов. Есть сдвиги основных цветов при печати, взаимопроникновение красок, выцветание, потёртости и бог знает что ещё...
Поэтому автоматическая оцифровка завершается разбором и коррекцией снятых векторных данных. Это не "нажал кнопку - получил результат". Это всего лишь экономия сотен, а то и тысяч человеко-часов при обработке нескольких десятков топографических карт.
Итак, что же было сделано:
РАСТРОВЫЕ ОПЕРАЦИИ
Оцифровка в огромной мере завязана на качество обрабатываемых растров.
Нет пригодного к векторизации растра - нет оцифровки. Есть только тупая ручная сколка...
Скорость обработки растров прямо связана с их разрешением и размерами. И если разрешение рекомендуется увеличивать до 500-600 dpi, то размеры растров желательно держать минимально необходимыми. И если заказчик передал уже привязанные растры (со всей зарамочной информацией, да ещё и с огромными белыми полями), то обрезать их, не потеряв привязки, можно прямо в проекте.
Инструмент проекта Обрезать растр/Задать границы полностью переработан. Аналогично растровому инструменту, он позволяет выполнять обрезку, как по прямоугольнику, так и по произвольной области (например, по трапеции). В качестве границ обрезки можно использовать любой замкнутый векторный контур - например, рамку проекта.
Помимо обрезки, этим инструментом
можно определить Границы отображения растра. А это позволяет собирать полноценное Мозаичное покрытие из растров непрямоугольной формы. Так что сшивка соседних листов топо-карт стала совсем простым делом...
Следуя принципу "Разделяй и властвуй" можно добиться многого. Применимо это и к выделению тематических растров. Если одним и тем же цветом изображены объекты разной тематики (красные шоссе и красно-коричневые линии рельефа), их можно разделить, стерев с растра изображения дорог. Для этого дороги надо векторизовать первыми, а затем "впечатать" их изображение в цветной растр. Инструментом Растеризация векторных данных... Белым цветом... Шириной линии до 20 пикселов... Что и стало возможным сейчас после доработки инструмента растеризации.
Кстати, чтобы векторизовать (по центру!) дороги, изображенные двумя чёрными линиями, достаточно выделить чёрно-белый тематический растр чёрных линий и, не инвертируя его, дважды применить фильтрацию по смежности с параметрами 2/2. Чёрные линии станут гораздо толще, а лежащие между ними пикселы белого цвета и есть та самая осевая линиия. И она отлично векторизуется даже в автоматическом режиме.
Инструмент Выделение тематических слоев стал главным орудием подготовки растров к векторизации. Изменился его внешний вид, алгоритмы работы, добавлены новые опции.
Порядок следования органов управления теперь диктует последовательность их применения. Уточнён алгоритм выделения/отсева цветов близких к серому.
Введена опция "Игнорировать чёрный цвет", позволяющая эффективно применять инструмент после применения операции Unsharp mask (Повышение контраста).
Добавлена возможность определить, что именно будет подвергаться фильтрации при выделении - извлекаемые из растра линии или накладываемая на растр маска.
Извлечение тематических растровых слоёв из цветных растров - задача нетривиальная. Она может потребовать нескольких попыток, с разным порядком применения инструментов и, естественно, разными значениями их параметров. И сама последовательность действий и значения параметров удивительно быстро вылетают из головы...
Именно по этой причине реализован журнал растровых операций. В виде текстового файла он помещается туда же, где находится обработанный растровый файл. Быстрый доступ к журналу возможен через новый пункт меню Журнал операций.
Как правило,
подобранная цепочка операций применима к целой серии растров.
В технологической цепочке подготовки растров к векторизации наиболее продолжительной операцией была масочная фильтрация растров. Теперь это не так. Более того, масочные фильтры стали применяться до 2-3 раз при подготовке одного чёрно-белого растра.
Достичь этого удалось совместными усилиями компании Intel, выпустившей многоядерные процессоры,
и усилиями наших программистов, разложивших фильтрацию на несколько потоков. Теперь загрузка машины при фильтрации составляет 100%, а время не превышает двух-трёх минут.
Впрочем, 100%-я загрузка не мешает заниматься выделением следующего растра...
Небольшое изменение в порядке управления с клавиатуры выделенным контуром в инструменте Обрезка по прямоугольнику и Перемещение/Масштабирование растра в проекте. Перемещение/изменение масштаба выполняется на ОДИН ПИКСЕЛ ЭКРАНА. Чем больше масштаб отображения, тем точнее выполняется операция.
УТИЛИТЫ АВТОМАТИЧЕСКОЙ ТРАССИРОВКИ
Прежде всего, разделены операции Трассировка линий (контуров) и Фильтрация линий. Выполнив трассировку, можно (быстро!) сделать несколько пробных попыток фильтрации "векторного мусора". Правильный подбор параметров избавит вас от ручной обработки многочисленных "шипов", "перемычек" и прочего "мусора".
Кстати, для отсева шипов введено два новых параметра. Так что линии обрывов очищаются практически "в ноль".
Исчез пункт меню Задание области автотрассировки. Теперь область задаётся непосредственно из окна Трассировка линий.
Автоматическая трассировка реализована как отдельный поток. А это означает, что можно заняться чем-то ещё, пока эта операция выполняется.
После отсева "мусора", но до передачи проекта на разбор вектора, выполняется Сшивка разрывов линий. От качества автоматической сборки линий из отдельных обрывков прямо зависит время окончательной доводки материала.
В случае, если векторная линия распалась на мелкие бесформенные отрезки, доверять их ориентации уже нельзя. Собранная линия становится о-о-очень извилистой... А вот если рассматривать эти отрезки как отдельные точки, траектория линии восстанавливается очень даже неплохо!
Итак, в утилиту добавлена опция Рассматривать короткие отрезки как точки. Т.е. стягивать отрезок в точку и, естественно, не учитывать его направление. Ну а сшивка через точку по-прежнему выполняется по кривой Безье.
ИНСТРУМЕНТЫ ВЕКТОРНОГО РЕДАКТИРОВАНИЯ
То, чего так не хватало Векторной стёрке наконец-то реализовано:
во-первых, стёрка научилась разрезать линии. Если удерживать клавишу CTRL нажатой, стёрка рассекает линии не хуже "ножниц" векторного редактора. Теперь у стёрки целых ТРИ режима. Белый - просто стирать вершины. Красный - удалять линии в "одно касание". Синий - удалять вершины, разрезая линии в месте касания. Переключение между удалением вершин и линий по-прежнему выполняется клавишей SHIFT;
во-вторых, теперь отображать или не отображать вершины линий при работе стёрки - ваше личное дело. Режимы управления отображением вершин больше не блокируются. С другой стороны стёрка "помнит", в каком режиме она работала последний раз, и включит отображение вершин, если этого хотел оператор.
Кстати, размер вершин можно задать равным единице, и они практически не будут мешать...
в-третьих, полилиния, которой стёрка касалась последней, станет активной при выборе инструмента сшивки. Остаётся только указать на сегмент линии, который следует к ней пришить.
Изменения коснулись и Топологического редактора - добавлен режим стягивания вершин. Одним кликом можно стянуть все окрестные вершины в в указанную позицию. Радиус стягивания задаётся в пикселах растра и указывается на панели инструмента.
Для удобства переключения между режимами стягивания/редактирования вершин добавлена возможность назначения режиму горячей клавиши.
Аналогично сшивке по кривой в редакторе полилиний, замыкание линии при нажатой клавише SHIFT выполняется по кривой Безье. Особенно удобно использовать эту возможность при замыкании мелких контуров. Просто нажмите SHIFT+D. Ну а если не повезёт CTRL+Z...
Пользователям Панорамы. Изменен инструмент Вставка блока. Появилось три режима задания угла вставки: произвольный (по растру), фиксированный и по опорной векторной линии.
Добавлена новая опция для режима вставки "по линии": "фиксировать ориентацию" - блок устанавливается одним кликом, с заданным углом относительно линии. При выключенной опции требуется два клика. Первый определяет точку вставки, второй - ориентацию блока относительно опорной линии с точностью до 180 градусов.
Используя горячую клавишу Инвертировать (та же клавиша, что и для инвертирования порядка следования вершин в полилинии) можно развернуть "свежеустановленный" блок на 180 градусов.
В режиме "фиксировать ориентацию" блок устанавливается под заданным углом к линии. И если выполнить инвертирование позиции блока в этом режиме, то одновременно инвертируется опорная полилиния.
Следуя этим правилам устанавливаются (как отдельные объекты!) берг-штрихи в системе Панорама. Так что приходится выкручиваться...
Таблица атрибутов дополнена объектами типа Блок, Окружность, Текст, Полилиния3D. Исправлен ряд ошибок.
Диалог Блоки проекта кардинально переписан. В результате окно диалога растягивается, в таблице есть всплывающие подсказки для не полностью видимых значений, исправлена сортировка, исключена "обрезка" блоков при просмотре.
УТИЛИТЫ
Переработана утилита генерации отчета Информация о проекте. Это очень удобное средство получения реальных данных о количестве и протяжённости векторных объектов конкретного проекта. А реальные данные - прямой путь к справедливой оплате сдельной работы. Долой уравниловку!
Итак:
изменилась (упростилась) структура отчёта;
отчёт создаётся сразу в виде документа Excel, а не файла формата CSV;
добавлено диалоговое окно, управляющее составом информации, выводимой в отчёте.
ИМПОРТ \ ЭКСПОРТ
Импорт из Панорамы:
- вместе с классификатором импортируются развернутые описания полей (которые впоследствии используются как подсказки к сокращенным именам атрибутивных полей);
- добавлена опция "Удалять префикс номера зоны из X-координаты": если она установлена, то у координаты Х отшибаются 1 или 2 первые цифры (номер зоны, считанный из паспорта карты)
- Исправлена ошибка: при импорте в готовый проект (с уже построенными таблицами, соответствующими панорамовским), семантики не импортировались.
Экспорт в Панораму (сделан симметрично импорту):
- добавлена опция "Добавлять номер зоны к X-координате"
- исправлена ошибка: если по дороге попадался объект с неопределенным _OBJ_TYPE все остальные не экспортировались.
- проверяется ориентация полигонов: внешний контур должен быть ориентирован против часовой стрелки.
- атрибуты записываются для всех объектов (в т.ч. для текста и блоков)
- для текста, дополнительно, проверяется, есть ли поле "SEM9" (т.е. подпись) и не пусто ли оно. Если пусто - то туда копируется текст подписи.
Новые возможности
в версии 8.4 build 1305 от 17 августа 2007
Как правило, новые релизы Easy Trace PRO появляются с интервалом в 3-4 месяца. Эта версия, пожалуй, является исключением. Дополнения в пакет вносились такими темпами, что остановится, "зачистить заусенцы" и выпустить очередной релиз - просто не хватало времени.
Даже сейчас выпуск следовало бы задержать до окончания работ над HELP-ом, примерами проектов и описаниями новых технологий... Но 5 августа на ВВЦ начинается Международная картографическая конференция - так что выкладываем Beta-версию. Надеемся, что в течении месяца дистрибутив оформится окончательно.
Тот факт, что версия имеет суффикс Beta, в общем-то, значит довольно мало. Easy Trace всё время пишется "по-живому" и немедленно передается в группу оцифровки. Так что это вполне работоспособная версия. Вот только то, что мы объясняем операторам "на пальцах", пока не оформлено в виде инструкций, которые можно включить в HELP или выложить на сайт. Но многие вещи просто очевидны, да и ждать осталось совсем недолго...
Итак, что нового в Easy Trace PRO v8.4:
Кардинально упростился контроль атрибутивных данных. Появилось "плавающее" поверх поля проекта Окно просмотра таблиц атрибутов. Перейти от записи к объекту можно одним движением. Предельно легко найти незаполненные или попавшие не по назначению поля атрибутов. Возможна фильтрация записей в таблице просмотра. Фильтр выполнен в виде конструктора составных условий.
Инструмент разработки масочных фильтров обзавёлся мощными средствами подготовки масок по образцам. Появились команды модификации масок (поворот, зеркало, сдвиги, отражение, откат изменений). Добавлена возможность автоматического перемещения по измененным пикселам - незаменимое средство отладки и анализа эффективности применения отдельных масок.
В дополнение к инструменту разработки масок разработан инструмент сравнения черно-белых растров. Т. е. появилась возможность сопоставить черно-белые файлы, подготовленные по различным технологиям. Различия в растрах традиционно отображаются в виде мерцающих "добавленных" и "удаленных" пикселов.
Добавлен ряд новых масочных фильтров. Например, фильтр, извлекающий штрихи болот с топографических карт и, в сочетании с новой утилитой, автоматически восстанавливающий их контуры. Ещё два фильтра ориентированы на обработку чёрных линий "топографии". Один готовит сами линии, другой (на отдельном растре), стандартизует изображения точек для последующей оцифровки точечных линий.
Новая утилита Утоньшение растровых линий позволила значительно повысить эффективность масочной фильтрации. Сведя "толстый" растр к гораздо менее "вариантному" "тонкому" растру, можно более уверенно "сшивать" разорванные линии или удалять "паразитные" связи. Да и полуавтоматическая векторизация по утоньшенному растру идёт гораздо более "правильно". Вот только вид растра довольно непривычен - так что векторизовать лучше "бутерброд" из исходного и лежащего под ним "тонкого" растра.
Значительно изменился инструмент выделения тематических слоев. Он научился выделять «серые» линии. Т. е. в какой-то мере похожие на черные, как это обычно и бывает на цветных растрах. Это позволило выделять «топографию» с цветного растра буквально несколькими движениями. Кроме того, добавлено отсечение по «нецелевым» каналам. Это позволяет отсеивать «мусор» по небольшим примесям «посторонних» цветов.
Все растровые инструменты, поддерживающие режим предварительного просмотра, теперь могут работать сразу с четырьмя произвольными участками растра. Теперь нет необходимости "мотаться" по растру, оценивая, к чему приведет применение инструмента в различных уголках обширного растрового поля.
Переписана утилита растеризации векторных данных. Гораздо проще стало использовать метод «разделяй и властвуй». Уже векторизованные данные можно вычесть из растров, сделав возможным векторизацию оставшейся информации в автоматическом режиме. Особенно эффективно выглядит связка из следующих операций: Утоньшение растра + Вычитание ТОНКИХ векторных линий + Масочная фильтрация + Автоматическая трассировка.
Переработаны многие растровые инструменты. Теперь они могут работать по указанной области и делают это заметно быстрее. Во-первых - можно игнорировать "поля", во-вторых - отработать технологию выделения на небольшом фрагменте растра.
Разработана технология выделения тематических слоёв с растров недостаточного разрешения с малым числом цветов. Это ресурсоёмкий процесс над растрами, растянутыми в 2 раза. Объём обработки учетверяется, но это крохи по сравнению со временем, которое экономится на стадии оцифровки.
Специально для возврата растров к исходным размерам создан инструмент обратного ресемплирования с контролем над связностью выделенных линий.
Принципиально переработан импорт и экспорт формата MAP (Панорама). Обеспечивается трансляция названий семантик Панорамы в названия атрибутов Easy Trace. Просто попробуйте готовить данные для Панорамы в ET и оцените экономию времени!
Расширены возможности экспорта / импорта в формат DGN. Поддерживаются объекты типа Complex Chain и Complex Shape.
В импорте в JET (собственный формат Easy Trace): добавлена возможность генерировать файл контрольных точек по файлам привязки растра (TFW, TAB) для использования на странице трансформации. После генерации cpt-файла на странице трансформации автоматически подставляются нужные параметры.
Полностью переработано окно настройки стратегий трассировки. Настройка главных инструментов ЕТ – трассировщиков - стала ещё проще.
Трассировщик полилиний приобрел режимы создания и вырезания полигонов одним нажатием. Достаточно просто «ткнуть» внутрь будущего полигона…
Доработана интерполяция в точечном трассировщике. Форма линий восстанавливается более корректно.
Доработан Трассировщик болот. Форма восстанавливаемых полигонов отслеживается гораздо точнее.
Векторные примитивы блоки и текст наконец-то обзавелись атрибутами наравне с другими векторными объектами.
Инструмент Cтёрка векторных объектов превратился во что-то совершенно новое. Теперь можно стирать ОТДЕЛНЫЕ ВЕРШИНЫ полилиний. Подготовка результатов автоматической векторизации к сшивке и оптимизации линий упростилась до крайности!
Инструмент простановки высот научился работать ещё с тремя слоями - вспомогательные горизонтали, линии уреза воды и изобаты. И, кроме того, стал гораздо «умнее». Больше вообще не требуется обращения к редакторам. Инструмент может изменить тип любой изолинии, если она оказалась "не на своём месте"...
Больше не требуется разыскивать изолинии с непроставленными высотами. Достаточно нажатия на привычные клавиши F и V, и вы будете "доставлены" к очередному объекту, требующему внимания.
Расширены возможности Генерации подписей при вводе векторных объектов.
Появилось новое понятие - Помеченные объекты. Произвольные объекты могут быть отобраны групповым редактором с помощью механизма построения критериев отбора. Затем объекты помечаются. Далее, по ним можно перемещаться как по пометкам ошибок.
Принципиально изменилась утилита Проверка топологии: теперь можно отдельные слои указывать как опорные (участвующие в проверке, но не проверяемые). Это позволило кардинально избавиться от «фантомных» ошибок.
Расширился состав опций утилиты автоматической векторизации. Их настройка сделана более доступной и наглядной.
Добавлена утилита автоматической простановки высот изолиниям. При отрисовке изолиний «от рамки до рамки», до 97% высот присваивается полностью автоматически.
Кардинально... Нет, не так… КАРДИНАЛЬНО переписана утилита сшивки. Сшивка по границам стала по-настоящему «умной».
Изменился способ хранения пиктограмм атрибутов, пользовательских инструментов и шаблонов заливок. Они собраны в единый файл, и больше не "отваливаются" при переносе проектов с машины на машину. Как дополнительный бонус - в разы сократилось время копирования проектов со всеми этими картинками...
Несколько изменились режимы отображения. При "подсветке" концов можно проигнорировать замкнутые изолинии - это делает изображение гораздо информативнее. Да и сами вершины можно сделать минимального размера, чтобы не застилали общую картину...
Режим отображения Проверка атрибутов расширен до режима просмотра и перемещения по любым помеченным объектам. Снятие пометки при просмотре атрибутов сохранено.
Это далеко не всё. О массе мелких изменений и исправленных ошибках, как ни будь в другой раз...