ГИС ObjectLand. Руководство пользователя
пред.содержаниеслед. / Редактирование карты / Глава 20. Трансформация координат

Выполнение трансформации координат

Для выполнения трансформации координат служит команда меню Сервис+Трансформация, которая может быть вызвана либо из окна навигации при выбранной карте, теме, слое или типе объектов карты или темы, либо из окна просмотра карты. Соответственно этому в трансформации будут участвовать объекты всех или только некоторых компонентов карты.

Подготовка к трансформации выполняется под управлением мастера трансформации. На рис. 20-1 показана первая страница мастера.

Рис. 20-1. Выбор типа преобразования и файла настройки

Рис. 20-1. Выбор типа преобразования и файла настройки

В панели Тип преобразования следует выбрать один из типов, описанных в подразделе «Типы преобразования координат»: преобразование подобия, аффинное преобразование, аффинное с вычислением коэффициентов методом наименьших квадратов, нелинейное локальное, нелинейное локально-аффинное, нелинейное полиномиальное или нелинейное полиномиально-аффинное.

Если ранее запоминалась настройка преобразования, то следует включить флажок Загрузить настройку и с помощью кнопки Выбор выполнить выбор файла настройки.

Примечание

При включенном флажке Загрузить настройку панель выбора типа преобразования неактивна, поскольку тип преобразования будет загружен из файла настройки. Если пользователь хочет воспользоваться прежней настройкой, но применить другой тип преобразования, то он может поступить так: сначала включить флажок Загрузить настройку, выбрать файл настройки и нажать кнопку Далее (при этом реально выполняется загрузка), затем вернуться к первому шагу по кнопке Назад, отключить флажок загрузки, выбрать нужный тип преобразования и снова нажать Далее.

На втором шаге работы мастера (рис. 20-2) решается вопрос о создании файла отката, который позволяет отменить результаты трансформации координат и восстановить состояние карты до выполнения трансформации. Если файл отката не создается, то трансформация координат необратима.

Рис. 20-2. Выбор файла отката трансформации

Рис. 20-2. Выбор файла отката трансформации

Чтобы создать файл отката, следует включить флажок Создавать откат и с помощью кнопки Выбор задать имя файла отката. Система присвоит имени файла стандартное расширение ROL. Если файл с таким именем уже существует, то нужно с помощью переключателей выбрать один из двух вариантов:

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

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

На третьем шаге работы мастера (рис. 20-3) пользователь должен определить конкретную трансформацию, задав для этого старые и новые координаты опорных точек.

Рис. 20-3. Настройка опорных точек трансформации

Рис. 20-3. Настройка опорных точек трансформации

Количество опорных точек для преобразования подобия должно равняться двум, для аффинного преобразования – трем, для всех остальных преобразований нужно не менее трех опорных точек.

Имеется три способа добавления опорных точек в список.

Рис. 20-4. Выбор типов объектов при задании опорных точек

Рис. 20-4. Выбор типов объектов при задании опорных точек

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

При любом способе добавления система проверяет, чтобы в списке не было двух одинаковых опорных точек. При индивидуальном добавлении выдается сообщение «Дублируются исходные (конечные) координаты опорной точки», при двух других способах добавления дублирующиеся точки просто не включаются в список.

Для корректировки списка опорных точек можно использовать кнопки Изменить, Удалить и Удалить все. Чтобы изменить исходные и/или конечные координаты опорной точки, пользователь должен выбрать эту точку в списке, изменить значения в полях Исх. X, Y и Кон. X, Y, а затем нажать кнопку Изменить. Кнопка Удалить удаляет опорную точку, выбранную в списке, а Удалить все – полностью очищает список.

На четвертом шаге работы мастера (рис. 20-5) пользователь определяет, какие объекты должны подвергнуться трансформации координат. При задании преобразования «на лету» трансформации подлежат все объекты данной темы или слоя, поэтому шаги мастера, связанные с ограничением множества трансформируемых объектов, пропускаются. Для случая одноразового преобразования координат имеется несколько возможностей ограничить множество объектов.

Рис. 20-5. Выбор трансформируемых объектов

Рис. 20-5. Выбор трансформируемых объектов

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

Рис. 20-6. Настройка области преобразования

Рис. 20-6. Настройка области преобразования

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

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

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

На рис. 20-7 показаны примеры расщепления ребер при трансформации прямоугольной области. Закон преобразования – горизонтальный сдвиг вправо.

Рис. 20-7. Расщепление ребер при трансформации

Рис. 20-7. Расщепление ребер при трансформации

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

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

Если выбран вариант Указанной геометрии или Указанного типа, то на одном из следующих шагов мастера трансформации пользователь должен будет выбрать, соответственно, геометрические типы или типы объектов, участвующих в операции. На рис. 20-8 показан выбор типов объектов. Проставленные галочки указывают, какие слои и какие типы объектов из этих слоев должны участвовать в трансформации. Аналогичным образом выбираются геометрические типы.

Рис. 20-8. Выбор типов объектов для трансформации

Рис. 20-8. Выбор типов объектов для трансформации

Флажок Учитывать фильтр (рис. 20-5) активен, если операция трансформации выполняется для темы с фильтром (см. гл. 34 «Фильтры и их структура»). Если флажок включен, то трансформируются только объекты, отображаемые с учетом фильтра. Если же флажок выключен, то действие фильтра не учитывается.

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

Рис. 20-9. Выбор файлов отчета и настройки

Рис. 20-9. Выбор файлов отчета и настройки

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

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

Файл отчета о трансформации всегда получает расширение CTR, файл сохранения настройки – CTS.

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

пред.в начало стр.след.