Страница 1 из 1

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

Добавлено: 01 авг 2022, 05:04
bgnik
Подскажите, пожалуйста, на конкретном примере, как на Axipy создать ТАВ -файл для растра. Пусть растр - квадрат со стороной pixels, квадрат карты - br, система координат - SK=CoordSystem.from_string('prj:NonEarth 0,7'), путь к файлу растра - Path.

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

Добавлено: 02 авг 2022, 22:36
Smeltzov
Добрый день

Регистрация растра описана в руководстве разработчика
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 - привязка в метрах

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

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