QGeoCoordinate Class

QGeoCoordinate クラスは、地球の表面上の地理的な位置を定義します。詳細...

ヘッダー #include <QGeoCoordinate>
CMake: find_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake: QT += positioning

パブリックタイプ

enum CoordinateFormat { Degrees, DegreesWithHemisphere, DegreesMinutes, DegreesMinutesWithHemisphere, DegreesMinutesSeconds, DegreesMinutesSecondsWithHemisphere }
enum CoordinateType { InvalidCoordinate, Coordinate2D, Coordinate3D }

プロパティ

パブリック機能

QGeoCoordinate()
QGeoCoordinate(double latitude, double longitude)
QGeoCoordinate(double latitude, double longitude, double altitude)
QGeoCoordinate(const QGeoCoordinate &other)
(since 6.2) QGeoCoordinate(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)
(since 6.2) void swap(QGeoCoordinate &other)
QString toString(QGeoCoordinate::CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const
QGeoCoordinate::CoordinateType type() const
(since 6.2) QGeoCoordinate &operator=(QGeoCoordinate &&other)
QGeoCoordinate &operator=(const QGeoCoordinate &other)
bool operator!=(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)
QDataStream &operator<<(QDataStream &stream, const QGeoCoordinate &coordinate)
bool operator==(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)
QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate)

詳細説明

QGeoCoordinate は、緯度、経度、およびオプションで高度によって定義されます。

type() を使用して、座標が 2D 座標 (緯度と経度のみを持つ) か 3D 座標 (緯度、経度、および高度を持つ) かを判定します。座標間の距離と方位を計算するにはdistanceTo() とazimuthTo() を使います。

座標値は WGS84 基準を用いて指定す る 必要があ り ます。地理用語の詳細については、座標に関するこの記事と、WGS84を含む測地系に関する別の記事を参照してください。

こ こ では方位 と は、 真北を基準に し た コ ン パ ス方位 と 同義です。

このクラスはQt 5.5からQ_GADGETC++やQMLから直接使うことができます。

メンバ型ドキュメント

enum QGeoCoordinate::CoordinateFormat

toString() で可能な書式オプションを定義します。

定数説明
QGeoCoordinate::Degrees0座標を10進数で表した文字列を返します。
QGeoCoordinate::DegreesWithHemisphere1座標の半球を表すために 'N'、'S'、'E'、'W' を使用した、座標を 10 進度形式で表す文字列を返します。
QGeoCoordinate::DegreesMinutes2座標を度-分形式で文字列で返します。
QGeoCoordinate::DegreesMinutesWithHemisphere3座標の半球を表すのに 'N'、'S'、'E'、'W' を使用した、度-分形式の座標の文字列表現を返します。
QGeoCoordinate::DegreesMinutesSeconds4座標を度分秒形式で文字列で返します。
QGeoCoordinate::DegreesMinutesSecondsWithHemisphere5座標の半球を表すために 'N'、'S'、'E'、または 'W' を使用した、度-分-秒形式の座標の文字列表現を返します。

toString()も参照

enum QGeoCoordinate::CoordinateType

座標の型を定義する。

定数説明
QGeoCoordinate::InvalidCoordinate0無効な座標。座標の緯度 ・ 経度値が無効な場合は無効。
QGeoCoordinate::Coordinate2D1有効な緯度経度値を持つ座標。
QGeoCoordinate::Coordinate3D2有効な緯度・経度値を持ち、高度値も持つ座標。

プロパティの説明

altitude : double

このプロパティは、海抜高度をメートル単位で保持する。

高度が設定されていない場合、このプロパティは未定義 (qQNaN()) です。

このプロパティは Qt 5.5 で導入されましたが、関連するアクセサ関数はこのクラスの最初のバージョンから存在しています。

アクセス関数

double altitude() const
void setAltitude(double altitude)

[read-only] isValid : const bool

このプロパティは、このジオ座標の有効性を保持する。

longitude およびlatitude プロパティが有効な値に設定されている場合、このジオ座標は有効です。

このプロパティは Qt 5.5 で導入されましたが、関連するアクセサ関数はこのクラスの最初のバージョンから存在しています。

アクセス関数

bool isValid() const

latitude : double

このプロパティは、緯度を 10 進度で保持する。

緯度が設定されていない場合、このプロパティは未定義 (qQNaN()) です。正の緯度は北半球を示し、負の緯度は南半球を示す。緯度を設定する場合、新しい値はWGS84datumフォーマットでなければなりません。

有効であるためには、緯度は-90から90の間でなければなりません。

このプロパティはQt 5.5で導入されましたが、関連するアクセサ関数はこのクラスの最初のバージョンから存在しています。

アクセス関数

double latitude() const
void setLatitude(double latitude)

longitude : double

このプロパティは、経度を 10 進度で保持する。

経度が設定されていない場合、このプロパティは未定義 (qQNaN()) です。正の経度は東半球を示し、負の経度は西半球を示します。経度を設定する場合、新しい値はWGS84データム形式でなければなりません。

有効であるためには、経度は-180から180の間でなければなりません。

このプロパティは Qt 5.5 で導入されましたが、関連するアクセサ関数はこのクラスの最初のバージョンから存在しています。

アクセス関数

double longitude() const
void setLongitude(double longitude)

メンバ関数ドキュメント

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)

与えられたlatitudelongitude およびaltitude で座標を構築する。

緯度が -90 から 90 の間でない場合、または経度が -180 から 180 の間でない場合は、いずれの値も設定されず、type() はQGeoCoordinate::InvalidCoordinate になります。

altitude は海抜メートルを指定することに注意。

isValid()も参照のこと

QGeoCoordinate::QGeoCoordinate(const QGeoCoordinate &other)

other の内容から座標を構築する。

[noexcept, since 6.2] QGeoCoordinate::QGeoCoordinate(QGeoCoordinate &&other)

other から移動して座標を構築する。

注: 移動元の QGeoCoordinate オブジェクトは、破棄または代入のみが可能です。デストラクタや代入演算子以外の関数を呼び出した場合の効果は未定義です。

この関数は Qt 6.2 で導入されました。

[noexcept] QGeoCoordinate::~QGeoCoordinate()

座標オブジェクトを破棄する。

double QGeoCoordinate::altitude() const

高度(海抜メートル)を返します。

高度が設定されていない場合、戻り値は未定義です。

メモ: altitude プロパティのゲッター関数です。

setAltitude() およびtype()も参照して ください。

[invokable] QGeoCoordinate QGeoCoordinate::atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0) const

現在の座標から大円に沿ってazimuth (または方位) でdistance メートル移動したときに到達する座標を返す。この計算では、地球は球形であるという仮定があります。

高度にはdistanceUp が加算される。

この座標が無効な場合は無効な座標を返します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] qreal QGeoCoordinate::azimuthTo(const QGeoCoordinate &other) const

この座標から、other で指定した座標までの方位 (または方角) を度単位で返します。高度 は計算に使われない。

返される方位は、2 つの座標を結ぶ大円に沿った、原点からother までの方位です。この計算には、地球が球形であるという仮定があります。

この座標の型またはother の型がQGeoCoordinate::InvalidCoordinate の場合は 0 を返す。

注: この関数はメタオブジェクトシステムを経由して、またQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] qreal QGeoCoordinate::distanceTo(const QGeoCoordinate &other) const

この座標から、other で指定した座標までの距離(メートル単位)を返します。高度 は計算に使用されない。

この計算では、地球が球形であると仮定して、2 つの座標間の大円距離を返します。

この座標の型またはother の型がQGeoCoordinate::InvalidCoordinate の場合は 0 を返す。

注意: この関数はメタオブジェクトシステムを経由して QML から呼び出すことができます。Q_INVOKABLE を参照してください。

bool QGeoCoordinate::isValid() const

longitudelatitude が有効な場合、true を返す。

注: プロパティisValidのゲッター関数。

double QGeoCoordinate::latitude() const

緯度を10進数で返します。緯度が設定されていない場合、戻り値は未定義である。

緯度が正の場合は北半球、負の場合は南半球を示します。

注: プロパティ latitude のゲッター関数。

setLatitude() およびtype()も参照してください

double QGeoCoordinate::longitude() const

経度を10進数で返します。経度が設定されていない場合、戻り値は未定義である。

経度が正の場合は東半球、負の場合は西半球を表します。

注: 経度プロパティのゲッター関数です。

setLongitude() およびtype()も参照して ください。

void QGeoCoordinate::setAltitude(double altitude)

altitude に高度(海抜メートル)を設定する。

注: プロパティaltitude に対するセッター関数。

altitude()も参照してください

void QGeoCoordinate::setLatitude(double latitude)

緯度(10進数)をlatitude に設定する。値はWGS84基準でなければならない。

有効であるためには、緯度は -90 から 90 の間でなければならない。

備考: プロパティlatitude に対するセッター関数。

latitude()も参照してください

void QGeoCoordinate::setLongitude(double longitude)

経度(10進数)をlongitude に設定する。この値はWGS84基準でなければならない。

有効であるためには、経度は -180 から 180 の間でなければならない。

備考: プロパティlongitude に対するセッター関数。

longitude()も参照してください

[noexcept, since 6.2] void QGeoCoordinate::swap(QGeoCoordinate &other)

この座標をother と交換する。この操作は非常に高速で、失敗することはありません。

この関数は Qt 6.2 で導入されました。

[invokable] QString QGeoCoordinate::toString(QGeoCoordinate::CoordinateFormat format = DegreesMinutesSecondsWithHemisphere) const

この座標を、指定されたformat の文字列として返す。

た と えば、 こ の座標の緯度が -27.46758、 経度が 153.027892、 高度 が 28.1 であ る と き は、format に従っ て こ れ ら の文字列が返 さ れます:

format返される文字列
Degrees-27.46758°, 153.02789°, 28.1m
DegreesWithHemisphere南緯27.46758度、東経153.02789度、28.1m
DegreesMinutes-27° 28.054', 153° 1.673', 28.1m
DegreesMinutesWithHemisphere南緯27度28.054分、東経153度1.673分、28.1m
DegreesMinutesSeconds-27° 28' 3.2", 153° 1' 40.4", 28.1m
DegreesMinutesSecondsWithHemisphere27° 28' 3.2" S, 153° 1' 40.4" E, 28.1m

高度フィールドは、高度が設定されていない場合は省略される。

座標が無効な場合は、空の文字列が返されます。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

QGeoCoordinate::CoordinateType QGeoCoordinate::type() const

この座標の型を返します。

[noexcept, since 6.2] QGeoCoordinate &QGeoCoordinate::operator=(QGeoCoordinate &&other)

move-この座標にother を代入し、この座標への参照を返す。

注意: 移動元のQGeoCoordinate オブジェクトは破棄または代入しかできない。デストラクタや代入演算子以外の関数を呼び出した場合の効果は未定義です。

この関数は Qt 6.2 で導入されました。

QGeoCoordinate &QGeoCoordinate::operator=(const QGeoCoordinate &other)

この座標にother を代入し、この座標への参照を返す。

関連する非会員

bool operator!=(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)

lhs 座標の緯度、経度、高度がrhs 座標の緯度、経度、高度と一致しない場合はtrue を返す。そうでない場合は、false を返します。

QDataStream &operator<<(QDataStream &stream, const QGeoCoordinate &coordinate)

指定されたstream に、指定されたcoordinate を書き込みます。

Qt データ型のシリアライズも参照してください

bool operator==(const QGeoCoordinate &lhs, const QGeoCoordinate &rhs)

lhs 座標の緯度 ・ 経度 ・ 高度がrhs 座標の緯度 ・ 経度 ・ 高度 と 等 し ければtrue を返す。そうでない場合はfalse を返す。

緯度が±90度の場合、経度は無視される。

QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate)

指定されたstream から、指定されたcoordinate に座標を読み込みます。

Qt データ型のシリアライズ」も参照してください

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.