メインコンテンツ

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

geoplot3

地理的地球儀の地図

説明

geoplot3(g,lat,lon,h) は、g で指定された地理的地球儀内の latlon、および h で指定された頂点に 3D ラインをプロットします。

geoplot3(___,LineSpec) は、ライン スタイル、マーカー、および色を設定します。

geoplot3(___,Name=Value) は、1 つ以上の名前と値の引数を使用して、ラインの追加オプションを指定します。オプションは他のすべての入力引数の後に指定します。オプションのリストについては、Line Properties を参照してください。

p = geoplot3(___) は、Line オブジェクトを返します。この構文は、ラインのプロパティを制御するのに役立ちます。

すべて折りたたむ

局所領域上のグライダーの経路をプロットします。まず、パスを表すサンプル データをインポートします。緯度、経度、ジオイド高の値を取得します。

trk = readgeotable("sample_mixed.gpx",Layer="track_points");
lat = trk.Shape.Latitude;
lon = trk.Shape.Longitude;
h = trk.Elevation;

地理的地球儀を作成します。次に、パスをラインとしてプロットします。

uif = uifigure;
g = geoglobe(uif);
geoplot3(g,lat,lon,h,"c")

デフォルトでは、ビューはデータの真上に表示されます。カメラの位置、ピッチ角、機首角を設定してビューを変更します。

campos(g,44.44,-72.81,9e3)
campitch(g,-30)
camheading(g,40)

A 3-D line plotted over a region with terrain imagery

遠く離れた点の間にラインを引くと、そのラインが地球を通過するため、データが見づらくなることがあります。指定したデータ ポイント間にポイントを挿入して、ライン全体を表示します。

たとえば、ニューヨーク市とパリの座標を指定します。次に、それらの間にラインをプロットします。geoplot3 の 4 番目の引数を空の配列として指定して、高さデータがないことを示します。このラインは地球を通過するため、見ることができないことに注意してください。

lat = [40.71 48.86];
lon = [-74.01 2.35];
uif = uifigure;
g = geoglobe(uif);
geoplot3(g,lat,lon,[],"y",LineWidth=2)

A globe displaying New York City and Paris. There is no visible line.

ラインを表示するには、interpm 関数を使用して大円に沿って点を挿入します。次に、もう一度ラインをプロットします。ラインが見えることに注意してください。

[latI,lonI] = interpm(lat,lon,0.1,"gc");
geoplot3(g,latI,lonI,[],"y",LineWidth=2)

A globe with a yellow line between New York City and Paris. The entire line is visible.

州や国などの広い地域にラインをプロットする場合、ラインが地形を通過するため、ラインの一部が見えにくくなることがあります。地球儀から地形データを削除して、ライン全体を表示します。

たとえば、サンプルの海岸線データをインポートし、地理的地球儀上にプロットします。デフォルトでは、地球儀には GMTED2010 モデルから得られた地形データが含まれています。ラインが途切れて表示されることに注意してください。

load coastlines
uif = uifigure;
g = geoglobe(uif);
p = geoplot3(g,coastlat,coastlon,[],"m");

A globe with a magenta line along coastlines. The line appears broken.

ラインを表示するには、地球儀の Terrain プロパティを "none" に設定します。ラインの HeightReference プロパティを "ellipsoid" に設定して、プロットされたデータが WGS84 参照楕円体上にあることを示します。ベースマップ上にラインが表示されていることに注意してください。

g.Terrain = "none";
p.HeightReference = "ellipsoid";

A globe with a magenta line along coastlines. The line is visible over the basemap.

グライダーの経路を表すサンプル データをインポートします。緯度、経度、ジオイド高の値を取得します。

trk = readgeotable("sample_mixed.gpx",Layer="track_points");
lat = trk.Shape.Latitude;
lon = trk.Shape.Longitude;
h = trk.Elevation;

地理的地球儀を作成します。次に、円マーカーを使用してデータをプロットします。MarkerIndices プロパティを設定して、25 番目のデータ ポイントごとにマーカーをプロットします。

uif = uifigure;
g = geoglobe(uif);
mskip = 1:25:length(lat);
geoplot3(g,lat,lon,h,"mo",MarkerIndices=mskip)

グロス貯水池の表面からサウス ボルダー ピークの上の点までラインを引きます。

2 つの端点の緯度、経度、および高さを指定します。地形を基準とした高さを指定します。0 は海面ではなく地表を表します。

lat = [39.95384 39.95];
lon = [-105.29916 -105.3608];
hTerrain = [10 0];

地理的地球儀上にラインをプロットします。HeightReference プロパティを使用して、高さの値が地形を参照していることを示します。デフォルトでは、ビューはデータの真上に表示されます。Ctrl キーを押しながらドラッグしてビューを傾けます。

uif = uifigure;
g = geoglobe(uif);
geoplot3(g,lat,lon,hTerrain,"y",HeightReference="terrain",LineWidth=3)

A 3-D line plotted from the surface of a reservoir to a point above a peak.

入力引数

すべて折りたたむ

GeographicGlobe オブジェクトとして指定された地理的地球儀。 1

測地緯度(度単位)。ベクトルとして指定されます。

latlon は同じサイズでなければなりません。

データ型: single | double

測地経度(度単位)。ベクトルとして指定されます。

latlon は同じサイズでなければなりません。

データ型: single | double

高さ(メートル単位)。ベクトルとして指定します。デフォルトでは、高さの値はジオイド、つまり平均海面を基準とします。

ラインの HeightReference プロパティを "ellipsoid" に設定して、WGS84 参照楕円体の高さの値を参照します。HeightReference プロパティを "terrain" に設定して、地形または地面への高さの値を参照します。

h は、lat および lon と同じサイズのスカラーまたはベクトルである必要があります。h がスカラーの場合、すべてのポイントは同じ高さにプロットされます。

データ型: single | double

ライン スタイル、マーカー、および色。記号を含む文字ベクトルまたは string として指定します。記号は任意の順序で表記できます。3 つの特性 (ライン スタイル、マーカー、色) をすべて指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定する場合、プロットはラインなしでマーカーのみを表示します。

例: "-or"は、円マーカーが付いた赤い実線です

ライン スタイルとマーカー説明
-実線 (既定)
o円形マーカー
説明

y

m

マゼンタ

c

シアン

r

g

b

w

k

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: geoplot3(g,1:10,1:10,1:10,Color="r") はラインの色を変更します。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: geoplot3(g,1:10,1:10,1:10,"Color","r") はラインの色を変更します。

メモ

名前と値の引数を使用して、この関数で作成された Line オブジェクトのプロパティの値を指定します。ここには一部のプロパティのみを示します。完全な一覧については、Line Properties を参照してください。

高さの参照。次のいずれかの値として指定されます。

  • 'geoid' – 高さの値はジオイド (平均海面) を基準としています。

  • 'terrain' – 高さの値は地面を基準とします。

  • 'ellipsoid' – 高さの値は WGS84 参照楕円体を基準としています。

地形、ジオイド、楕円体の高さの詳細については、「正射投影高とジオイド高から楕円体高を求める」を参照してください。

ラインの色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

ライン スタイル。次のいずれかのオプションとして指定します。

ライン スタイル説明結果として得られるライン
'-'実線 (既定)

Sample of solid line

'none'ラインなしラインなし

マーカー シンボル。'none' または 'o' として指定されます。デフォルトでは、ラインにマーカーは表示されません。各データ ポイントまたは頂点に円マーカーを表示するには、'o' を指定します。

地球儀を移動しても、マーカーは傾いたり回転したりしません。

制限

  • ほとんどの Line オブジェクトとは異なり、geoplot3 を使用して作成されたラインは、その親を地理的地球儀以外のオブジェクトに変更することをサポートしていません。

バージョン履歴

R2020a で導入

すべて展開する

参考

関数

プロパティ


1 Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not imply endorsement by MathWorks®.