相変わらずこの本をやっています。衛星画像を読み込んで山林の繁茂の状態、農産物の生育状態、海岸の神職の状態などを評価する作業などなど。
本に書いてあるプログラムを動かそうとしても、動きません。全部で第6章まであるのですが、ほぼ全滅状態。
でもこれは本のせいでは全くありません。この本の初版第1刷発行は2022年の12月31日で、まだ2か月半程度しかたっていません。でも出版までに、解説やプログラムとその説明を書いて、画像や絵を挿入して、校正してなどの作業を考えると、プログラムを書いたのはざっと1年前ぐらいなのではないでしょうか。
ちなみにこの本で衛星画像をダウンロードして扱うために必要なライブラリーは、このようにやたらと多いです。
import os
import numpy as np
import geopandas as gpd
import pandas as pd
import cartopy, pyproj, rtree, pygeos
import cv2
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import rasterio as rio
import folium
import glob
import shutil
from mpl_toolkits.axes_grid1 import make_axes_locatable
import fiona, shapely
from shapely.geometry import MultiPolygon, Polygon, box
from fiona.crs import from_epsg
import rasterio as rio
from rasterio import plot
from rasterio.plot import show
from rasterio.plot import plotting_extent
from rasterio.mask import mask
from osgeo import gdal
from PIL import Image
import requests
import json
from pystac_client import Client
from satsearch import Search
from io import BytesIO
import urllib
from skimage import io
import re
そうすると実際に読者が本を購入してプログラムを試すまでの間に、ライブラリーのバージョンが変わっているのはごく自然なこと。
でもこのために書かれているプログラムが動かなくなってしまいます。
なぜ動かないか、対処法は?など自分で検索しても、衛星画像をPythonで扱った記事は、日本語サイトはほとんどなく、英文サイトも数が限られていて、必要な情報が手に入りません。
でもちゃんとした本ならば、githubに最新のプログラムを載せてくれていますのでこれを参照して解決することができます。この本に関してはgithubのプログラムはちゃんと動いてくれます。
もしこの本に興味を持たれた方に、二つだけアドバイス。
1,Pythonのバージョンは3.8.*を使いましょう。3.9系を使うと適応するライブラリーのバージョンの関係でどうもうまくいかないことがあります。
2,写経するならばgithubに載っているものを使いましょう。