4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MATLABによる標高データ活用

Last updated at Posted at 2024-01-02

本記事について

アドベントカレンダーの内容をまとめたものになります。

また強い要望がありましたのでMATLAB EXPO 2024のライトニングトークまで温めるつもりだったアプリも掲載します。

Gitに掲載してますのでご参考ください。
DEM2GeoTIFF_Convert

はじめに(使用するデータ)

本件は国土地理院の数値標高モデルからDEMデータを取得し、それを1枚のGeoTiff画像に変換する物です。

EPSGコードなどが違うので他国のデータに応用する場合は注意が必要となります。

サンプルとして国土地理院のDEMデータを抜粋していますが規約に反する場合は消去します。 利用規約に基づきデータは入れておりません。あくまで画像のみとなっております。

概要と必要なToolbox

DEMデータをGeoTiffに変換する

参考:日本の標高データをMATLABで活用 - GeoTiff変換 -

ここではDEMデータ(3次メッシュ情報)を1枚ずつGeoTiff変換しています。

image_0.png

GeoTIFF_Convert.mlx

[~, pList] = matlab.codetools.requiredFilesAndProducts('GeoTIFF_Convert.mlx');
Tbox = string({pList.Name}');
Certain = cell2mat({pList.Certain}');

disp(Tbox(Certain))
    "MATLAB"
    "Mapping Toolbox"
    "Parallel Computing Toolbox"

個々のGeoTiffファイル群を1枚に結合する

参考:日本の標高データをMATLABで活用 - モザイク結合 -

3次メッシュを2次メッシュとして1枚のGeoTiffファイルに結合するものです。

ここでも他国のデータを使うときはEPSGコード等の調整が必要です。

image_1.png

GeoTIFF_Merge.mlx

[~, pList] = matlab.codetools.requiredFilesAndProducts('GeoTIFF_Merge.mlx');
Tbox = string({pList.Name}');
Certain = cell2mat({pList.Certain}');

disp(Tbox(Certain))
    "MATLAB"
    "Mapping Toolbox"

アプリ (NEW !)

上記2つを組み合わせてアプリ化したものです。

waitbarをつけているため並列計算しておらず挙動は遅いので要注意です。

またオプションで補間機能を追加しています。

川(橋含)等の標高が-9999mなので周囲の高さで線形補間をかけられるようにしました。

image_2.png

GeoTiff.mlapp

[~, pList] = matlab.codetools.requiredFilesAndProducts('GeoTiff.mlapp');
Tbox = string({pList.Name}');
Certain = cell2mat({pList.Certain}');

disp(Tbox(Certain))
    "MATLAB"
    "Mapping Toolbox"

そのほか

mdファイル作成は以下のコードを使っています。

 export("README.mlx","README.md",EmbedImages=false, FigureFormat='png', Run=true);

最後に

Mapping Toolbox日本語化してください…

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?