Трансформирование векторной карты по опорным точкам

Печать Стартовая страница

Задача «Трансформирование векторной карты по опорным точкам» предназначена для трансформирования плоских прямоугольных координат объектов векторной карты. В задаче реализованы два типа преобразования:

- сдвиг, масштабирование, поворот;

- аффинное трансформирование.

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

 

_bm3607

 

При запуске задачи список исходных карт заполняется векторными картами, открытыми в текущем окне. При выборе исходной карты из списка автоматически изменяется имя выходной карты. Изменить автоматически сгенерированное имя выходной карты можно нажав кнопку ic_896. Если карта состоит из нескольких листов (map), то после преобразования все объекты будут сохранены в одном листе (sit). Если имя исходной и выходной карты равны, то при включенном режиме «Сохранять копию исходной карты» перед трансформированием будет выполнено сохранение исходной карты в папку Copy_имя карты_номер версии.

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

 

Пример каталога исходных координат:

1 49511.17 7850.37

2 39078.21 1520.5

4 50829.666 4353.274  

3 43131.266 412.382

 

Пример каталога выходных координат:

3 431465.94 2188139.61

1 437739.57 2195666.78

2 427397.83 2189190.36

4 439107.24 2192188.92

 

Каталог координат может быть создан вручную в текстовом редакторе или получен при сохранении выделенных объектов карты в текстовой файл в задаче «Редактор карты».

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

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

 

В зависимости от выбранного типа трансформирования используются следующие формулы преобразования координат:

 - сдвиг, масштабирование, поворот

 

_bm3606

 

- аффинное трансформирование

_bm3610

Неизвестными коэффициентами преобразования сдвиг, масштабирование, поворот являются _bm3609, аффинного трансформирования _bm3611 . Неизвестные коэффициенты определяются из решения системы нормальных уравнений. Для одной точки можно составить 2 уравнения, поэтому для преобразования сдвиг, масштаб, поворот необходимо минимум 2 точки, а для аффинного трансформирования минимум 3 точки. Если количество точек больше необходимого минимума, то система уравнений решается методом наименьших квадратов.