本書籍は,Pythonによる衛星データ解析に興味がある初学者に向けた入門書となっています。学校の情報の授業等で利用する際の副教材になることを意識し,衛星データだけでなくデータサイエンスの基礎的な内容も含めました。学校で地球環境やご自身が住んでいる地域がどのように変化しているか調べたい方はもちろんのこと,衛星データを使って何かビジネスを始めたい方にも読んでいただきたいと思っています。従来のデータサイエンスの教材の場合には身近なデータを利用することが難しかった中で,衛星データであれば身近な地域のデータを利用して解析することができます。少しのプログラミング変更で解析対象地域を変えることができるようになっているので,関心のある地域の変化についてぜひ調べてみてください。
本書籍ではGoogle Colaboratoryを利用して学習を進めることを想定しています。Colabはインストールすることなしに、分析を進めることができますので、以下のブックマークレットから対象のノートブックを実行してください。
データは技術評論社のページからダウンロードしてください。
(準備中)ダウンロードはこちらから。
こちらのスプレッドシートが対応表となります。
11_ch6_classification.ipynbのs2folderに割り当てるパスの変更。
pointfile = '/content/stratified_points.gpkg' #任意のパス
s2folder = r'/content/s2_classification' #任意のパス
randomPoints = gpd.read_file(pointfile)
# 各点のピクセル値を読み取る
for root, folders, files in os.walk(s2folder):
for file in files:
f = os.path.join(root, file)
if os.path.isfile(f) and f.endswith('.tif'):
bandRaster = rxr.open_rasterio(f).sel(band=1)
randomPoints_stats = pd.DataFrame(point_query
(randomPoints,\
bandRaster.values,\
affine=bandRaster.rio.transform(),\
nodata=bandRaster.rio.nodata))
randomPoints_stats.columns=['{0}'.format(file.split('.')[0])]
randomPoints = randomPoints.join(randomPoints_stats)
intake-stac
を使ってのSentinel-2データが取得できない問題を修正。変更をかけたファイルは以下の通り。
- 01_ch3-1DataAccess.ipynb
- 05_ch4-2Forest.ipynb
- 06_ch4-3Road.ipynb
- 08_ch4-5Coast.ipynb
- 11_ch6_classification.ipynb
intake-stack
を用いたデータの取得方日王をpystic-client
へ変更。