Main Content

latlon2local

地理座標からローカル直交座標に変換

説明

[xEast,yNorth,zUp] = latlon2local(lat,lon,alt,origin) は、latlon、および alt で指定された地理座標の点の位置をローカル直交座標に変換し、xEastyNorth、および zUp として返します。origin は、[latOrigin,lonOrigin,altOrigin] という形式のベクトルとしてローカル座標系のアンカーを指定します。ローカル座標 x、y、z はそれぞれ東方向、北方向、上方向に対応しています。altaltOrigin は標準的な GPS センサーで返される高度です。

すべて折りたたむ

GPS ルートを読み込みます。

d = load('geoRoute.mat');

地理座標の原点 (緯度と経度) を定義します。

alt = 10;  % 10 meters is an approximate altitude in Boston, MA
origin = [d.latitude(1), d.longitude(1), alt];

ルートを地理座標から直交座標 (xy) に変換します。

[xEast,yNorth] = latlon2local(d.latitude,d.longitude,alt,origin);

直交座標でルートをプロットします。

figure;
plot(xEast,yNorth)
axis('equal'); % set 1:1 aspect ratio to see real-world shape

Figure contains an axes object. The axes object contains an object of type line.

入力引数

すべて折りたたむ

緯度座標 (度)。数値スカラーまたはベクトルとして指定します。値は範囲 [–90, 90] 内でなければなりません。latlon と同じ長さでなければなりません。

例: lat = 42.3648

データ型: single | double

経度座標 (度)。数値スカラーまたはベクトルとして指定します。値は範囲 [–180, 180] 内でなければなりません。lonlat と同じ長さでなければなりません。

例: lon = -71.0214

データ型: single | double

高度 (メートル)。数値スカラーまたはベクトルとして指定します。

例: 10

データ型: single | double

ローカル座標系のアンカー。[latOrigin,lonOrigin,altOrigin] という形式の 3 要素ベクトルとして指定します。

例: [42.3648, -71.0214, 10.0];

データ型: single | double

出力引数

すべて折りたたむ

x 座標 (メートル)。数値スカラーまたはベクトルとして返されます。

xEastlat と同じクラスです。ただし、入力引数のいずれかがクラス single の場合、xEast はクラス single になります。

y 座標 (メートル)。数値スカラーまたはベクトルとして返されます。

yNorthlon と同じクラスです。ただし、入力引数のいずれかがクラス single の場合、yNorth はクラス single になります。

高度 (メートル)。数値スカラーまたはベクトルとして返されます。

zUpalt と同じクラスです。ただし、入力引数のいずれかがクラス single の場合、zUp はクラス single になります。

ヒント

  • 地理座標系の緯度と経度では、GPS 受信機で一般的に使用される WGS84 標準を使用しています。

  • この関数は高さとして WGS84 準拠楕円体を基準とした高度 (メートル) を定義します。

  • 一部の GPS 受信機は WGS84 以外の標準を使用します。Mapping Toolbox ではその他の楕円体を使用した変換が利用可能です。この関数は、地理的な位置と、車両のオンボード センサーで使用される直交座標間の一般的な変換に対応しています。

バージョン履歴

R2020a で導入