Spec-Zone.ru › Qt 5.9

Тип QML координат

Тип координат представляет и хранит географическое положение.

Этот тип является представлением QML типа QGeoCoordinate и представляет географическое положение в виде атрибутов широты, долготы и высоты. Атрибут широты указывает количество десятичных градусов выше и ниже экватора. Положительная широта указывает на Северное полушарие, а отрицательная широта — на Южное полушарие. Атрибут долготы указывает количество десятичных градусов на восток и запад. Положительная долгота указывает на Восточное полушарие, а отрицательная долгота — на Западное полушарие. Атрибут высоты указывает количество метров над уровнем моря. Вместе эти атрибуты определяют трехмерное положение в любой точке на или около поверхности Земли.

Атрибут isValid может использоваться для проверки валидности координат. Координаты считаются валидными, если у них есть валидная широта и долгота. Валидная высота не требуется. Широта должна быть в диапазоне от -90 до 90 включительно, а долгота — от -180 до 180 включительно.

Тип coordinate используется во многих других типах модуля Qt Location для указания положения объекта на карте, текущего положения устройства и многих других задач. Они также включают ряд важных служебных методов, которые делают в противном случае сложные вычисления простыми в использовании, такие как atDistanceAndAzimuth().

Точность

Атрибуты широты, долготы и высоты, хранящиеся в типе координат, представлены как числа с плавающей запятой двойной точности, что обеспечивает приблизительно 16 десятичных знаков точности — достаточно для указания микрометров. Вычисления, выполняемые в методах координат, таких как azimuthTo() и distanceTo(), также используют числа с плавающей запятой двойной точности для всех промежуточных значений, но присущие погрешности в их сферической модели Земли доминируют над количеством ошибки в их выходных данных.

Пример использования

Используйте свойства типа variant для хранения coordinate. Для создания coordinate используйте один из описанных ниже методов. Во всех случаях указание атрибута высоты является необязательным.

Для создания значения coordinate используйте функцию QtPositioning.coordinate():

import QtPositioning 5.2

Location { coordinate: QtPositioning.coordinate(-27.5, 153.1) }

или как отдельные компоненты широты, долготы и высоты:

Location {
    coordinate {
        latitude: -27.5
        longitude: 153.1
    }
}

При интеграции с C++, обратите внимание, что любое значение QGeoCoordinate, переданное в QML из C++, автоматически преобразуется в значение coordinate, и наоборот.

Свойства

latitude

real latitude

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

Для получения дополнительной информации см. свойство QGeoCoordinate::latitude.

longitude

real longitude

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

Для получения дополнительной информации см. свойство QGeoCoordinate::longitude.

altitude

real altitude

Это свойство содержит значение высоты (в метрах над уровнем моря). Если свойство не было установлено, его значение по умолчанию равно NaN.

Для получения дополнительной информации см. свойство QGeoCoordinate::altitude.

isValid

bool isValid

Это свойство содержит текущую валидность координат. Координаты считаются валидными, если они были установлены с валидной широтой и долготой (высота не требуется).

Широта должна находиться в диапазоне от -90 до 90 включительно, чтобы считаться валидной, а долгота — в диапазоне от -180 до 180 включительно, чтобы считаться валидной.

Это свойство только для чтения.

Методы

distanceTo()

real distanceTo(coordinate other)

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

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

azimuthTo()

real azimuth(coordinate other)

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

Предполагается, что Земля является сферической для целей этого вычисления.

atDistanceAndAzimuth()

coordinate atDistanceAndAzimuth(real distance, real azimuth)

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

Предполагается, что Земля является сферической для целей этого вычисления.

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

Spec-Zone.ru

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