メインコンテンツ

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

readgeoraster

地理空間ラスター データファイルの読み取り

説明

[A,R] = readgeoraster(filename) は、 GeoTIFF 、Esri Binary Grid、GRIB、DTED などの形式のファイルから地理データまたは投影ラスター データを読み取って配列を作成します。出力引数 R には、配列の空間参照情報が含まれます。サポートされている形式の完全なリストについては、サポートされる形式 を参照してください。

[A,R] = readgeoraster(___,Name=Value) は、1 つ以上の名前と値の引数を使用してオプションを指定します。

[___,cmap] = readgeoraster(___)A のカラーマップも返します。

すべて折りたたむ

ボストンのGeoTIFFイメージを配列およびマップ セル参照オブジェクトとして読み取ります。配列のサイズは 2881 x 4481 x 3 で、画像の赤、緑、青のコンポーネントを指定します。関数 mapshow を使用してイメージを表示します。

[A,R] = readgeoraster("boston.tif");
mapshow(A,R)

この例で使用されているデータには、GeoEye が著作権を所有する資料が含まれており、すべての権利は留保されています。

ハワイのオアフ島の土地被覆分類を読み取り、表示します。

まず、土地被覆データを配列、マップ セル参照オブジェクト、およびカラーマップとして読み取ります。A の要素はカラーマップにインデックスを付けます。カラーマップの各行は、単一の色の赤、緑、青の成分を指定します。次に、土地被覆データを表示します。

[A,R,cmap] = readgeoraster("oahu_landcover.img");
mapshow(A,cmap,R)

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

この例で使用されているデータは、米国海洋大気庁 (NOAA) から提供されたものです。

コロラド州のサウス ボルダー ピーク周辺の標高データを読み取り、表示します。

標高データを配列および地理的な投稿参照オブジェクトとして読み取ります。データをサーフェスとして表示するには、geoshow 関数には double または single タイプのデータが必要です。この場合、出力タイプを「double"」に指定して精度を維持します。

[A,R] = readgeoraster("n39_w106_3arc_v2.dt1",OutputType="double");

データの緯度と経度の制限を指定してマップを作成します。次に、geoshow 関数を使用してデータをサーフェスとして表示します。demcmap 関数を使用して、標高データに適したカラーマップを適用します。

latlim = R.LatitudeLimits;
lonlim = R.LongitudeLimits;
usamap(latlim,lonlim)
geoshow(A,R,DisplayType="surface")
demcmap(A)

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

この例で使用されている標高データは、米国地質調査所から提供されたものです。

R2023b 以降

GRIB ファイルは多くの場合、複数のバンドを使用してデータを保存します。どのバンドを読み取るかわからない場合は、GRIB ファイルに保存されているメタデータを照会できます。

GRIB ファイルからデータ バンドを読み取って表示します。ファイルには複数年の海氷密接度 [1][2] が含まれており、ファイルの各バンドは異なる年に対応しています。

RasterInfo オブジェクトを作成して、GRIB ファイルに関する情報を取得します。RasterInfo オブジェクトの Metadata プロパティにアクセスしてメタデータを取得します。

info = georasterinfo("seaice.grib");
metadata = info.Metadata;

RasterInfo オブジェクトはtableを使用して GRIB メタデータを格納します。tableの各行はファイル内のデータのバンドに対応します。2016 年のデータが含まれるバンドを見つけます。

yrs = year(metadata.ReferenceTime);
band = find(yrs == 2016);

readgeoraster 関数を使用してバンドからデータを読み取ります。濃度をパーセンテージに変換します。

[A,R] = readgeoraster("seaice.grib",Bands=band);
A = A * 100;

データを axesm ベースのマップ上のサーフェスとして表示します。カラーマップを変更し、ラベル付きのカラーバーを追加します。

figure
worldmap(A,R)
mlabel off
plabel off
geoshow(A,R,DisplayType="surface")

colormap abyss
c = colorbar;
c.Label.String = "Sea ice concentration (%)";

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

[1] Hersbach, H.、B. Bell、P. Berrisford、G. Biavati、A. Horányi、J. Muñoz Sabater、J. Nicolas、他。「1940 年から現在までの ERA5 単一レベルの時間別データ」コペルニクス気候変動サービス(C3S)気候データストア(CDS)、2023年。2023年5月22日にアクセス。https://doi.org/10.24381/cds.adbb2d47

[2] 欧州委員会もECMWFも、コペルニクスの情報やそれに含まれるデータの使用については責任を負いません。

入力引数

すべて折りたたむ

読み取るファイルの名前。文字ベクトルまたは string スカラーとして指定します。filename の形式はファイルの場所によって異なります。

  • ファイルが現在のフォルダーまたは MATLAB® パス上のフォルダーにある場合は、"myFile.dem" などのファイルの名前を指定します。

  • ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合は、"C:\myfolder\myFile.tif""dataDir\myFile.dat" などの完全パス名または相対パス名を指定します。

サポートされているファイル形式の一覧については、サポートされる形式 を参照してください。

データ型: char | string

名前と値の引数

すべて折りたたむ

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

例: [A,R] = readgeoraster(filename,OutputType="double",Bands=1:2) は、A のデータ値と読み取るバンドを指定します。

A のデータ型。次のいずれかの値を含む文字ベクトルまたは文字列列スカラーとして指定されます: "native""single""double""int8" (R2024b 以降)"int16""int32""int64" (R2024b 以降)"uint8""uint16""uint32""uint64" (R2024b 以降)、または "logical"

OutputType の既定値は "native" です。ほとんどの形式では、"native" はファイルに埋め込まれたネイティブ データ型を使用して A を返します。GRIB ファイルの場合、"native"double データ型を使用して A を返します。

"native" 以外のデータ型を使用すると、精度が低下する可能性があります。

データ型: char | string

読み取るバンド。"all"、正の整数、または正の整数のベクトルとして指定します。たとえば、値 3 を指定すると、readgeoraster はファイル内の 3 番目のバンドを読み取ります。バンドは指定された順序で返されます。

Bands のデフォルトは "all" で、readgeoraster はファイル内のすべてのバンドを読み取ります。

R の座標系タイプ。次のいずれかの値として指定されます。

  • "auto" — ファイルの内容によって決定されるラスター参照オブジェクトとして R を返します。

  • "geographic"R を地理セルまたは投稿参照オブジェクトとして返します。

  • "planar" — マップ セルまたはポスティング参照オブジェクトとして R を返します。

データに投影情報が含まれていない場合は、座標系の種類を指定します。

R2025a 以降

数値または論理 1 (true) または 0 (false) として指定された欠損データを標準化します。

  • true — ファイルで欠損データ インジケータが指定され、関数が single または double データ型を使用して A を作成する場合、欠損データ インジケータに一致する値を NaN 値に置き換えます。欠損データ インジケーターの詳細については、RasterInfo オブジェクトの MissingDataIndicator プロパティを参照してください。

  • false — 欠損データインジケーターに一致する値を置き換えません。

R2025a より前: Asingle または double 型の場合、georasterinfo 関数と standardizeMissing 関数を使用して欠損データを置き換えることができます。

[A,R] = readgeoraster(filename,OutputType="double");
info = georasterinfo(filename);
m = info.MissingDataIndicator;
A = standardizeMissing(A,m);

出力引数

すべて折りたたむ

地理参照された画像またはデータ グリッド。M×N または M×N×P の数値配列として返されます。

ほとんどの形式では、A のデフォルトのデータ型は、filename に埋め込まれたネイティブ データ型と一致します。GRIB ファイルの場合、A のデフォルトのデータ型は double です。OutputType 名前値引数を使用してデータ型を指定します。

データのエンコード方法に関係なく、A の最初の行は最北のデータを表し、A の最後の行は最南のデータを表します。

A の空間参照。GeographicCellsReference オブジェクト、GeographicPostingsReference オブジェクト、MapCellsReference オブジェクト、または MapPostingsReference オブジェクトとして返されます。R の値は filename のデータに依存します。

  • filename のデータが地理座標系を参照している場合、RGeographicCellsReference オブジェクトまたは GeographicPostingsReference オブジェクトになります。

  • filename のデータが投影座標系を参照している場合、RMapCellsReference オブジェクトまたは MapPostingsReference オブジェクトになります。

ファイルに、データが投影データか地理データかを判断するのに十分な情報が含まれていない場合、RMapCellsReference または MapPostingsReference オブジェクトになります。ファイルに有効な空間参照情報が含まれていない場合、R は空になります。CoordinateSystemType 名前値引数を使用して、空間参照を "geographic" または "planar" として指定できます。

インデックス付き画像に関連付けられたカラーマップ。範囲[0,1] の値を持つ n 行 3 列の数値行列として返されます。cmap の各行は、カラーマップ内の単一の色の赤、緑、青のコンポーネントを指定する 3 要素の RGB トリプレットです。A がインデックス付きイメージでない限り、cmap の値は空になります。

詳細

すべて折りたたむ

ヒント

  • 一部の関数では、サーフェスを表示するための geoshow 関数など、single または double 型の入力引数が必要です。これらの関数で readgeoraster の出力を使用するには、OutputType 名前値引数を使用して、出力タイプを "single" または "double" として指定します。

  • ファイル形式に関係なく、readgeoraster によって返される配列には北から始まる列があり、参照オブジェクトの ColumnsStartFrom プロパティには "north" の値が設定されます。

バージョン履歴

R2020a で導入

すべて展開する