Класс QGeoCoordinate
Класс QGeoCoordinate определяет географическую позицию на поверхности Земли. Подробнее...
| Заголовок: | #include <QGeoCoordinate> |
| qmake: | QT += positioning |
| С момента: | Qt 5.2 |
Этот класс был представлен в Qt 5.2.
Типы публичного доступа
| Перечисление | CoordinateFormat { Степени, СтепениСПолушарием, СтепениМинуты, СтепениМинутыСПолушарием, СтепениМинутыСекунды, СтепениМинутыСекундыСПолушарием } |
| Перечисление | CoordinateType { НедействительнаяКоордината, Координата2D, Координата3D } |
Свойства
Функции публичного доступа
| QGeoCoordinate(const QGeoCoordinate &other) | |
| QGeoCoordinate(double latitude, double longitude, double altitude) | |
| QGeoCoordinate(double latitude, double longitude) | |
| QGeoCoordinate() | |
| 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 &other) const |
| bool | operator==(const QGeoCoordinate &other) const |
Связанные нечлены
| QDataStream & | operator<<(QDataStream &stream, const QGeoCoordinate &coordinate) |
| 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 |
Координата с действительными значениями широты и долготы, а также значения высоты. |
Документация по свойству
altitude : double
Это свойство содержит высоту в метрах над уровнем моря.
Свойство не определено (qQNaN()), если высота не была задана.
Хотя это свойство введено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было введено в Qt 5.5.
Функции доступа:
| double | altitude() const |
| void | setAltitude(double altitude) |
isValid : const bool
Это свойство хранит информацию о валидности геокоординаты.
Геокоордината считается валидной, если свойства longitude и latitude установлены в корректные значения.
Хотя это свойство введено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было введено в Qt 5.5.
Функции доступа:
| bool | isValid() const |
latitude : double
Это свойство содержит широту в десятичных градусах.
Свойство не определено (qQNaN()), если широта не была задана. Положительное значение широты указывает на Северное полушарие, а отрицательное — на Южное. При установке широты новое значение должно быть в формате системы координат WGS84.
Для валидности широта должна быть в диапазоне от -90 до 90 включительно.
Хотя это свойство введено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было введено в Qt 5.5.
Функции доступа:
| double | latitude() const |
| void | setLatitude(double latitude) |
longitude : double
Это свойство содержит долготу в десятичных градусах.
Свойство не определено (qQNaN()), если долгота не была задана. Положительное значение долготы указывает на Восточное полушарие, а отрицательное — на Западное. При установке долготы новое значение должно быть в формате системы координат WGS84.
Для валидности долгота должна быть в диапазоне от -180 до 180 включительно.
Хотя это свойство введено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было введено в Qt 5.5.
Функции доступа:
| double | longitude() const |
| void | setLongitude(double longitude) |
Документация по функциям-членам
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().
QGeoCoordinate &QGeoCoordinate::operator=(const QGeoCoordinate &other)
Присваивает other этой координате и возвращает ссылку на эту координату.
QGeoCoordinate::~QGeoCoordinate()
Уничтожает объект координаты.
double QGeoCoordinate::altitude() const
Возвращает высоту (в метрах над уровнем моря).
Возвращаемое значение не определено, если высота не была задана.
Примечание: Функция-геттер для свойства altitude.
См. также setAltitude() и type().
QGeoCoordinate QGeoCoordinate::atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0) const
Возвращает координату, достигаемую при перемещении на distance метров от текущей координаты по азимуту (или направлению) azimuth по большой окружности. Предполагается, что Земля является сферой для целей этого расчета.
К высоте будет добавлено distanceUp.
Возвращает невалидную координату, если текущая координата невалидна.
Примечание: Эта функция может вызываться через механизм метаобъектов и из QML. См. Q_INVOKABLE.
qreal QGeoCoordinate::azimuthTo(const QGeoCoordinate &other) const
Возвращает азимут (или направление) в градусах от этой координаты до координаты, указанной other. Высота не используется в расчете.
Возвращаемый азимут — это азимут от начала координат до other вдоль большой окружности между двумя координатами. Предполагается, что Земля является сферой для целей этого расчета.
Возвращает 0, если тип этой координаты или типа other — QGeoCoordinate::InvalidCoordinate.
Примечание: Эта функция может вызываться через механизм метаобъектов и из QML. См. Q_INVOKABLE.
qreal QGeoCoordinate::distanceTo(const QGeoCoordinate &other) const
Возвращает расстояние (в метрах) от этой координаты до координаты, указанной other. Высота не используется в расчете.
Этот расчет возвращает расстояние по большой окружности между двумя координатами, при предположении, что Земля является сферой для целей этого расчета.
Возвращает 0, если тип этой координаты или типа other — QGeoCoordinate::InvalidCoordinate.
Примечание: Эта функция может вызываться через механизм метаобъектов и из QML. См. Q_INVOKABLE.
bool QGeoCoordinate::isValid() const
Возвращает true если longitude и latitude являются корректными.
Примечание: Функция-геттер для свойства 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().
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 QGeoCoordinate::operator!=(const QGeoCoordinate &other) const
Возвращает true если широта, долгота или высота этой координаты не идентичны other.
bool QGeoCoordinate::operator==(const QGeoCoordinate &other) const
Возвращает true, если широта, долгота и высота этой координаты совпадают с other.
Долгота будет проигнорирована, если широта равна ±90 градусам.
Связанные нечлены
QDataStream &operator<<(QDataStream &stream, const QGeoCoordinate &coordinate)
Записывает заданную coordinate в указанный stream.
См. также Сериализация типов данных Qt.
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-5.15/qgeocoordinate.html