регистрация растра

Вопросы связанные с работой ГИС Аксиома
Ответить
Аватара пользователя
bgnik
Сообщения: 39
Зарегистрирован: 25 окт 2021, 05:40

регистрация растра

Сообщение bgnik » 01 авг 2022, 05:04

Подскажите, пожалуйста, на конкретном примере, как на Axipy создать ТАВ -файл для растра. Пусть растр - квадрат со стороной pixels, квадрат карты - br, система координат - SK=CoordSystem.from_string('prj:NonEarth 0,7'), путь к файлу растра - Path.
Аватара пользователя
Smeltzov
Сообщения: 13
Зарегистрирован: 27 май 2019, 14:40

Re: регистрация растра

Сообщение Smeltzov » 02 авг 2022, 22:36

Добрый день

Регистрация растра описана в руководстве разработчика
https://axioma-gis.ru/axipy/dev-guide/l ... s.html#id4

Например так можно привязать растр, используя эквивалентную матрицу преобразования (QTransform по умолчанию)
Т.е. точка на изображении (x, y) в писелях будет привязана к точке в пространстве (x, y) в единицах СК.

Код: Выделить всё

from axipy import CoordSystem
from axipy.da.raster import register, GCP
from PySide2.QtGui import QTransform

cs = CoordSystem.from_string('prj:NonEarth 0,7')
register("tmp.png",
    QTransform(),
    cs)
Чтобы привязать растр подругому, можно передать другую матрицу трансформации (аффинное преобразование). Предварительно ее придется узнать или посчитать.
Для расчета матрицы преобразования достаточно 3х точек привязки. Обычно по углам изображения. Функция register также может это сделать.

Код: Выделить всё

from axipy import CoordSystem
from axipy.da.raster import register, GCP

cs = CoordSystem.from_string('prj:NonEarth 0,7')
register("tmp.png",
    [
        GCP((0, 0), (0, 10000)),
        GCP((1000, 0), (10000, 10000)),
        GCP((0, 1000), (0, 0)),
    ],
    cs)
, где 1000 - размер растра в пикселях; 10000 - привязка в метрах
Аватара пользователя
bgnik
Сообщения: 39
Зарегистрирован: 25 окт 2021, 05:40

Re: регистрация растра

Сообщение bgnik » 03 авг 2022, 02:02

Спасибо, теперь все ОК! Как раз это мне было непонятно: как составить матрицу.
Ответить