# Системы Координат

Термины «проекция» и «координатная система» иногда используются один вместо другого, но, на самом деле, понятия, которые они отражают, различны.

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

Координатная система – когда параметрам проекции присваиваются определенные значения, они становятся системой координат. Система координат – это набор параметров, описывающих координаты, одна из которых является проекцией.

Системы Координат (СК) представлены типом `axipy.CoordSystem`. Объекты типа `axipy.CoordSystem` могут быть созданы, используя:

- код EPSG - European Petroleum Survey Group;

- строку MapInfo PRJ;

- строку WKT - Well-known text;

- строку PROJ;

- единиц измерения - для создания СК в план-схеме;

Полный список доступных функций создания систем координат содержится в документации к классу `axipy.CoordSystem`.

Примечание

Для выполнения примеров:

    from axipy import CoordSystem, CoordTransformer

Например

    merc = CoordSystem.from_epsg(3395)
    print(merc.name)
    '''
    >>> Меркатора WGS84
    '''

Функция `axipy.CoordSystem.from_string()` позволяет создавать СК из “универсального представления” - строки с префиксом типа, двоеточием и значением. Возможные префиксы: proj, wkt, epsg, prj.

Например

    crs = CoordSystem.from_string('prj:Earth Projection 12, 62, "m", 0')
    print(crs.name)
    '''
    >>> Робинсона NAD27
    '''

Трансформация координат

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

Функционал по переходу координат из одной СК в другую выделен в отельный класс `axipy.CoordTransformer`. Он позволяет преобразовывать координаты между двумя СК.

Например

    transformer = CoordTransformer('epsg:4326', 'epsg:26953')
    coordinate = (55.76, 37.6)
    result = transformer.transform(coordinate)
    print(f"Point({result.x}, {result.y})")
    '''
    >>> Point(8513601.095442554, 9873107.576049749)
    '''