MacへのGDALインストール

今回は、MacへのGDALインストールについて記事にします。

はじめに

私は何度かGDALのインストールをしていますが、毎回悩まされていて、ほとんどスムーズに行ったことがありません。以前は、ソースからビルドした記憶もあります。

Macを使うようになってからは、GDAL本体はbrewでスムーズにインストールできるようになりました。

ただし、PythonのGDALは相変わらずの状態です。

今回は、以下の記事を参考にさせていただいて、GDAL、PythonのGDAL拡張モジュールをスムーズにできましたので記事にしました。

GDALをMacにインストールする(Qiitaの@mits003さんの記事)

検証の環境を以下に示します。

検証環境

  • PC:Mac mini(M1 ,2020)
  • OS:macOS Monterey バージョン12.0.1
  • Python:3.9.9

GDALインストール

GDALをインストールの流れは以下のようになります。

  • アプリケーションやライブラリとしてのGDAL(GDAL本体)をインストール
  • その後、PythonのGDAL拡張モジュールをインストール

GDAL本体

GDAL本体は、brewでインストールします。

% brew install gdal
% gdalinfo --version
GDAL 3.4.0, released 2021/11/04

既に旧バージョンを導入済みの方は、以下のようにupgradeすると最新版に更新されます。

% brew upgrade gdal
Running `brew update --preinstall`...
==> Auto-updated Homebrew!

〜中略〜

==> Upgrading 1 outdated package:
gdal 3.3.3_1 -> 3.4.0

Python拡張モジュール

Python拡張モジュールのインストールは以下のように行います。
なお、今回は仮想環境(python3 -m venv)を作成して検証しました。

% pip download GDAL
% tar -xpzf GDAL-3.4.0.tar.gz 
% ls
GDAL-3.4.0		GDAL-3.4.0.tar.gz
% cd GDAL-3.4.0
% ls
PKG-INFO	build		extensions	osgeo		setup.py
README.rst	dist		gdal-utils	setup.cfg	var
% python setup.py build_ext --gdal-config /opt/homebrew/Cellar/gdal/3.4.0/bin/gdal-config
% python setup.py build
% python setup.py install

拡張モジュールのバージョン確認は以下のコードを実行します。

from osgeo import gdal
print(gdal.VersionInfo())

実行結果は、以下となります。("3040000"は、3.4の意味だと解釈しています。。)

% python gdalcheck.py 
3040000

おまけ

GDALさえインストールできれば、インストール時に問題が起きがちなFionaもShapelyも素直にインストールできます。

以下は、Fionaです。

 % pip install shapely
Collecting shapely
  Downloading Shapely-1.8.0.tar.gz (278 kB)
     |████████████████████████████████| 278 kB 3.3 MB/s            
  Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for shapely, since package 'wheel' is not installed.
Installing collected packages: shapely
    Running setup.py install for shapely ... done
Successfully installed shapely-1.8.0

以下は、Shapelyです。

% pip install fiona
Collecting fiona
  Downloading Fiona-1.8.20.tar.gz (1.3 MB)
     |████████████████████████████████| 1.3 MB 3.1 MB/s            
  Preparing metadata (setup.py) ... done
Requirement already satisfied: attrs>=17 in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (21.4.0)
Requirement already satisfied: certifi in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (2021.10.8)
Requirement already satisfied: click>=4.0 in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (8.0.3)
Requirement already satisfied: cligj>=0.5 in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (0.7.2)
Requirement already satisfied: click-plugins>=1.0 in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (1.1.1)
Collecting six>=1.7
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting munch
  Downloading munch-2.5.0-py2.py3-none-any.whl (10 kB)
Requirement already satisfied: setuptools in /Users/takamotokeiji/pythonvenv/alos/lib/python3.9/site-packages (from fiona) (59.0.1)
Using legacy 'setup.py install' for fiona, since package 'wheel' is not installed.
Installing collected packages: six, munch, fiona
    Running setup.py install for fiona ... done
Successfully installed fiona-1.8.20 munch-2.5.0 six-1.16.0

まとめ

今回は、Qiitaの@mits003さんの記事を参考にさせていただき、MacへのGDALのインストールを検証しました。

以前は、インストールできなくて数日悩んだりしましたが、この方法であれば、10分あればインストールは完了します。

@mits003さん、ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

9 + 15 =