Rasterio完全ガイド: 地理空間データ処理のためのインストールから動作確認まで

Rasterio完全ガイド: 地理空間データ処理のためのインストールから動作確認まで データ分析

地理空間データの扱いにおいて、Pythonの世界では様々なツールが利用されています。
Rasterioは、その中でも注目を集めるライブラリの一つです。

この記事では、Rasterioに焦点を当て、そのインストール方法から基本的な動作確認までを詳しく解説します。
Rasterioを用いることで、地理空間データの読み込み、加工、解析が格段に容易になります。

本記事の内容

  • Rasterioとは?
  • Rasterioのインストール
  • Rasterioの動作確認

それでは、上記に沿って解説していきます。

Rasterioとは?

Rasterioは、Pythonライブラリです。
地理空間データを扱うために使います。

特に、ラスターデータに特化しています。
ラスターデータは、ピクセルで地理情報を表します。

各ピクセルには、色や温度などが割り当てられます。
例えば、衛星画像がこれに当たります。

Rasterioは、GDALを基にしています。
GDALは、地理空間データを扱うためのライブラリです。

多様なラスターフォーマットに対応しています。
そのため、様々なデータの読み書きが可能です。

Rasterioを使えば、データの読み込みや加工、解析が簡単になります。
Pythonの知識があれば、地理空間情報の扱いが容易になります。

地理空間分野の初心者でも、直感的なAPIを通じて基本操作が行えます。
これにより、プロジェクトに地理空間情報を組み込むことができます。

Rasterioのインストール

現時点(2024年2月)でのRasterio最新バージョンは、以下となります。

公式では、次のような記載があります。

Rasterio 1.3はPython 3.8+、Numpy 1.18+、GDAL 3.1+で動作する。

GDALが、そもそも何だと思う方もいるでしょう。
GDALについては、次の記事で説明しています。

GDALのインストールは、正直簡単とは言えません。
この時点で、Rasterioのインストールを諦める人がいるかもしれません。

特にWindowsの場合ですね。
でも、安心してください。

Windowsの場合でも、以下のコマンドだけでOKです。

pip install rasterio

これだけで必要なモノを自動的にインストール(設置)してくれます。
そのため、GDALを自分でインストールする必要がありません。

Rasterio 1.3.9の場合、全部で35個のdllが設置されます。

したがって、とりあえずRasterioを動かしたい場合はこれで十分です。
GDALの機能をフルに活かしたい場合は、高度なインストールを行うことになります。

そこまでGDALを活かすなら、Rasterioにこだわる必要もないのかもしれません。
必要になれば、高度なインストールにも挑戦してみたいと思います。

Rasterioの動作確認

まずは、ラスターデータの取得からです。

国土数値情報 | 土地利用細分メッシュ(ラスタ版)データ

上記ページにアクセスして、適当にエリアを選択。

選択したエリアのラスターデータをダウンロードできるようになります。

ダウンロードしたzipを解凍すると、次のファイルが確認できます。

このTIFファイルは、GeoTIFFと呼ばれるモノです。
そして、これはラスターデータでもあります。

Rasterioを使って、このファイルを読み込みんでみましょう。
そのコードは、以下。

import rasterio
import pprint

# GeoTIFFファイルのパス
file_path = 'L03-b-14_6441.tif'

# ファイルを開いてメタデータを取得
with rasterio.open(file_path) as src:
    # メタデータの表示
    pprint.pp(src.meta)

    print("=" * 50)

    # バンド1の統計情報を取得
    band1 = src.read(1)
    print(f'Band 1 minimum: {band1.min()}, maximum: {band1.max()}')

上記コードを実行した結果は、次のようになります。

{'driver': 'GTiff',
 'dtype': 'uint8',
 'nodata': None,
 'width': 800,
 'height': 800,
 'count': 1,
 'crs': CRS.from_wkt('GEOGCS["JGD2000",DATUM["Japanese_Geodetic_Datum_2000",SPHEROID["GRS 1980",6378137,298.257221999999,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6612"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4612"]]'),
 'transform': Affine(0.00125, 0.0, 141.0,
       0.0, -0.000833333333, 43.3333333)}
==================================================
Band 1 minimum: 0, maximum: 160

バンド1は、0から160の値を取ることがわかります。
それぞれの値は、以下を表しています。

この表は、TIFファイルと一緒に保存されているhtmlに記載されています。
全部で13パターンということですね。

これらのパターンが、TIFに含まれているということになります。

ラスターデータであるGeoTIFFについてのイメージは、掴めたでしょうか?
様々なTIFを自分で読み込んでみれば、よりイメージを掴めると思います。

タイトルとURLをコピーしました