Трансформирование векторной карты по опорным точкам |
Задача «Трансформирование векторной карты по опорным точкам» предназначена для трансформирования плоских прямоугольных координат объектов векторной карты. В задаче реализованы два типа преобразования: - сдвиг, масштабирование, поворот; - аффинное трансформирование. Определение параметров преобразования выполняется по координатам точек в исходной и выходной системе координат.
При запуске задачи список исходных карт заполняется векторными картами, открытыми в текущем окне. При выборе исходной карты из списка автоматически изменяется имя выходной карты. Изменить автоматически сгенерированное имя выходной карты можно нажав кнопку . Если карта состоит из нескольких листов (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
Каталог координат может быть создан вручную в текстовом редакторе или получен при сохранении выделенных объектов карты в текстовой файл в задаче «Редактор карты». После выбора каталогов координат автоматически вычисляются коэффициенты преобразования, среднеквадратическая ошибка и остаточные расхождения на опорных точках в выходной системе координат. Процесс трансформирования запускается при нажатии на кнопку «Выполнить». В случае если выходная карта уже существует, задается вопрос для подтверждения замены карты. После завершения трансформирования выходная карта автоматически открывается в новом окне.
В зависимости от выбранного типа трансформирования используются следующие формулы преобразования координат: - сдвиг, масштабирование, поворот
- аффинное трансформирование Неизвестными коэффициентами преобразования сдвиг, масштабирование, поворот являются , аффинного трансформирования . Неизвестные коэффициенты определяются из решения системы нормальных уравнений. Для одной точки можно составить 2 уравнения, поэтому для преобразования сдвиг, масштаб, поворот необходимо минимум 2 точки, а для аффинного трансформирования минимум 3 точки. Если количество точек больше необходимого минимума, то система уравнений решается методом наименьших квадратов.
|