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