Класс QGeoCoordinate
Класс QGeoCoordinate определяет географическую позицию на поверхности Земли. Подробнее...
| Заголовок: | #include <QGeoCoordinate> |
| qmake: | QT += positioning |
| С момента: | Qt 5.2 |
Открытые типы
| перечисление | CoordinateFormat { Degrees, DegreesWithHemisphere, DegreesMinutes, DegreesMinutesWithHemisphere, DegreesMinutesSeconds, DegreesMinutesSecondsWithHemisphere } |
| перечисление | CoordinateType { InvalidCoordinate, Coordinate2D, Coordinate3D } |
Свойства
Открытые функции
| QGeoCoordinate() | |
| QGeoCoordinate(double latitude, double longitude) | |
| QGeoCoordinate(double latitude, double longitude, double altitude) | |
| QGeoCoordinate(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 |
| QGeoCoordinate & | operator=(const QGeoCoordinate &other) |
| bool | operator==(const QGeoCoordinate &other) const |
Связанные нечлены
| QDataStream & | operator<<(QDataStream &stream, const QGeoCoordinate &coordinate) |
| QDataStream & | operator>>(QDataStream &stream, QGeoCoordinate &coordinate) |
Подробное описание
Класс QGeoCoordinate определяет географическую позицию на поверхности Земли.
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) |
Документация функций-членов
bool QGeoCoordinate::operator!=(const QGeoCoordinate &other) const
Возвращает true если широта, долгота или высота этой координаты не идентичны other.
QGeoCoordinate::QGeoCoordinate()
Конструирует координату. Координата будет невалидной до вызова setLatitude() и setLongitude().
QGeoCoordinate::QGeoCoordinate(double latitude, double longitude)
Конструирует координату с заданной latitude и longitude.
Если широта не находится в диапазоне от -90 до 90 включительно, или долгота не находится в диапазоне от -180 до 180 включительно, ни одно из значений не устанавливается, и тип (type()) будет QGeoCoordinate::InvalidCoordinate.
См. такжеisValid().
QGeoCoordinate::QGeoCoordinate(double latitude, double longitude, double altitude)
Конструирует координату с заданной latitude, longitude и altitude.
Если широта не находится в диапазоне от -90 до 90 включительно, или долгота не находится в диапазоне от -180 до 180 включительно, ни одно из значений не устанавливается, и тип (type()) будет QGeoCoordinate::InvalidCoordinate.
Обратите внимание, что altitude указывает высоту в метрах над уровнем моря.
См. такжеisValid().
QGeoCoordinate::QGeoCoordinate(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
Возвращает тип этой координаты.
QGeoCoordinate &QGeoCoordinate::operator=(const QGeoCoordinate &other)
Присваивает 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/archives/qt-5.11/qgeocoordinate.html