Spec-Zone.ru › Qt

Класс QGeoCoordinate

Класс QGeoCoordinate определяет географическую позицию на поверхности Земли. Подробнее...

Заголовок: #include <QGeoCoordinate>
CMake: find_package(Qt6 COMPONENTS Positioning REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake: QT += positioning
С момента: Qt 5.2
  • Список всех членов, включая унаследованные

Общедоступные типы

Перечисление CoordinateFormat { Degrees, DegreesWithHemisphere, DegreesMinutes, DegreesMinutesWithHemisphere, DegreesMinutesSeconds, DegreesMinutesSecondsWithHemisphere }
Перечисление CoordinateType { InvalidCoordinate, Coordinate2D, Coordinate3D }

Свойства

  • altitude : double
  • isValid : const bool
  • latitude : double
  • longitude : double

Общедоступные функции

QGeoCoordinate(QGeoCoordinate &&other)
QGeoCoordinate(const QGeoCoordinate &other)
QGeoCoordinate(double latitude, double longitude, double altitude)
QGeoCoordinate(double latitude, double longitude)
QGeoCoordinate()
QGeoCoordinate & operator=(QGeoCoordinate &&other)
QGeoCoordinate & operator=(const QGeoCoordinate &other)
~QGeoCoordinate()
double altitude() const
QGeoCoordinate atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0) const
qreal azimuthTo(const QGeoCoordinate &other) const
qreal distanceTo(const QGeoCoordinate &other) const
bool isValid() const
double latitude() const
double longitude() const
void setAltitude(double altitude)
void setLatitude(double latitude)
void setLongitude(double longitude)
QString toString(QGeoCoordinate::CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const
QGeoCoordinate::CoordinateType type() const

Связанные нечлены

bool operator!=(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)
QDataStream & operator<<(QDataStream &stream, const QGeoCoordinate &coordinate)
bool operator==(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)
QDataStream & operator>>(QDataStream &stream, QGeoCoordinate &coordinate)

Подробное описание

QGeoCoordinate определяется широтой, долготой и необязательно высотой.

Используйте type() для определения, является ли координата 2D (только широта и долгота) или 3D (широта, долгота и высота).

Используйте distanceTo() и azimuthTo() для расчета расстояния и азимута между координатами.

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

Азимут в данном контексте эквивалентен компасному направлению относительно истинного севера.

Этот класс является Q_GADGET с Qt 5.5. Он может быть непосредственно использован из C++ и QML.

Документация типов членов

Перечисление QGeoCoordinate::CoordinateFormat

Определяет возможные форматы форматирования для toString().

Константа Значение Описание
QGeoCoordinate::Degrees 0 Возвращает строковое представление координат в формате десятичных градусов.
QGeoCoordinate::DegreesWithHemisphere 1 Возвращает строковое представление координат в формате десятичных градусов, используя 'N', 'S', 'E' или 'W' для указания полушарий координат.
QGeoCoordinate::DegreesMinutes 2 Возвращает строковое представление координат в формате градусов-минут.
QGeoCoordinate::DegreesMinutesWithHemisphere 3 Возвращает строковое представление координат в формате градусов-минут, используя 'N', 'S', 'E' или 'W' для указания полушарий координат.
QGeoCoordinate::DegreesMinutesSeconds 4 Возвращает строковое представление координат в формате градусов-минут-секунд.
QGeoCoordinate::DegreesMinutesSecondsWithHemisphere 5 Возвращает строковое представление координат в формате градусов-минут-секунд, используя 'N', 'S', 'E' или 'W' для указания полушарий координат.

См. такжеtoString().

Перечисление QGeoCoordinate::CoordinateType

Определяет типы координат.

Константа Значение Описание
QGeoCoordinate::InvalidCoordinate 0 Недействительная координата. Координата является недействительной, если значения широты или долготы недействительны.
QGeoCoordinate::Coordinate2D 1 Координата с действительными значениями широты и долготы.
QGeoCoordinate::Coordinate3D 2 Координата с действительными значениями широты и долготы, а также значением высоты.

Документация по свойству

[since 5.5] altitude : double

Это свойство содержит высоту в метрах над уровнем моря.

Свойство не определено (qQNaN()), если высота не была установлена.

Хотя это свойство было введено в Qt 5.5, соответствующие функции-обработчики существуют с первого релиза этого класса.

Это свойство было введено в Qt 5.5.

Функции доступа:

double altitude() const
void setAltitude(double altitude)

[read-only, since 5.5] isValid : const bool

Это свойство содержит информацию о валидности географических координат.

Географические координаты валидны, если свойства longitude и latitude установлены на корректные значения.

Хотя это свойство было введено в Qt 5.5, соответствующие функции-обработчики существуют с первого релиза этого класса.

Это свойство было введено в Qt 5.5.

Функции доступа:

bool isValid() const

[since 5.5] latitude : double

Это свойство содержит широту в десятичных градусах.

Свойство не определено (qQNaN()), если широта не была установлена. Положительное значение широты указывает на Северное полушарие, отрицательное — на Южное. При установке широты новое значение должно быть в формате WGS84.

Для валидности широта должна быть в диапазоне от -90 до 90 включительно.

Хотя это свойство было введено в Qt 5.5, соответствующие функции-обработчики существуют с первого релиза этого класса.

Это свойство было введено в Qt 5.5.

Функции доступа:

double latitude() const
void setLatitude(double latitude)

[since 5.5] longitude : double

Это свойство содержит долготу в десятичных градусах.

Свойство не определено (qQNaN()), если долгота не была установлена. Положительное значение долготы указывает на Восточное полушарие, отрицательное — на Западное. При установке долготы новое значение должно быть в формате WGS84.

Для валидности долгота должна быть в диапазоне от -180 до 180 включительно.

Хотя это свойство было введено в Qt 5.5, соответствующие функции-обработчики существуют с первого релиза этого класса.

Это свойство было введено в Qt 5.5.

Функции доступа:

double longitude() const
void setLongitude(double longitude)

Документация по членам-функциям

[since 6.2] QGeoCoordinate::QGeoCoordinate(QGeoCoordinate &&other)

Конструирует координату, перемещая данные из other.

Примечание: Объект QGeoCoordinate, из которого произошло перемещение, может быть только уничтожен или ему может быть присвоено значение. Действие вызова функций, отличных от деструктора или оператора присваивания, не определено.

Эта функция была введена в Qt 6.2.

QGeoCoordinate::QGeoCoordinate(const QGeoCoordinate &other)

Конструирует координату на основе содержимого other.

QGeoCoordinate::QGeoCoordinate(double latitude, double longitude, double altitude)

Конструирует координату с заданной latitude, longitude и altitude.

Если широта не находится в диапазоне от -90 до 90 включительно, или долгота не находится в диапазоне от -180 до 180 включительно, ни одно из значений не устанавливается, а тип (type()) будет QGeoCoordinate::InvalidCoordinate.

Обратите внимание, что altitude указывает высоту в метрах над уровнем моря.

См. также isValid().

QGeoCoordinate::QGeoCoordinate(double latitude, double longitude)

Конструирует координату с заданной latitude и longitude.

Если широта не находится в диапазоне от -90 до 90 включительно, или долгота не находится в диапазоне от -180 до 180 включительно, ни одно из значений не устанавливается, а тип (type()) будет QGeoCoordinate::InvalidCoordinate.

См. также isValid().

QGeoCoordinate::QGeoCoordinate()

Конструирует координату. Координата будет недействительной, пока не будут вызваны setLatitude() и setLongitude().

[since 6.2] QGeoCoordinate &QGeoCoordinate::operator=(QGeoCoordinate &&other)

Перемещает присваивание other текущей координате и возвращает ссылку на текущую координату.

Примечание: Объект QGeoCoordinate, из которого произошло перемещение, может быть только уничтожен или ему может быть присвоено значение. Действие вызова функций, отличных от деструктора или оператора присваивания, не определено.

Эта функция была введена в Qt 6.2.

QGeoCoordinate &QGeoCoordinate::operator=(const QGeoCoordinate &other)

Присваивает other текущей координате и возвращает ссылку на текущую координату.

QGeoCoordinate::~QGeoCoordinate()

Уничтожает объект координаты.

double QGeoCoordinate::altitude() const

Возвращает высоту (в метрах над уровнем моря).

Значение возвращается неопределенным, если высота не была установлена.

Примечание: Функция-обработчик свойства altitude.

См. также setAltitude() и type().

[invokable] QGeoCoordinate QGeoCoordinate::atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0) const

Возвращает координату, достигаемую при перемещении на distance метров от текущей координаты по азимуту azimuth по большой окружности. Предполагается, что Земля является сферической для целей этого расчета.

Высота будет увеличена на distanceUp.

Возвращает недействительную координату, если текущая координата недействительна.

Примечание: К этой функции можно обратиться через механизм метаобъектов и из QML. См. Q_INVOKABLE.

[invokable] qreal QGeoCoordinate::azimuthTo(const QGeoCoordinate &other) const

Возвращает азимут (или направление) в градусах от этой координаты к координате, указанной параметром other. Высота не используется в расчете.

Возвращаемое направление — это направление от начала до other вдоль большой окружности между двумя координатами. Предполагается, что Земля является сферической для целей этого расчета.

Возвращает 0, если тип этой координаты или типа other — QGeoCoordinate::InvalidCoordinate.

Примечание: К этой функции можно обратиться через механизм метаобъектов и из QML. См. Q_INVOKABLE.

[invokable] qreal QGeoCoordinate::distanceTo(const QGeoCoordinate &other) const

Возвращает расстояние (в метрах) от этой координаты до координаты, указанной параметром other. Высота не используется в расчете.

Этот расчет возвращает расстояние по большой окружности между двумя координатами, предполагая, что Земля является сферической для целей этого расчета.

Возвращает 0, если тип этой координаты или типа other — QGeoCoordinate::InvalidCoordinate.

Примечание: К этой функции можно обратиться через механизм метаобъектов и из QML. См. Q_INVOKABLE.

bool QGeoCoordinate::isValid() const

Возвращает true если долгота и широта валидны.

Примечание: Функция-обработчик свойства isValid.

double QGeoCoordinate::latitude() const

Возвращает широту в десятичных градусах. Значение возвращаемого значения неопределено, если широта не была установлена.

Положительная широта указывает на Северное полушарие, а отрицательная — на Южное полушарие.

Примечание: Функция-геттер для свойства latitude.

См. также setLatitude() и type().

double QGeoCoordinate::longitude() const

Возвращает долготу в десятичных градусах. Значение возвращаемого значения неопределено, если долгота не была установлена.

Положительная долгота указывает на Восточное полушарие, а отрицательная — на Западное полушарие.

Примечание: Функция-геттер для свойства longitude.

См. также setLongitude() и type().

void QGeoCoordinate::setAltitude(double altitude)

Устанавливает высоту (в метрах над уровнем моря) в altitude.

Примечание: Функция-сеттер для свойства altitude.

См. также altitude().

void QGeoCoordinate::setLatitude(double latitude)

Устанавливает широту (в десятичных градусах) в latitude. Значение должно быть в системе координат WGS84.

Для корректности широта должна быть в диапазоне от -90 до 90 включительно.

Примечание: Функция-сеттер для свойства latitude.

См. также latitude().

void QGeoCoordinate::setLongitude(double longitude)

Устанавливает долготу (в десятичных градусах) в longitude. Значение должно быть в системе координат WGS84.

Для корректности долгота должна быть в диапазоне от -180 до 180 включительно.

Примечание: Функция-сеттер для свойства longitude.

См. также longitude().

[invokable] QString QGeoCoordinate::toString(QGeoCoordinate::CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const

Возвращает эти координаты в виде строки в указанном формате format.

Например, если у этих координат широта -27.46758, долгота 153.027892 и высота 28.1, то эти строки будут возвращены в зависимости от format:

format значение Возвращаемая строка
Degrees -27.46758°, 153.02789°, 28.1м
DegreesWithHemisphere 27.46758° Ю, 153.02789° В, 28.1м
DegreesMinutes -27° 28.054', 153° 1.673', 28.1м
DegreesMinutesWithHemisphere 27° 28.054 Ю', 153° 1.673' В, 28.1м
DegreesMinutesSeconds -27° 28' 3.2", 153° 1' 40.4", 28.1м
DegreesMinutesSecondsWithHemisphere 27° 28' 3.2" Ю, 153° 1' 40.4" В, 28.1м

Поле высоты опускается, если высота не задана.

Если координаты некорректны, возвращается пустая строка.

Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.

QGeoCoordinate::CoordinateType QGeoCoordinate::type() const

Возвращает тип этих координат.

Связанные нечленные функции

bool operator!=(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)

Возвращает true если широта, долгота или высота координаты lhs не идентичны координатам rhs. В противном случае возвращает false.

QDataStream &operator<<(QDataStream &stream, const QGeoCoordinate &coordinate)

Записывает указанные coordinate в указанный stream.

См. также Сериализация типов данных Qt.

bool operator==(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)

Возвращает true если широта, долгота и высота координаты lhs совпадают с координатами rhs. В противном случае возвращает false.

Долгота будет игнорирована, если широта равна +/- 90 градусам.

QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate)

Считывает координаты из указанного stream в заданную coordinate.

См. также Сериализация типов данных Qt.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qgeocoordinate.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API