axioma.cs.
CoordSystem
¶Данный класс позволяет производить работу с координатными проекциями
EARTH_SPHERE_RADIUS
¶Радиус сферы
DEGREES_TO_RADIANS
¶Коэффициент пересчета градусов в радианы
DEGREES_TO_METERS
¶Градусы в метры для сферы
METERS_TO_DEGREES
¶Метры в градусы для сферы
LAT_LON_EPSG
¶EPSG для координатной системы Широта/Долгота
RADIANS_TO_DEGREES
¶Коэффициент пересчета радиан в градусы
Тип исходных данных при формировании объекта координатной системы SourceType
:¶Наименование величины Значение Описание St_Unknown 0 Не определен St_Prj 1 Строка MapBasic St_Proj4 2 Строка Proj4 St_Epsg 3 Значение EPSG St_Wkt 4 Строка Wkt
forward
(p_in, p_out)¶Получение картезианских координат из градусов точки
Параметры: Результат: успешность операции. True выполнено успешно. False преобразование не произведено
Тип результата:
forward
(r_in, r_out)Получение картезианских координат из градусов rect
Параметры: Результат: успешность операции. True выполнено успешно. False преобразование не произведено
Тип результата:
forward
(list_in, list_out)Получение картезианских координат из градусов массива точек
Параметры: Результат: успешность операции. True выполнено успешно. False преобразование не произведено
Тип результата:
inverse
(p_in, p_out)¶Получение географических координат (градусов) из картезианских координат для точки
Параметры: Результат: успешность операции. True выполнено успешно. False преобразование не произведено
Тип результата:
inverse
(r_in, r_out)Получение географических координат (градусов) из картезианских координат для rect
Параметры: Результат: успешность операции. True выполнено успешно. False преобразование не произведено
Тип результата:
inverse
(list_in, list_out)Получение географических координат (градусов) из картезианских координат для массива точек
Параметры: Результат: Успешность операции. True выполнено успешно. False преобразование не произведено
Тип результата:
clone
()¶Клонирует текущую КС
Результат: Копию координатной системы Тип результата: CoordSystem
unit
()¶Единицы измерения в текущей КС
Результат: Единица измерения Тип результата: LinearUnit
isEqual
(coordSystem)¶Сравнение с другой координатной системой
Параметры: coordSystem ( CoordSystem
) – КС для сравненияРезультат: Результат сравнения. True, если эквивалентны Тип результата: bool
proj4Str
()¶Формирует строку формата proj4
Результат: Строка proj4 или пустая строка если аналога не найдено Тип результата: str
PRJStr
()¶Формирует строку формата MapBasic
Результат: Строка prj или пустая строка если аналога не найдено Тип результата: str
epsg
()¶Пробует найти номер EPSG. Сначала ищем в описании проекции PRJ файла, затем пробуем использовать алгоритмы OGR, и наконец, ищем соответствие в файле epsg.xml
Результат: Соответствующее проекции значение EPSG. -1 если соответствующей не найдено Тип результата: int
exportToWKT
()¶Экспорт в формат WKT
Результат: Строка WKT или пустая строка если аналога не найдено Тип результата: str
setDescription
(description)¶Задание описания координатной системы
Параметры: description ( str
) – Описание координатной системы
description
()¶Описание координатной системы
Результат: Описание координатной системы Тип результата: str
cartesianDistance
(point_1, point_2)¶Расчет расстояния между двумя точками в текущей проекции
Параметры: Результат: расстояние между точками
Тип результата:
sphericalDistance
(point_1, point_2)¶Расчет расстояния между двумя точками на сфере
Параметры: Результат: расстояние между точками, успешность операции
Тип результата:
rectNumericCoordSys
()¶Возвращает MBR для КС
Результат: Прямоугольник для данной КС в случае успешного выполнения или пустой QRectF Тип результата: QRectF
setRectCoordSystem
(rect)¶Установка нового ограничивающего прямоугольника для проекции
Параметры: rect ( QRectF
) – Новое значение прямоугольника
- static
testEqual
(cs1, cs2)¶Сравнение двух координатных систем
Параметры:
- cs1 (
CoordSystem
) – Первая КС для сравнения- cs2 (
CoordSystem
) – Вторая КС для сравненияРезультат: Результат сравнения. True, если эквивалентны
Тип результата:
affineTransform
()¶Возвращает матрицу афинного преобразования, если таковая имеется
Результат: Матрица афинного преобразования Тип результата: QTransform
setAffineTransform
(value)¶Установка нового значения матрицы преобразования для проекции
Параметры: value ( QTransform
) – Матрица
getInvFlattening
()¶Коэффициент сжатия эллипсоида
Результат: Значение коэффициента Тип результата: float
getTOWGS84Params
()¶Коэффициенты преобразования датума к WGS84
Результат: Коэффициенты. Если получить невозможно, возникает ошибка. Тип результата: list
[str
]
axioma.cs.
sourceData
()¶Данные, которые использовались при создании данной координатной системы
Тип результата: SourceData
Пример использования:
from axioma.cs import * from PyQt5.QtCore import * cs_latlon = CoordSysFactory.defaultCoordSysFactory().createFromEPSG(4326) cs_merc = CoordSysFactory.defaultCoordSysFactory().createFromPRJ("Earth Projection 12, 62, \"m\", 0") # forward / inverse if cs_latlon is not None: p_out = QPointF() p_in = QPointF(45.0, 45.0) res = cs_latlon.forward(p_in, p_out) if res: print ("Forward (%f, %f) res=%r" % (p_out.x(), p_out.y(), res)) p_out1= QPointF() res = cs_latlon.inverse(p_out, p_out1) if res: print ("Inverse (%f, %f) res=%r" % (p_out1.x(), p_out1.y(), res)) #rect rect = cs_merc.rectNumericCoordSys(); print ("Rect of CoordSystem: (%.1f %.1f) (%.1f %.1f)" % (rect.left(), rect.top(), rect.right(), rect.bottom())) #distance print( "Cartesian distance %f" % cs_latlon.cartesianDistance(QPointF(0.0, 0.0), QPointF(45.0, 45.0))) sd = cs_latlon.sphericalDistance(QPointF(0.0, 0.0), QPointF(45.0, 45.0)) print( "Spherical distance %f (success=%r)" % (sd[0], sd[1])) #compare print ("Compare CoordSystems: %r %r" % ( cs_latlon.isEqual(cs_merc), cs_latlon.isEqual(cs_latlon))) # export print( cs_latlon.PRJStr()) print( cs_latlon.proj4Str()) print( cs_latlon.exportToWKT())