Преобразование координат при
объединении подпроектов
Объединяя подпроекты, полученые
в результате использования утилиты сегментации Создание
подпроектов, вы, в принципе, не можете столкнуться с "расползанием"
векторных данных. Каждый подпроект гарантированно попадет
на своё место. Но всё может быть не так гладко, если объединяемые
проекты готовились отдельно и в разное время...
В Easy Trace импорт выполняеться в уже существующий
проект, причем этот проект обязательно должен иметь совместимое
с импортируемыми
данными векторное поле. Фактически, в результате импорта,
векторное поле проекта может быть увеличено не более чем
в 10 раз в любом из четырех направлений.
Это ограничение вызвано тем,
что Easy Trace хранит координаты в представлении с фиксированной
точкой. До недавнего времени процессоры персональных компьютеров
обрабатывали такие данные заметно быстрее...
Если координаты импортируемых данных выходят за пределы
максимально возможных величин, они не могут
быть
конвертированы во внутреннее представление Easy Trace. В
этом случае появляется сообщение об ошибке и импорт прерывается.
Если же после импорта в один проект данные находятся далеко
друг от друга, причина только одна - в одном из подпроектов
(или в обоих) были неправильно заданы координаты.
Для того, чтобы изменить систему координат проекта, нужно
его импортировать с преобразованием координат. Такая возможность
предоставляется на странице Трансформация мастера
импорта .
В данный момент в Easy Trace поддерживается только афинное
преобразование координат. Параметры преобразования определяются
набором контрольных точек.
В свою очередь, такой набор может быть получен:
из слоя проекта Easy Trace содержащего контрольные точки;
из внешнего CPT-файла;
из регистрационного TAB-файла MapInfo;
из регистрационного MAP-файла OziExplorer.
Слой с контрольными точками
Это
обычный векторный слой, для точек которого определена таблица
атрибутов, имеющая поля типа Float или Numeric с
именами "_X_CPT_" и "_Y_CPT_".
Причем этот слой находится в том проекте, КУДА ИМПОРТИРУЮТСЯ
ДАННЫЕ.
Пример: Один из планшетов, после импорта оказался смещённым
относительно ожидаемой позиции.
В импортируемом проекте переписываем координаты 4-х угловых точек рамки планшета;
В проекте, КУДА будет выполнятся импорт, создаем новый
слой. Определяем для точек слоя атрибутивную таблицу с
полями "_X_CPT_" и "_Y_CPT_" типа
Float или Numeric;
Наносим на этот слой 4-е точки в позиции, ГДЕ ДОЛЖНЫ
БУДУТ ОКАЗАТЬСЯ угловые точки ИМПОРТИРУЕМОГО планшета.
Возможно, что сначала придется расширить поле проекта,
см. Проект->Свойства->Рамка
проекта;
В атрибуты введенных точек, в поля "_X_CPT_" и "_Y_CPT_", заносим координаты из п 1.;
Во время импорта, на странице Трансформация,
выбираем опцию Использовать контрольные точки со слоя и выбираем из списка имя этого слоя.
Файл контрольных точек
Файл с расширением (*.cpt)- это обычный текстовый файл, в котором каждой контрольной точке соответствует отдельная
строка, содержащая 4 значения, разделенные пробелами:
первая пара - (X,Y) координаты контрольной точки в
текущем проекте.
вторая пара - координаты этой же точки, во внешнем
(импортируемом или экспортируемом) проекте.
В наборе должно содержаться не менее 3-х контрольных точек, не расположенных на одной прямой. Если задано
более 3-х контрольных точек, то афинное преобразование вычисляется методом наименьших квадратов по всем
заданным точкам. Таким образом, «лишние» контрольные точки служат для усреднения возможных ошибок.
Подробнее:
1. Выберем три контрольные точки, для которых
известны координаты в текушем проекте. То есть в том, в КОТОРЫЙ
будет выполнятся импорт. Хорошо, но не обязательно, если это будут
углы рамки проекта. Допустим, это P1(x1,y1),
P2(x2,y2) ,P3(x3,y3).
2. Измеряем координаты этих контрольных
точек во внешнем, "неправильном" проекте. Для удобства измерения,
в эти позиции можно поставить объекты "точки"
и посмотреть редактором всплывающие
координаты их установки. А можно просто подвести
курсор к этим позициям и посмотреть значения координат в
левом нижнем углу экрана. Соответственно получим (u1,v1),
(u2,v2), (u3,v3).
3. Координаты в файл контрольных
точек составляем следующим образом:
x1 y1 u1 v1
x2 y2 u2 v2
x3 y3 u3 v3
4. Если есть хотя бы один подпроектс верными координатами, то импортировать "дефектные" подпроекты
можно в него. Если такого подпроекта нет - создаем новый проект с верными координатами, желательно сразу покрывающий всю область
куда будет выполнятся импорт.
5. Импортируем векторные данные,
указывая на странице Трансформация на
созданный файл контрольных точек. Самое важное при трансформации
- НЕ ПЕРЕПУТАТЬ ПОРЯДОК СЛЕДОВАНИЯ КООРДИНАТ в файле контрольных
точек. Это (координаты в текущем
проекте, координаты во внешнем проекте), а не наоборот!
Для проверки можно, после выбора
файла, по кнопке Контрольные точки открыть
окно Статистика
контрольных точек и посмотреть по заголовкам
в таблице, в каком порядке следуют координаты.
И два замечания напоследок:
все упомянутые координаты
должны быть декартовы;
растры будут импортированы только в том случае, если преобразование
координат не содержит поворота.