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()

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

convert_to_degree()

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

to_string()

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

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

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

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

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

Пример.
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]] = None) CoordSystem

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

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

  • rect – Охват системы координат. По умолчанию, axipy.Rect(xmin=-10000, ymin=-10000, xmax=10000, ymax=10000).

Пример.
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 или пустую строку, если аналога не найдено.