Landsat 8衛星画像をプログラムで取得していますか?


27

私はこれを自分で見つけることができませんでしたが、プログラムでLandsat 8衛星画像にアクセスする方法はありますか?

私は私がに行くことができることを知っているUSGS EarthExplorer検索やシーンを閲覧するために、さらにはそれらをダウンロードしてください。しかし、2つの理由で、それらを自分のコンピューターにダウンロードしたくありません。インターネットが遅く、ラップトップに冷却の問題があります。

その代わりに、データ処理のためにイメージを「クラウド」インスタンスに直接転送したいと考えています。また、これらの画像がUSGSから入手可能になったときにダウンロードして処理できればいいと思います。


どのような加工製品を作りたいですか?
ウィリー


これに関する進展はありますか?
ウィリー

@Willy私の意図は主に実験にすぎませんでしたが、近所の集約から画像を集約し、時系列と変化のアラートを作成し、雲のない合成画像を作成するツールを作成できるかどうかを検討していました。私はいくつかのPaaS:esの経験がありますが、それらは制限が多すぎる可能性があり、EC2のようなIaaSを使用する必要があると考えています。そのため、私がそれについてさらに学ぶために回り込むまで、プロジェクトは軌道に乗っていません。リンクを確認します。
フランク

私の意見では、問題はリンクの「did」パラメータですが、数日後に古い「did」が死に、Webサイトのダウンロードツールを使用するたびにこのパラメータが***であることがわかりません変わります。Landsat 8もearthexplorerからダウンロードしたいのですが、まだここに残っています。
ベンリキマル

回答:


11

コマンドラインユーティリティlandsat-utilの開発シードからのブログ投稿を見ました。

衛星画像のパワーツール

LANDSAT-utilのは githubのからフォークとバイナリ準備であなたのOSが提供する、それが行くようにしない限り、ソースからコンパイルすることができます。

ブログでは、次のように単純に説明しています。

Landsat画像の検索、ダウンロード、処理を簡単にするコマンドラインユーティリティ。

日付、クラウドカバレッジ%などに基づいて検索したり、すぐにダウンロードしたり、パンシャープンのようにダウンロードした後に処理したり、画像をつなぎ合わせたりすることができます。

ダウンロードする前に画像をプレビューできます。検索コマンドは、各画像のサムネイルへのリンクを提供します。

landsat search --cloud 4 --start "August 1 2013" --end "August 25 2014" country 'Vatican'

--pansharpenフラグを使用すると、処理に時間がかかりますが、より鮮明な画像が生成されます。

landsat search --download --imageprocess --pansharpen --cloud 4 --start "august 11 2013" --end "august 13 2013" pr 191 031

以前にダウンロードした画像に対してすべての処理を実行することもできます。

landsat download LC81050682014217LGN00

landsat process --pansharpen /your/path/LC81050682014217LGN00.tar.bz

詳細はこちらのreadmeをご覧ください。


11

EC2またはラックスペースインスタンスを起動し、EarthExplorer一括ダウンロードアプリケーションをインストールする方法は次のとおりです。

http://earthexplorer.usgs.gov/bulk/

プログラムでジョブを送信するPOSTリクエストでEarthExplorerサービスにアクセスできます。

http://earthexplorer.usgs.gov/subscription/submit/

standingRequestName、frequency、subscription_start、subscription_end、search_start、search_endパラメーターを提供する必要があります。これで始めることができますが、裏口のように感じられ、EC2インスタンスで実行されているバルクダウンローダーアプリケーションは、より良い時間の少ないオプションです。


いくつかの調査の後、私はこの提案を支持しています。リクエストで認証を送信することができればEE URLを使用できるようですが、その代替手段はハックです。
クリス

SiteがUSGS Topoマップを一括ダウンロードするという私の答えは、POSTリクエストの作成に役立つ場合があります(ただし、米国政府が業務を再開するまで待つ必要があります)。
マットウィルキー

4

同じことをするつもりなので、Amazon EC-2インスタンスを起動し、一括ダウンロードをインストールします。しかし、私が知る限り、それはグラフィカルアプリケーションであり、ドキュメントの一括ダウンロードチュートリアルでは、ターミナルで使用できることを期待できません。

Curlを使用する可能性についてここで読みましたが、403アクセスが拒否されました


USGSにメールを書いた後、公式の答えは、一括ダウンロードが大量ダウンロードの唯一の方法であるということです。

しかし、MapboxのCharlie Loydは別の可能性を私に書いた:

Google Storageは、Landsatアーカイブの多くもミラーリングしています。「gsutil」(無料)をインストールしてから、センサー(L8はLandsat 8など)とパス/行でインデックス付けされたこのディレクトリを一覧表示できます。gsutills gs:// earthengine-public / landsat /

パスと行を参照するときは、3桁ベースであることを覚えておいてください。たとえば、パス210行40が必要な場合は、フォルダー210を参照してから040を参照する必要があります。


cURLの使用については、いくつかのCookieをフィードする必要があると思います。ブラウザのインス​​ペクタを開いて、設定されているCookieを確認します。
フランク14年

@Frankというアイデアが、私は道を見つけることができません。次のコードを使用すると、Curl -v --cookie "cookieName = MyAuthCookie " " TheLinkTotheArchive "でも403エラーが返されます。
インクランファンク14年

3

これを行うためにbashスクリプトを作成しました。xdotoolコマンドを使用して、コードセグメント内のURLおよびマウスの位置とボタンクリックをカスタマイズできることに注意してください。ソースコードは次のとおりです。

via:bashプレイリストのすべての素晴らしいYTC

#!/bin/bash

echo " "

sudo apt-get install xdotool -y
sleep 2

echo " "
echo "# NASA/NOAA/NHC Hurricane Satellite Imagery Bot [H.S.I.B]"
echo "# Coded by Scott Hermann "
echo "[ YouTube: https://www.youtube.com/user/postulatedstate/videos/ ]"
echo " "

# * * Instructions * *
# 1] Click on map to select area to monitor.
# 2] Set delay variable ( time between saves )
# The script will now refresh and save the images-
# -every X seconds, and save using the filenames
# filename-X.jpg; filename-X.jpg; etc..

export PS1="\e[0;30m[\u@\h \W]\$ \e[m "
# make black prompt - color code=[0;30]

chromsat_loop()
{
 chromium -new-tab https://weather.msfc.nasa.gov
 sleep 2

 notify-send "Your browser will now open the NASA website. Select the section of earth to monitor via Satallite by clicking on it, and then enter Y or N (caps) into the terminal, or press the [Begin] button on the GUI."
 echo " "
}


get_settings()
{
  echo -n "Enter storm name: "; read stormname
  echo -n "Season? [ Ex: 2017 ] "; read season
  echo -n "Month "; read month
  # echo -n "data"; <- remember ;
  sleep 2
  echo " "
  echo "Checking to see if a database for hurricane $stormname of the $season season exist in the month of $month"
  sleep 2
  echo " "
  # if dir $season = true then confirm
  if [ -d /root/Desktop/$season ]; then
     notify-send "The hurricane season exist in the database."
     echo "The hurricane season exist in the database."
     echo " "
  else
     echo "It doesn't appear that this season is in the database. I will create it for you."
     mkdir /root/Desktop/$season
  fi

  # if dir $season/$month = true then confirm

  if [ -d /root/Desktop/$season/$month ]; then
     notify-send "The month entered has data in the database."
     echo "The month entered has data in the database."
     echo " "
  else
     mkdir /root/Desktop/$season/$month
  fi

  # if dir $season/$month/$stormname = true then confirm

  if [ -d /root/Desktop/$season/$month/$stormname ]; then
     notify-send "This storm is in the database."
     echo "This storm is in the database."
  else
     echo "Adding the storm to the database."
     notify-send "Adding the storm to the database."
     echo " "
     sleep 1
     mkdir /root/Desktop/$season/$month/$stormname
  fi
  echo " "
  sleep 2

  echo -n "Enter data retrieval delay variable: ( 1200 = 20 minutes ) "; read delay

  echo " "
  sleep 2

  echo " "
  echo "1] Chromium"
  echo "2] Firefox"
  echo "3] Qupzilla"
  echo "4] Modori"
  echo " "
  echo -n "Which Web-Browser are you using? "; read browser


  if [ "$browser" = "1" ]; then

       echo "Initializing NASA Data Transfer..."
       chromsat_loop
  fi

  if [ "$browser" = "2" ]; then

       echo "$browser set to Firefox"
  fi


# End Of Function
}

get_settings

# Note: Calling functions in bash -> fun_ction

# Create 4 functions for the 4 browsers it will support..



ready_ornot()
{
  notify-send "In 45 seconds, the script will begin data retrieval.. Go ahead and select the portion of the storm on the map that you wish to monitor. Save the first image to the directory on your desktop. It's listed under the year, the month, and the storm. From there, the bot will save the images to that folder."
  echo "In 45 seconds, the script will begin data retrieval.. Go ahead and select the portion of the storm on the map that you wish to monitor. It's listed under the year, the month, and the storm. From there, the bot will save the images to that folder."

  newloop=0
  until [ "$newloop" = "45" ]
  do
     sleep 1
     echo "Initializing data retrieval process in 45 seconds. @ $newloop second(s)...."
     newloop=`expr $newloop + 1`
  done

  notify-send "Initializing data retrieval process.. "
  echo "Initializing data retrieval process.."
  echo " "

}

ready_ornot

begin_dataretr()
{
 sleep 2
 notify-send "@ Data Retrieval Function."
 # url opened in new tab waiting
 # variables=value; = NO space [x]-> var = 1<-(wrong)
 forever=1
 looper=1
 while [ "$forever" == "1" ];
 do
     # refresh chromium page
     sleep $delay && echo $delay # 60 for test; 1800=30 mins
     # Save images after refresh;
     # plug\/ looper \/ variable in filenames
     # file1.jpg file2.jpg file3.jpg etc.


     # <!--#!/bin/bash-> to be modified and completed * * * * * * * * * #!/bin/bash -!>


     # CD to folder 
     # /root/Desktop/season/month/stornname
     # ( that should make the save as file dialog box open in our folder )
     echo " " 
     echo "Done sleeping.."
     echo " "
     # xdotool getmouselocation --shell

     xdotool mousemove 765 438
     # mouse positioned to click on save file box
     # for loop through var to save file name as
     sleep 1
     xdotool click 1
     # text box clicked and waiting.
     sleep 1
     xdotool key F5
     sleep 7
     xdotool mousemove 953 229
     sleep 1
     xdotool click 1
     sleep 5
     xdotool click 3
     sleep 3
     xdotool key Down
     xdotool key Down
     sleep 2
     xdotool mousemove 983 261
     sleep 1
     xdotool click 1
     sleep 1
     # xdotool key Enter
     sleep 1   
     xdotool mousemove 1146 763
     sleep 1
     xdotool click 1
     notify-send "New data retrieval has been saved to database.."

     # <!--#!/bin/bash-> to be modified and completed * * * * * * * * * #!/bin/bash -!>

 done
}
begin_dataretr
# no () when calling functions.
#  - - - - - -  - only when def them.

2

https://github.com/olivierhagolle/LANDSAT-Download

いくつかの微調整(インデントの問題といくつかのコメント/変数がフランス語であった)を伴うこのスクリプトは、私にとって非常に役立ちました。ただし、既にアーカイブにあるデータのみをダウンロードできます。そのため、処理されていないデータについては、注文する必要があります。現在、自動化に取り組んでいますが、遅いスタートです(30分前に始めたばかりです)。最終的にはデータをクラウドサーバーにダウンロードしたいのですが、今のところはデスクトップでテストしています(出力ディレクトリを指定するだけで、ファイルは自動的にそこに置かれます)。

私も、データが利用可能になったらダウンロードすることに興味があります-具体的には、スローされる前の表面反射率データ(USGSは、一部のデータはアーカイブに格納されますが、スローする前に一時的に生データを表面反射率に処理します)。前進したかどうかをお知らせください。


0

Esta plataformaésimples!KMl e abra-o no google earthをダウンロードしてください。ペスキゼウムルガーエアカラオパス/ロウ(ルガーセントラルデポシシベスイメージ)

イメージとしてのTodas para aquele local aparecera

Google翻訳:

このプラットフォームはシンプルです!KMLをダウンロードして、Google Earthで開きます。場所を検索し、パス/行(可能な画像の中央の場所)を見つけて、その場所に見つかったパス/行をプラットフォームに配置します。その場所のすべての画像が表示されます

http://georef.vantis.pt


GIS SEへようこそ!他のサイトとは少し異なります。これはディスカッションフォーラムではなく、Q&Aサイトです。焦点を絞ったQ&A形式については、短いツアーをご覧ください。英語のみで投稿してください...
PolyGeo


(1)回答はすべて英語である必要がある、(2)開示せずに自社製品の推奨事項を含めない、(3)方法を提供していないように見えるので質問に直接答えるという問題に対処してください「プログラムでLandsat 8衛星画像にアクセスする」。
PolyGeo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.