CoordSystem - Система Координат (СК)

class axipy.CoordSystem

Система координат (СК). СК описывает каким образом реальные объекты на земной поверхности могут быть представлены в виде двумерной проекции. Выбор СК для представления данных зависит от конкретных исходных условий по представлению исходных данных.

Примечание

Проверка на идентичность параметров двух СК производится простым сравнением.

Примечание

Для получения текстового представления можно воспользоваться функцией str.

Поддерживается создание СК посредством следующих вариантов:

Пример создания СК разного типа.
cs_epsg = CoordSystem.from_epsg(4326)
cs_prj = CoordSystem.from_prj('1, 104')
cs_proj = CoordSystem.from_proj('+proj=longlat +ellps=WGS84 +no_defs')
cs_wkt = CoordSystem.from_wkt('GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]')
# Создание из строки с указанием вида формата
crs1 = CoordSystem.from_string('epsg:4326')
crs2 = CoordSystem.from_string('prj:1,104')
Проверка на идентичность координатных систем производится простым сравнением.
cs1 = CoordSystem.from_prj("1, 104")
cs2 = CoordSystem.from_prj("1, 104")
if cs1 == cs2:
    print("Координатные системы эквивалентны.")
'''
>>> Координатные системы эквивалентны.
'''

Классовые методы:

current()

Текущая установленная система координат (СК).

from_epsg(code)

Создает координатную систему по коду EPSG.

from_prj(prj)

Создает координатную систему из строки MapBasic.

from_proj(proj)

Создает координатную систему из строки proj.

from_string(string)

Создает систему координат из строки.

from_units(unit[, rect])

Создает декартову систему координат.

from_wkt(wkt)

Создает координатную систему из строки WKT.

set_current(coordsystem)

Устанавливает новую текущую систему координат

Свойства:

epsg

Значение EPSG если существует для данной системы координат, иначе None.

inv_flattening

Полярное сжатие.

lat_lon

Является ли данная СК широтой/долготой.

name

Наименование системы координат.

non_earth

Является ли данная СК декартовой.

prj

Строка prj формата MapBasic или пустая строка, если аналога не найдено.

proj

Строка PROJ или пустая строка, если аналога не найдено.

rect

Максимально допустимый охват.

semi_major

Большая полуось.

semi_minor

Малая полуось.

title

Наименование системы координат.

unit

Единицы измерения.

wkt

Строка WKT или пустая строка, если аналога не найдено.

Методы:

convert_from_degree(value)

Переводит из градусов в единицы измерения системы координат.

convert_to_degree(value)

Переводит из единиц измерения системы координат в градусы.

to_string()

Текстовое представление в виде <тип>:<строка>

convert_from_degree(value: Union[Pnt, Rect, QPointF, List[QPointF], QRectF]) Union[Pnt, List[Pnt], Rect]

Переводит из градусов в единицы измерения системы координат.

convert_to_degree(value: Union[Pnt, Rect, QPointF, List[QPointF], QRectF]) Union[Pnt, List[Pnt], Rect]

Переводит из единиц измерения системы координат в градусы.

Пример.
csMercator = CoordSystem.from_prj("10, 104, 7, 0")
p_out = csMercator.convert_to_degree((1000000, 1000000))
print(p_out)
'''
>>> (8.983152841195214 9.005882635078796)
'''
classmethod current() CoordSystem

Текущая установленная система координат (СК). Данная СК используется как значение по умолчанию, когда она не определена. Например, в диалоге создания новой таблицы.

property epsg: Optional[int]

Значение EPSG если существует для данной системы координат, иначе None.

classmethod from_epsg(code: int) CoordSystem

Создает координатную систему по коду EPSG.

См.также

Подробнее см. EPSG

Параметры:

code – Стандартное значение EPSG.

classmethod from_prj(prj: str) CoordSystem

Создает координатную систему из строки MapBasic.

Параметры:

prj – Строка MapBasic. Допустима короткая нотация.

Пример.
csMercator = CoordSystem.from_prj('10, 104, 7, 0')
csLatLon = CoordSystem.from_prj('Earth Projection 1, 104')
csMercator = CoordSystem.from_prj('NonEarth 0, \'m\'')
classmethod from_proj(proj: str) CoordSystem

Создает координатную систему из строки proj.

См.также

Подробнее см. PROJ

Параметры:

proj – Строка proj.

classmethod from_string(string: str) CoordSystem

Создает систему координат из строки. Строка состоит из двух частей: префикса и строки представления СК. Возможные значения префиксов: «proj», «wkt», «epsg», «prj».

Параметры:

string – Строка.

classmethod from_units(unit: LinearUnit, rect: Optional[Union[Rect, QRectF]] = Rect(-10000, -10000, 10000, 10000)) CoordSystem

Создает декартову систему координат.

Параметры:
  • unit – Единицы измерения системы координат.

  • rect – Охват системы координат.

Пример.
ne = CoordSystem.from_units(Unit.km, Rect(-100, -100, 100, 100))
classmethod from_wkt(wkt: str) CoordSystem

Создает координатную систему из строки WKT.

См.также

Подробнее см.

WKT

Параметры:

wkt – Строка WKT.

property inv_flattening: float

Полярное сжатие.

property lat_lon: bool

Является ли данная СК широтой/долготой.

property name: str

Наименование системы координат.

property non_earth: bool

Является ли данная СК декартовой.

property prj: str

Строка prj формата MapBasic или пустая строка, если аналога не найдено.

property proj: str

Строка PROJ или пустая строка, если аналога не найдено.

property rect: Rect

Максимально допустимый охват.

property semi_major: float

Большая полуось.

property semi_minor: float

Малая полуось.

classmethod set_current(coordsystem: CoordSystem)

Устанавливает новую текущую систему координат

Параметры:

coordsystem – Новое значение системы координат.

Пример установки нового значения:

CoordSystem.set_current(CoordSystem.from_prj("10, 104, 7"))
property title: str

Наименование системы координат.

to_string() str

Текстовое представление в виде <тип>:<строка>

property unit: LinearUnit

Единицы измерения.

property wkt: str

Строка WKT или пустая строка, если аналога не найдено.