GEE data analysis title

Google Earth Engineの使い方【入門編】夜間光データ分析

前回の記事で紹介した、夜間光を用いた経済分析は、実際にGoogle Earth Engine (グーグル アース エンジン)を使って分析しました。

セカイキ

今日はAIやプログラミングなどのスキルアップを目指すうえで関心の高まるなデータ分析系の記事を書かせていただきます。 題し…

  • かかった時間は約2時間。
  • 費用は無料。

こういった衛星画像をもとにした分析はリモートセンシングと言われ、10年以上前から一部の人に使われている方法でした。

ここ最近、さまざまな衛星画像が無料で公開され始めたことにより、初心者でも簡単に宇宙から見た地球という視点で様々な分析をすることが可能になりました。

今回の記事では、そういった衛星画像を分析する上で、無料で使いやすいオンラインソフト「Google Earth Engine」について、実際に前記事の分析をした流れに沿ってご紹介します!

分析にはJavascriptでコードを書く必要がありますが、テンプレートを用いれば、プログラミング初心者でも挑戦できると思います!

英語のチュートリアルや説明はあるのですが、日本語の例があまりないので、この記事が参考になれば幸いです!

Ad

Google Earth Engineを用いたデータ分析のための下準備

Google Earth Engine に登録しましょう!

まずはGoogle Earth Engineのサイトにアクセスしましょう。

登録するために、右上のSign Up をクリックします。

Googleのメールアドレスとパスワードを求められるので、入力して進めましょう。

入力すると、しばらくたって下記のようなメールが届くと思います。

Earth Engine Code Editorをクリックしましょう。

Google Earth Engine で、コードエディターをクリックする画面。

Google Earth Engine のメイン画面がスタートします。

メイン画面には、4つの小画面で成り立ちます

GEEメイン画面。左上に①、上に②、右上に③と記載。

  1. この部分には、コードの例や保存したコード、アップロードしたファイルがあります。
  2. ここにJavascriptのコードを書きます。
  3. 文字で出る結果や出力されたデータはここに出ます。
  4. 地図に表示されるものは、ここに出ます。

Google Earth Engine で夜間光を用いた経済分析をしてみよう!!

まず、市区町村の境界線データをダウンロードしましょう!

全国市町村境界データのホームページの画像。ダウンロードする箇所をクリック。

まずは、日本の市区町村の境界をダウンロードして、Google Earth Engine にアップロードする必要があります。

そこで、最新の日本の市区町村の境界をesri Japanのサイトからダウンロードしましょう。

ダウンロードしたファイルはzip形式になっているので、解凍しましょう。

市区町村の境界線データのGoogle Earth Engine へのアップロードしましょう!

GEEの画面で、データのアップロードをクリック。

ダウンロード後は、ファイルをGoogle Earth Engine にアップロードしましょう。

①の箇所で、Assetsをクリックし、NEWをクリック、Table upload をクリックしましょう。

データをアップロードして、OKをクリックする画面。

ファイルをアップロードする画面になるので、先ほど解凍したファイルたちから、Readme.txtとjapan_ver81.sbxを除き、アップロードしましょう。

もし間違えてこれらを含めてアップロードすると下のようなエラーが出ると思います。

ゴミ箱マークを押してそのデータを消し、Okを押して進めましょう。

データがアップロードされたのを確認する画面。

すると、③の画面のTasksがオレンジ色に光ります。

クリックしてみると、アップロードが進んでいることが確認できます。

アップロードしたファイルをコードにする作業をしている画面。

アップロードが終了したら、①画面のAssetsの箇所にファイルが見つかると思います。

ファイルをクリックし、右側のボタンを押しましょう。

すると、②の画面にImport〜と出てきます。

Tableとなっている箇所を、お好みの名前に変えておきましょう。

これで分析に日本の市区町村の区域を使う準備はできました。

Google Earth Engine 上でコードを入力して、分析を始めよう!

②の続きの箇所にコードを書いていきます。

今回は2014年と2018年の夜間光にアクセスし、Google Driveに書き出すというコートです。1つずつ見ていきましょう。

まず、NOAAというアメリカの省庁のサイトにある夜間光の衛星画像にアクセスします。

2014年と2018年それぞれの期間でフィルター(filter)をかけて、その期間の中央値(median)をとります。

var dataset = ee.ImageCollection('NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFG').select('avg_rad');var v2014 = dataset.filter(ee.Filter.date('2014-01-01', '2014-12-31')).median();var v2018 = dataset.filter(ee.Filter.date('2018-01-01', '2018-12-31')).median();

次に、夜間光の最小値、最大値を指定します。

Map.addLayerを使い、2014年、2018年の夜間光のデータを④の地図上に載せてみましょう。

var nighttimeVis = {min: 0.0, max: 60.0};Map.addLayer(v2014.clip(jpn), nighttimeVis, "Nighttime_2014");Map.addLayer(v2018.clip(jpn), nighttimeVis, "Nighttime_2018");

データの中から、平均値(mean)、中央値(Median)、最大値(max)、最小値(min)、標準偏差(stdDev)を求めるように、Reducerを設定します(実際に分析に使ったのは平均値のみです)。

var reducer1 = ee.Reducer.mean();var reducers = reducer1.combine({reducer2: ee.Reducer.median(), sharedInputs: true})  .combine({reducer2: ee.Reducer.max(), sharedInputs: true})  .combine({reducer2: ee.Reducer.min(), sharedInputs: true})  .combine({reducer2: ee.Reducer.stdDev(), sharedInputs: true});

先ほど書いた平均値などのルールで、データを分析するように指定します。

function ntl(image) {var pas = image.reduceRegions({  collection: jpn,  reducer: reducers,  scale: 500,});return pas} 

データをエクスポートする際の設定を決めます。

Google Drive の中のGISというFolder で、[“KEN”,”SEIREI”,”SIKUCHOSON”,”CITY_ENG”,”JCODE”,”mean”]という6つの項目のみエクスポートするように指定します。

function export_table (table, description) {var em = Export.table.toDrive({ collection: ee.FeatureCollection(table), description: description, folder:'GIS', selectors:(["CITY_ENG","JCODE","mean"]),});return em}

設定は終わりましたので、最後ににデータをドライブ上に書き出しましょう。

// Exportvar nl_v2014 = export_table(ntl(v2014), 'NL_v2014jpn');var nl_v2018 = export_table(ntl(v2018), 'NL_v2018jpn');

データを書き出すために、Runというボタンをクリックする画面。

終わると、画面③のTasksに下のような画面が出てきます。

書き出しの設定をしている画面。

Runを押し、設定を確認して、再度Runを押しましょう。これで、保存が始まります。

今回の分析結果がエクセルに書き出された画面。

保存がされたファイルをみると、下のようなエクセルファイルが各年(2014年と2018年)で作られ、各市町村ごとにその年の平均的な夜間光が出てきます。

夜間光のデータ分析の方法まとめ!

前記事では、この夜間光の平均値が、2014年と2018年でどの程度変化していたかを比較し、経済の発展したと思われる地域・衰退した地域を抽出しました。

今回は以上です!

Google Earth Engine は日本ではあまりまだ有名ではありませんが、ビッグデータやAIの時代に、宇宙から見たデータが無料で使えるというのは可能性が無限大だと思います!

ぜひ関心のある方はやってみてください!

不明な点などお気軽にコメント、メッセージください。

記事はいかがでしたか?

読んでいただいた方に関心がありそうな広告が表示されます。

<スポンサーリンク>

GEE data analysis title
最新情報をチェックしよう!
Ad