Pemrograman mengambil citra satelit Landsat 8?

27

Saya belum dapat menemukan ini sendiri, tetapi apakah ada cara untuk secara terprogram mengakses Landsat 8 Satellite Images?

Saya tahu bahwa saya bisa pergi ke USGS EarthExplorer untuk mencari dan menelusuri pemandangan, dan bahkan mengunduhnya. Tetapi saya tidak ingin mengunduhnya ke komputer saya sendiri karena dua alasan, internet saya lambat dan laptop saya mengalami masalah pendinginan.

Jadi alih-alih saya pikir saya ingin mentransfer gambar langsung ke "cloud" -instance untuk pemrosesan data. Saya juga akan senang jika saya dapat mengunduh dan memproses gambar-gambar ini karena tersedia dari USGS.

jujur
sumber
Produk pemrosesan apa yang ingin Anda buat?
Willy
1
Anda mungkin tertarik dengan earthengine.google.org/#intro
Willy
Adakah kemajuan dalam hal ini?
Willy
@Willy Niat saya sebagian besar hanya bereksperimen, tetapi saya berencana untuk melihat apakah saya dapat membuat alat yang menggabungkan gambar dari agregat tetangga saya itu, membuat rangkaian waktu dan peringatan perubahan dan juga gambar komposit tanpa awan. Saya memang punya pengalaman dengan beberapa PaaS: es, tapi saya pikir mereka mungkin terlalu terbatas dan saya harus menggunakan IaaS seperti EC2. Jadi sampai saya berkeliling untuk mempelajari lebih lanjut tentang itu, proyek sudah mati di jalurnya. Saya akan memeriksa tautan Anda.
Frank
Menurut pendapat saya masalahnya adalah parameter "lakukan" di tautan, sekarang saya masih tidak tahu apa-apaan parameter ini karena setelah beberapa hari parameter "lakukan" lama akan mati dan setiap kali Anda menggunakan alat unduh situs web itu akan berubah. Saya ingin mengunduh Landsat 8 dari earthexplorer juga dan masih macet di sini.
Rng Rikimaru

Jawaban:

11

Saya melihat posting blog dari developeed untuk utilitas baris perintah mereka landsat-util.

Alat-alat listrik untuk Citra Satelit

The landsat-util dapat bercabang dari github dan dikompilasi dari sumber kecuali OS penawaran Anda dalam sebuah siap biner untuk pergi.

Blog menggambarkannya hanya sebagai:

utilitas baris perintah yang membuatnya mudah untuk mencari, mengunduh, dan memproses citra Landsat.

Anda dapat mencari berdasarkan tanggal, cakupan awan% dan hal-hal lain, segera unduh, atau proses setelah diunduh seperti pansharpen atau menjahit gambar bersama.

Anda dapat mempratinjau gambar sebelum mengunduh. Perintah pencarian menyediakan tautan ke thumbnail untuk setiap gambar.

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

Menggunakan flag --pansharpen akan membutuhkan waktu lebih lama untuk diproses tetapi akan menghasilkan gambar yang lebih jelas.

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

Anda juga dapat melakukan semua pemrosesan pada gambar yang sebelumnya Anda unduh.

landsat download LC81050682014217LGN00

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

Ini readme dengan info lebih lanjut.

SaultDon
sumber
11

Bagaimana dengan menjalankan instance EC2 atau rackspace dan menginstal aplikasi unduh massal EarthExplorer:

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

Anda bisa menekan layanan EarthExplorer dengan permintaan POST untuk mengirimkan pekerjaan secara terprogram:

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

Anda perlu memberikan standingRequestName, frekuensi, berlangganan_start, berlangganan_end, search_start, parameter search_end. Ini akan membantu Anda memulai, tetapi rasanya seperti pintu belakang dan aplikasi pengunduh massal yang dijalankan pada instance EC2 akan menjadi pilihan yang lebih baik dan lebih tidak memakan waktu.

bcollins
sumber
Setelah beberapa eksplorasi, saya mendukung saran ini. Tampaknya Anda dapat menggunakan URL EE jika Anda berhasil mengirim otentikasi dengan permintaan Anda, tetapi alternatif itu akan diretas.
chryss
Jawaban saya untuk Situs untuk mengunduh al USGS Topo Maps dalam jumlah besar dapat membantu dalam membangun permintaan POST (meskipun kita harus menunggu pemerintah AS untuk melanjutkan operasi untuk mengetahuinya).
matt wilkie
4

Saya bermaksud melakukan hal yang sama sehingga saya memulai contoh Amazon EC-2 dan menginstal Unduhan Massal di atasnya. Tapi sejauh yang saya tahu itu adalah aplikasi grafis dan tidak ada apa-apa di doc Tutorial Unduhan Massal memungkinkan Anda dapat menggunakannya dengan terminal.

Saya membaca di sini tentang kemungkinan menggunakan Curl tetapi mengembalikan akses 403 ditolak


Setelah menulis email ke USGS, jawaban resmi adalah bahwa Unduhan Massal adalah satu-satunya cara untuk unduhan masif.

Tapi Charlie Loyd Dari Mapbox menulis saya kemungkinan lain:

Google Storage juga mencerminkan sebagian besar arsip Landsat. Anda dapat menginstal "gsutil" mereka (gratis) dan kemudian mendaftar direktori ini, yang diindeks oleh sensor (misalnya, L8 adalah Landsat 8) dan jalur / baris: gsutil ls gs: // earthengine-public / landsat /

Saya harus menambahkan bahwa ketika menelusuri jalur dan baris ingat bahwa itu adalah 3 angka. Misalnya jika Anda memerlukan Path 210 Row 40, Anda harus menelusuri folder 210 dan kemudian 040.

Inclanfunk
sumber
Tentang menggunakan CURL, saya pikir Anda harus memberinya makan dengan beberapa cookie; Buka inspektur browser Anda untuk melihat cookie mana yang diatur.
Frank
Itulah ide @Jujur, tapi saya tidak bisa menemukan jalannya. Dengan kode berikut: Curl -v --cookie "cookieName = MyAuthCookie " " TheLinkTotheArchive " masih mengembalikan Galat 403.
Inclanfunk
3

Saya menulis skrip bash untuk melakukan ini. Catatan Anda dapat menyesuaikan lokasi url dan mouse dan klik tombol di segmen kode dengan perintah xdotool sedang digunakan. Ini kode sumbernya:

via: Everything Awesome YTC dalam daftar main bash

#!/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.
Scott S Hermann
sumber
2

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

Script ini, dengan beberapa penyesuaian (masalah lekukan dan beberapa komentar / variabel dalam bahasa Perancis) telah sangat membantu saya. Namun, itu hanya dapat mengunduh data yang sudah ada dalam arsip. Jadi untuk data yang belum diproses, Anda harus memesannya. Saya sedang mengerjakan mengotomatisasi itu sekarang, tetapi memulai dengan lambat (karena saya baru mulai 30 menit yang lalu). Akhirnya saya ingin data diunduh ke server cloud saya, tetapi untuk sekarang saya hanya mengujinya di desktop saya (Anda cukup menentukan direktori keluaran dan file-file tersebut secara otomatis diletakkan di sana).

Saya juga tertarik mengunduh data saat tersedia - khususnya data permukaan pantulan sebelum dibuang (saya diberitahu USGS memproses data mentah ke permukaan pantulan sementara sebelum membuangnya, meskipun beberapa disimpan dalam arsip ). Beri tahu kami jika Anda telah membuat kemajuan.

pengguna20408
sumber
0

Esta plataforma é simples! faça download lakukan KMl dan abra-o no google earth. Memanfaatkan semua jalur / baris (lugar central de possiveis imagens) semua jalur / baris untuk semua jalur dan baris.

Todas sebagai gambar para aquele aparecera lokal

Terjemahan Google:

Platform ini sederhana! unduh KML dan buka di google earth. Cari tempat dan temukan jalur / baris (tempat pusat gambar yang mungkin) letakkan jalur / baris yang Anda temukan untuk tempat itu dan letakkan di platform. Semua gambar untuk lokasi itu akan muncul

http://georef.vantis.pt

pengguna2342603
sumber
Selamat datang di GIS SE! Kami sedikit berbeda dari situs lain; ini bukan forum diskusi tetapi situs tanya jawab. Silakan periksa tur singkat kami untuk mempelajari tentang format Tanya Jawab kami yang terfokus. Silakan posting hanya dalam bahasa Inggris juga ...
PolyGeo
Hindari promosi diri yang terang-terangan. Komunitas cenderung memilih promosi diri terbuka dan menandainya sebagai spam. Posting jawaban yang baik dan relevan, dan jika beberapa (tetapi tidak semua) kebetulan tentang produk atau situs web Anda, tidak apa-apa. Namun, Anda harus mengungkapkan afiliasi Anda dalam jawaban Anda. . Dalam praktiknya ini berarti setiap jawaban yang merekomendasikan produk Anda sendiri harus mencakup sesuatu seperti " Pengungkapan: Saya adalah [posisi] dari [perusahaan] yang mengembangkan / mendistribusikan perangkat lunak ini".
PolyGeo
Harap atasi masalah (1) jawaban Anda harus seluruhnya dalam bahasa Inggris, (2) untuk tidak menyertakan rekomendasi produk Anda sendiri tanpa pengungkapan dan (3) untuk langsung menjawab pertanyaan yang diajukan karena ini tampaknya tidak menawarkan cara untuk "secara terprogram mengakses Landsat 8 Satellite Images".
PolyGeo