PySide6.QtPositioning.QGeoCoordinate

class QGeoCoordinate

QGeoCoordinate 类定义了地球表面上的地理位置。更多

概要

属性

  • altitudeᅟ - 此属性保存海拔高度,单位为米

  • isValidᅟ - 此属性保存此地理坐标的有效性

  • latitudeᅟ - 此属性保存以十进制度表示的纬度

  • longitudeᅟ - 此属性保存以十进制度表示的经度

方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

一个QGeoCoordinate由纬度、经度和可选的高度定义。

使用type()来确定一个坐标是2D坐标(仅包含纬度和经度)还是3D坐标(包含纬度、经度和高度)。使用distanceTo()azimuthTo()来计算坐标之间的距离和方位角。

坐标值应使用WGS84基准指定。有关地理术语的更多信息,请参阅这篇关于坐标的文章和另一篇关于大地测量系统的文章,包括WGS84。

在这种情况下,方位角相当于基于真北的罗盘方位。

这个类自 Qt 5.5 起是一个 Q_GADGET。它可以直接从 C++ 和 QML 使用。

class CoordinateType

定义坐标的类型。

常量

描述

QGeoCoordinate.InvalidCoordinate

一个无效的坐标。如果坐标的纬度或经度值无效,则该坐标无效。

QGeoCoordinate.Coordinate2D

具有有效纬度和经度值的坐标。

QGeoCoordinate.Coordinate3D

一个具有有效纬度和经度值以及高度值的坐标。

class CoordinateFormat

定义了toString()可能的格式化选项。

常量

描述

QGeoCoordinate.Degrees

返回以十进制度数格式表示的坐标字符串。

QGeoCoordinate.DegreesWithHemisphere

返回以十进制度格式表示的坐标字符串,使用‘N’、‘S’、‘E’或‘W’来表示坐标的半球。

QGeoCoordinate.DegreesMinutes

返回以度-分格式表示的坐标字符串。

QGeoCoordinate.DegreesMinutesWithHemisphere

返回一个以度-分格式表示的坐标字符串,使用‘N’、‘S’、‘E’或‘W’来表示坐标的半球。

QGeoCoordinate.DegreesMinutesSeconds

返回以度-分-秒格式表示的坐标字符串。

QGeoCoordinate.DegreesMinutesSecondsWithHemisphere

返回坐标的字符串表示,使用‘N’、‘S’、‘E’或‘W’来表示坐标的半球。

另请参阅

toString()

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property altitudeᅟ: float

此属性保存海拔高度,单位为米。

如果尚未设置高度,则该属性未定义(qQNaN())。

虽然此属性在Qt 5.5中引入,但相关的访问器函数自该类的第一个版本以来就已存在。

Access functions:
property isValidᅟ: bool

此属性保存此地理坐标的有效性。

如果longitudelatitude属性已设置为有效值,则地理坐标有效。

虽然这个属性是在 Qt 5.5 中引入的,但相关的访问器函数自该类的第一个版本以来就存在。

Access functions:
property latitudeᅟ: float

此属性保存此属性保存以十进制度表示的纬度。

如果纬度未设置,则该属性未定义(qQNaN())。正纬度表示北半球,负纬度表示南半球。设置纬度时,新值应为WGS84基准格式。

为了有效,纬度必须在-90到90之间,包括-90和90。

虽然这个属性是在 Qt 5.5 中引入的,但相关的访问器函数自该类的第一个版本以来就存在。

Access functions:
property longitudeᅟ: float

此属性保存以十进制度表示的经度。

如果经度未设置,则该属性未定义(qQNaN())。正经度表示东半球,负经度表示西半球。设置经度时,新值应采用WGS84基准格式。

为了有效,经度必须在-180到180之间,包括-180和180。

虽然这个属性是在 Qt 5.5 中引入的,但相关的访问器函数自该类的第一个版本以来就存在。

Access functions:
__init__()

构建一个坐标。在调用setLatitude()setLongitude()之前,该坐标将无效。

__init__(other)
Parameters:

其他QGeoCoordinate

other的内容构造一个坐标。

__init__(latitude, longitude)
Parameters:
  • latitude – 浮点数

  • longitude – 浮点数

使用给定的latitudelongitude构建一个坐标。

如果纬度不在-90到90之间,或者经度不在-180到180之间,则不会设置任何值,并且type()将为InvalidCoordinate

另请参阅

isValid()

__init__(latitude, longitude, altitude)
Parameters:
  • latitude – 浮点数

  • longitude – 浮点数

  • altitude – 浮点数

使用给定的latitudelongitudealtitude构建一个坐标。

如果纬度不在-90到90之间,或者经度不在-180到180之间,则不会设置任何值,并且type()将为InvalidCoordinate

请注意,altitude 指定的是海拔高度(以米为单位)。

另请参阅

isValid()

altitude()
Return type:

浮点数

返回海拔高度(米)。

如果高度未设置,则返回值为未定义。

另请参阅

setAltitude() type()

属性 altitudeᅟ 的获取器。

atDistanceAndAzimuth(distance, azimuth[, distanceUp=0.0])
Parameters:
  • distance – 浮点数

  • 方位角 – 浮点数

  • distanceUp – 浮点数

Return type:

QGeoCoordinate

返回从当前坐标沿大圆以azimuth(或方位角)方向行进distance米后到达的坐标。此计算假设地球是球形的。

高度将增加 distanceUp

如果此坐标无效,则返回一个无效坐标。

azimuthTo(other)
Parameters:

其他QGeoCoordinate

Return type:

浮点数

返回从此坐标到由other指定的坐标的方位角(或方位),单位为度。计算中不使用高度。

返回的方位是从原点沿着两个坐标之间的大圆到other的方位。为了这个计算,假设地球是球形的。

如果此坐标的类型或other的类型是InvalidCoordinate,则返回0。

distanceTo(other)
Parameters:

其他QGeoCoordinate

Return type:

浮点数

返回从此坐标到由other指定的坐标的距离(以米为单位)。计算中不使用海拔高度。

此计算返回两个坐标之间的大圆距离,假设地球是球形的以用于此计算。

如果此坐标的类型或other的类型是InvalidCoordinate,则返回0。

isValid()
Return type:

布尔

如果longitudelatitude有效,则返回true

属性 isValidᅟ 的获取器。

latitude()
Return type:

浮点数

返回纬度,以十进制度表示。如果未设置纬度,则返回值为未定义。

正纬度表示北半球,负纬度表示南半球。

另请参阅

setLatitude() type()

属性 latitudeᅟ 的获取器。

longitude()
Return type:

浮点数

返回经度,以十进制度表示。如果未设置经度,则返回值为未定义。

正经度表示东半球,负经度表示西半球。

另请参阅

setLongitude() type()

属性 longitudeᅟ 的获取器。

__ne__(rhs)
Parameters:

rhsQGeoCoordinate

Return type:

布尔

如果lhs坐标的纬度、经度或高度与rhs坐标的纬度、经度或高度不相同,则返回true。否则返回false

__eq__(rhs)
Parameters:

rhsQGeoCoordinate

Return type:

布尔

如果lhs坐标的纬度、经度和高度与rhs坐标的相同,则返回true。否则返回false

如果纬度为 +/- 90 度,则经度将被忽略。

setAltitude(altitude)
Parameters:

高度 – 浮点数

将海拔高度(米)设置为altitude

另请参阅

altitude()

属性 altitudeᅟ 的设置器。

setLatitude(latitude)
Parameters:

纬度 – 浮点数

设置纬度(以十进制度为单位)为latitude。该值应基于WGS84基准。

为了有效,纬度必须在-90到90之间,包括-90和90。

另请参阅

latitude()

属性 latitudeᅟ 的设置器。

setLongitude(longitude)
Parameters:

经度 – 浮点数

设置经度(以十进制度为单位)为longitude。该值应基于WGS84基准。

为了有效,经度必须在-180到180之间,包括-180和180。

另请参阅

longitude()

属性 longitudeᅟ 的设置器。

swap(other)
Parameters:

其他QGeoCoordinate

toString([format=QGeoCoordinate.CoordinateFormat.DegreesMinutesSecondsWithHemisphere])
Parameters:

formatCoordinateFormat

Return type:

字符串

将此坐标作为字符串返回,使用指定的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米

如果没有设置高度,则省略高度字段。

如果坐标无效,则返回空字符串。

type()
Return type:

CoordinateType

返回此坐标的类型。