メインコンテンツ

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

geoshow

地図の緯度と経度のデータを表示する

説明

geoshow(lat,lon) は、現在の axesm ベースのマップ (以前はマップ軸と呼ばれていました) に保存されている投影を使用して、緯度ベクトルlat と経度ベクトル lon を投影して表示します。現在 axesm ベースのマップが存在しない場合は、latlon は、一連の通常の軸上にデフォルトの Plate Carrée投影を使用して投影されます。

メモ

axesm ベースのマップにデータを表示するには、geoshow を呼び出す前に、axesmworldmap、または usamap 関数を使用してマップを作成します。

デフォルトでは、geoshowlatlon をラインとして表示します。オプションで、DisplayType 名前と値のペアの引数を使用して、ベクトル データをポイント、マルチポイント、またはポリゴンとして表示できます。

geoshow(S) は、S のジオメトリに従って、S に格納されているベクトル地理フィーチャをポイント、マルチポイント、ライン、マルチライン、ポリゴン、またはマルチポリゴンとして表示します。

オプションで、SymbolSpec 名前と値のペアの引数を使用して、シンボル化ルールを指定できます。

geoshow(lat,lon,Z) は、地理位置情報付きデータ グリッド Z を投影して表示します。この構文では、latlon は M 行 N 列の緯度経度配列です。Z はクラス double の M 行 N 列の配列です。オプションで、DisplayType 名前と値のペアの引数を使用して、データをサーフェス、メッシュ、テクスチャ マップ、または等高線として表示できます。

geoshow(Z,R) は、参照オブジェクト R を使用して、通常のデータ グリッド Z を投影して表示します。オプションで、DisplayType 名前と値のペアの引数を使用して、データをサーフェス、メッシュ、テクスチャ マップ、または等高線として表示できます。DisplayType'texturemap' の場合、geoshowZData の値を 0 に設定したサーフェスを構築します。

geoshow(lat,lon,I) および

geoshow(lat,lon,X,cmap) は、地理位置情報付き画像をゼロ標高のサーフェス上のテクスチャ マップとして投影して表示します。地理位置情報付き画像 I は、トゥルーカラー、グレースケール、またはバイナリ画像にすることができます。X は、カラーマップ cmap を持つインデックス付き画像です。地理位置情報が付与された画像の例としては、衛星画像から合成されたカラー合成画像や、元々は別の座標系を参照していた画像などが挙げられます。

geoshow(I,R) および

geoshow(X,cmap,R) は、参照オブジェクト R を通じて緯度経度に地理参照された画像を投影して表示します。画像は、標高ゼロのサーフェス上のテクスチャ マップとして表示されます。

geoshow(filename) は、ファイル形式の種類に応じて指定されたファイルからデータを投影して表示します。

geoshow(___,Name,Value) は、ディスプレイの種類を変更したり、MATLAB® グラフィックス プロパティを設定したりするためのパラメーターと対応する値を指定します。名前と値のペアを使用して以下を設定できます。

  • Name,Value 引数

  • MATLAB グラフィックスのライン、パッチ、および表面のプロパティ

  • 任意のMapping Toolbox™等高線特性

パラメーター名は省略可能で、大文字と小文字は区別されません。

geoshow(ax,___) は親軸を ax に設定します。

h = geoshow(___) は MATLAB グラフィックス オブジェクトへのハンドルを返します。

すべて折りたたむ

朝鮮半島の標高データと地理セル参照オブジェクトを読み込みます。worldmap を使用して朝鮮半島の地図を作成します。

load korea5c
worldmap(korea5c,korea5cR)

標高データをテクスチャ マップとして表示します。demcmap を使用して標高データに適したカラーマップを適用します。

geoshow(korea5c,korea5cR,'DisplayType','texturemap')
demcmap(korea5c)

Figure contains an axes object. The hidden axes object contains 13 objects of type patch, surface, line, text.

アフリカ、ヨーロッパ、アジアを含む世界の地域をジオコーディングします。出力された地理空間tableは、ポリゴンを使用して領域を表します。tableの Shape 変数を照会して、ポリゴンに関する情報を取得します。

land = readgeotable("landareas.shp");
GT = geocode("Africa and Eurasia",land);
GT.Shape
ans = 
  geopolyshape with properties:

              NumRegions: 2
                NumHoles: 22
                Geometry: "polygon"
    CoordinateSystemType: "geographic"
           GeographicCRS: [1×1 geocrs]

世界地図上にポリゴンを表示します。

worldmap([-45 80],[-25 195]);
geoshow(GT)

Figure contains an axes object. The hidden axes object contains 12 objects of type patch, line, text.

米国の州のポリゴンを含むシェープファイルを地理空間tableとしてインポートします。50 州すべてを表示するのに適した投影と制限を使用してマップを作成します。

states = readgeotable("usastatehi.shp");
figure
worldmap("na")

アラスカとハワイのポリゴンの色を赤に設定するシンボルの仕様を作成します。

symspec = makesymbolspec("Polygon", ...
   {'Name','Alaska','FaceColor','red'}, ...
   {'Name','Hawaii','FaceColor','red'});

すべての州のポリゴンを表示します。デフォルトの面の色を青に、デフォルトのエッジの色を黒に設定します。

geoshow(states,"SymbolSpec",symspec, ...
   "DefaultFaceColor","blue", ...
   "DefaultEdgeColor","black");

Figure contains an axes object. The hidden axes object contains 60 objects of type patch, line, text.

朝鮮半島の標高データと地理セル参照オブジェクトを読み込みます。標高データに null 値のバンドを挿入します。

load korea5c
korea5c(80:100,:) = NaN;

worldmap を使用して朝鮮半島の地図を作成します。次に、標高データを透明な null 値を持つサーフェスとして表示します。

worldmap(korea5c,korea5cR)
geoshow(korea5c,korea5cR,'DisplayType','surface')
demcmap(korea5c)

Figure contains an axes object. The hidden axes object contains 13 objects of type patch, surface, line, text.

EGM96 ジオイド モデルからジオイドの高さと地理的位置参照オブジェクトを取得します。次に、エケルト投影を使用してジオイドの高さをサーフェスとして表示します。'CData' 名前と値のペアをジオイドの高さデータに設定し、'ZData' 名前と値のペアをゼロのマトリックスに設定して、サーフェスが陸地マスクの下に表示されるようにします。framemgridm を使用してマップのフレームとグリッドを表示します。

[N,R] = egm96geoid;
axesm eckert4
Z = zeros(R.RasterSize);
geoshow(N,R,'DisplayType','surface','CData',N,'ZData',Z)
framem
gridm

カラーバーを作成し、テキストの説明を追加します。次に、すべての土地をマスクします。

cb = colorbar('southoutside');
cb.Label.String = 'EGM96 Geoid Height in Meters';
geoshow('landareas.shp','FaceColor','black')

Figure contains an axes object. The axes object contains 541 objects of type patch, surface, line.

EGM96 ジオイド モデルからジオイドの高さと地理的位置参照オブジェクトを取得します。次に、エケルト投影を使用してジオイドの高さをサーフェスとして表示します。

[N,R] = egm96geoid;
axesm eckert4
geoshow(N,R,'DisplayType','surface')

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

光とマテリアルを追加します。次に、マップを 3D サーフェスとして表示します。

light
material(0.6*[1 1 1])
axis normal
view(3)

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

月のアルベドデータと地理セル参照オブジェクトを読み込みます。

load moonalb20c

次に、データを表示します。これを行うには、マップを作成し、その投影を正投影として指定します。geoshow 関数を使用して、データをテクスチャ マップとして表示します。次に、カラーマップをグレースケールに変更し、軸線を削除します。

axesm ortho
geoshow(moonalb20c,moonalb20cR,'DisplayType','texturemap')
colormap gray
axis off

Figure contains an axes object. The hidden axes object contains an object of type surface.

入力引数

すべて折りたたむ

緯度または経度のデータ。数値ベクトルまたは MN 列の数値行列として指定されます。

  • latlon は、構文 geoshow(lat,lon) で使用される場合はベクトルです。

  • latlon は、geoshow(lat,lon,Z) 構文、geoshow(lat,lon,I) 構文、または geoshow(lat,lon,X,cmap) 構文で使用される場合、2 次元配列になります。latlon が行列の場合、それらは座標配列または地理座標内の地理位置配列を表し、ZI、または X と同じサイズである必要があります。I が RGB 画像の場合、latlon は画像の最初の 2 つの次元に一致する行列である必要があります。

latlon には、個々のラインまたはポリゴン部分を区切るための埋め込み NaN が含まれる場合があります。

次のいずれかとして指定される地理的特徴:

  • 地理空間 table。tableの Shape 変数には、geopointshapegeolineshape、または geopolyshape オブジェクトが含まれている必要があります。geoshow 関数は、複数の種類の図形オブジェクトを含む地理空間tableをサポートしていません。地理空間tableの詳細については、Create Geospatial Tables を参照してください。

  • geopoint ベクトル。

  • geoshape ベクトル。

  • Lat および Lon 座標フィールドを持つ地理構造配列 (geostruct)。

geoshow 関数は、座標が地理座標であると想定し、それをマップ座標に投影します。

mappointベクトル、mapshapeベクトル、または X および Y 座標フィールドを持つマップ構造配列 (mapstruct) を指定した場合、geoshow 関数は頂点を事前に投影されたマップ座標として表示し、警告を発します。mappointshapemaplineshape、または mapolyshape オブジェクトを含む地理空間tableを指定すると、geoshow 関数はエラーをスローします。このような場合は、代わりに mapshow 関数を使用してください。

データ グリッド。NaN 値を含む可能性のある MN 列の数値配列として指定されます。Z は、地理参照されたデータ グリッド、または地理参照 R に関連付けられた通常のデータ グリッドのいずれかです。

次のいずれかとして指定される地理的参照。ベクトルと行列の参照の詳細については、Georeferenced Raster Data を参照してください。

タイプ説明
地理ラスター参照オブジェクト

Z の下付き文字を地理座標に関連付ける GeographicCellsReference または GeographicPostingsReference 地理ラスター参照オブジェクト。RasterSize プロパティは、データ グリッドのサイズ size(Z) と一致している必要があります。

RGeographicPostingsReference オブジェクトである場合、DisplayType'image' および 'texturemap' の値は受け入れられません。

ベクトル

要素を持つ1行3列の数値ベクトル:

[cells/degree northern_latitude_limit western_longitude_limit]
行列

ラスター行と列のインデックスを次の式に従って地理座標に変換3 行 2 列の数値行列。

[lon lat] = [row col 1] * R

R は、データ グリッドの各列が子午線に沿い、各行が緯線に沿う (回転せず、傾斜しない) 関係を定義します。デフォルトでは、最近傍補間が使用されます。グリッド範囲外のポイント、または lat または lonNaN が含まれるポイントに対しては、NaN が返されます。すべての角度は度単位です。

トゥルーカラー、グレースケール、またはバイナリ イメージ。トゥルーカラー イメージの場合は M×N×3 の配列として指定され、グレースケールまたはバイナリ イメージの場合は M×N の配列として指定されます。lat および lonM×N の配列である必要があります。指定する場合、'DisplayType''image' に設定する必要があります。

cmap で定義されるカラーマップを持つインデックス付きイメージ。MN 列の配列として指定されます。latlonMN 列の配列である必要があります。指定する場合、'DisplayType''image' に設定する必要があります。

インデックス付きイメージ X のカラーマップ。c 行 3 列の数値行列として指定されます。カラーマップには c 色があり、それぞれが赤、緑、青のピクセル値で表されます。

ファイル名。文字列スカラーまたは文字ベクトルとして指定されます。geoshow は、データの形式に応じて DisplayTypeパラメーターを自動的に設定します。

形式DisplayType
シェープ ファイル'point''multipoint''line' または 'polygon'
GeoTIFF'image'
TIFF/JPEG/PNG(ワールドファイル付き) 'image'
ARC ASCII グリッド'surface' (オーバーライド可能)
SDTSラスター'surface' (オーバーライド可能)

データ型: char | string

親軸。軸オブジェクトとして指定されます。

名前と値の引数

すべて折りたたむ

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

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

例: 'DisplayType','point'

ベクトル データを表示するために使用されるシンボル化ルール。'SymbolSpec'makesymbolspec によって返される構造で構成されるコンマ区切りのペアとして指定されます。地理データ構造に格納されたベクトル データにのみ使用されます。SymbolSpec と 1 つ以上のグラフィックス プロパティの両方が指定されている場合、グラフィックス プロパティは symbolspec構造のすべての設定をオーバーライドします。

SymbolSpec構造内の Name,Value ペアのデフォルトのシンボル化ルールを変更するには、グラフィックス プロパティ名の前に単語 'Default' を付けます。

データのグラフィック表示のタイプ。'DisplayType' と次のいずれかの値で構成されるコンマ区切りのペアとして指定されます。

データ タイプ表示タイププロパティのタイプ
ベクトル'point'ライン マーカー
'multipoint'ライン マーカー
'line'ライン
'polygon'パッチ
イメージ'image'表面
グリッド'surface'表面
'mesh'表面
'texturemap'表面
'contour'等高線

DisplayType の有効な値は、マップ データの形式によって異なります。たとえば、マップ データが地理位置情報付き画像または地理参照画像である場合、DisplayType の有効な値は 'image' のみです。さまざまな表示タイプがさまざまな地理データクラス タイプをサポートします。

表示タイプサポートされているクラスタイプ
イメージlogicaluint8uint16、および double
表面single および double
テクスチャ マップすべての数値型とlogical

出力引数

すべて折りたたむ

親軸。MATLAB グラフィック オブジェクトへのハンドルとして返されます。ポリゴンの場合は、変更されたパッチ オブジェクトとして返されます。ジオストラクチャまたはシェープファイル名が入力された場合、geoshow は、ジオストラクチャまたはシェープファイル内のフィーチャごとに 1 つの子を持つ hggroup オブジェクトへのハンドルを返します。ただし、完全にトリミングされたフィーチャは除きます。ポリゴン ジオストラクチャまたはシェープファイルの場合、各子は変更されたパッチ オブジェクトです。それ以外の場合は、line オブジェクトです。

ヒント

  • shaperead を呼び出して緯度と経度の座標を含むファイルを読み取るときは、必ず shaperead 引数ペア 'UseGeoCoords',true を指定してください。この引数を含めない場合、shaperead は、座標フィールドに LonLat ではなく XY というラベルが付けられたマップ構造を作成します。このような場合、geoshow は geostruct が実際には投影された座標を含む mapstruct であると想定し、警告を発して、mapshow を呼び出して geostruct データを投影せずに表示します。

  • geoshow を既存のマップの上に描画したくない場合は、呼び出す前に新しい図またはサブプロットを作成してください。

  • geoshow を使用して axesm ベースのマップにベクトル データを表示する場合、その後 setm を使用して地図投影を変更しないでください。ただし、ラスター データの場合は、setm を使用して投影を変更できます。詳細については、Change Map Projections When Using geoshowを参照してください。

  • ポリゴンを表示する場合は、'EdgeColor''flat' または 'interp' に設定しないでください。この組み合わせは警告を引き起こす可能性があります。

  • axesm ベースのマップにデータを投影する場合、geoshowaxesm ベースのマップ内に格納されている投影を使用します。通常の軸に表示する場合、スケール係数 180/pi を持つデフォルトの Plate Carrée投影が構築され、度単位の座標の直接読み取りが可能になります。

  • geoshow 関数に 2 つのポイントを渡すと、関数は地図投影やポイント間の距離に関係なく、各ポイントの位置をマップ上に投影し、それらを結ぶ直線を表示します。2 点間の投影された測地線または等角線曲線を表示するには、まず track2 関数を使用して中間点を挿入します。

  • geoshow は通常 displaym の代わりに使用できます。ただし、特定のオブジェクトの表示に関しては制限があります。詳細については、updategeostruct のコメントを参照してください。

  • geoshow を使用してマップにラスター データを表示すると、東端または西端に近い列が表示されない場合があります。表示領域に比べてラスターが非常に粗い場合を除き、これが目立つことはほとんどありません。表示に追加の列を含めるには、次の操作を行うと便利です。

    • グリッドのサイズをより細かいメッシュに変更します。

    • セルの境界とマップの制限が揃っていることを確認します。

    • マップの制限を拡大します。

バージョン履歴

R2006a より前に導入

すべて展開する