การเรียกค้นภาพดาวเทียม Landsat 8 โดยทางโปรแกรมหรือไม่


27

ฉันไม่สามารถค้นพบสิ่งนี้ได้ด้วยตัวเอง แต่มีวิธีเข้าถึงโปรแกรมภาพดาวเทียมของ Landsat 8 หรือไม่?

ฉันรู้ว่าฉันสามารถไปที่USGS EarthExplorerเพื่อค้นหาและเรียกดูฉากต่างๆและดาวน์โหลดได้ แต่ฉันไม่ต้องการดาวน์โหลดไปยังคอมพิวเตอร์ของฉันด้วยเหตุผลสองประการอินเทอร์เน็ตของฉันช้าและแล็ปท็อปของฉันมีปัญหาการระบายความร้อน

ดังนั้นฉันคิดว่าฉันต้องการถ่ายโอนภาพโดยตรงไปยัง "คลาวด์" - เนื้อหาสำหรับการประมวลผลข้อมูล ฉันก็คงจะดีถ้าฉันสามารถดาวน์โหลดและประมวลผลภาพเหล่านี้เมื่อมันพร้อมใช้งานจาก USGS


คุณต้องการทำผลิตภัณฑ์แปรรูปอะไร
Willy

1
คุณอาจสนใจในearthengine.google.org/#intro
Willy

มีความคืบหน้าเกี่ยวกับเรื่องนี้ไหม?
Willy

@Willy ความตั้งใจของฉันส่วนใหญ่เป็นเพียงการทดลอง แต่ฉันวางแผนที่จะดูว่าฉันสามารถสร้างเครื่องมือที่รวบรวมภาพจากการรวมตัวที่อยู่ใกล้เคียงของฉันหรือไม่ซึ่งทำให้อนุกรมเวลาและการแจ้งเตือนการเปลี่ยนแปลงรวมถึงภาพคอมโพสิตโดยไม่มีเมฆ ฉันมีประสบการณ์กับ PaaS: es แต่ฉันคิดว่าพวกเขาอาจ จำกัด เกินไปและฉันจะต้องใช้ IaaS เช่น EC2 ดังนั้นจนกว่าฉันจะได้รับรอบเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับโครงการนี้จะตายในแทร็ค ฉันจะตรวจสอบลิงก์ของคุณ
แฟรงค์

ในความเห็นของฉันปัญหาคือพารามิเตอร์ "ทำ" ในลิงค์ตอนนี้ฉันยังไม่รู้ว่าพารามิเตอร์นี้คืออะไรเพราะหลังจากนั้นไม่กี่วัน "เก่า" จะ "ตาย" และทุกครั้งที่คุณใช้เครื่องมือดาวน์โหลดเว็บไซต์ มันจะเปลี่ยน ฉันต้องการดาวน์โหลด Landsat 8 จาก earthexplorer ด้วยและยังติดอยู่ที่นี่
Bằng Rikimaru

คำตอบ:


11

ฉันเห็นโพสต์บล็อกจาก developeed สำหรับโปรแกรมอรรถประโยชน์อรรถประโยชน์บรรทัดคำสั่งของพวกเขา

เครื่องมือไฟฟ้าสำหรับภาพถ่ายดาวเทียม

Landsat-utilสามารถคดเคี้ยวจาก GitHub และเรียบเรียงจากแหล่งเว้นแต่ข้อเสนอระบบปฏิบัติการของคุณไว้ในไบนารีพร้อมที่จะไป

บล็อกอธิบายได้ง่าย ๆ ว่า:

ยูทิลิตีบรรทัดคำสั่งที่ทำให้ง่ายต่อการค้นหาดาวน์โหลดและประมวลผลภาพ 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 หรืออินสแตนซ์ของ rackspace และติดตั้งแอปพลิเคชันดาวน์โหลด EarthExplorer จำนวนมาก:

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

คุณสามารถเข้าถึงบริการ EarthExplorer ด้วยคำขอ POST เพื่อส่งงานโดยทางโปรแกรม:

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

คุณจะต้องระบุ standRequestName, ความถี่, membership_start, membership_end, search_start, search_end พารามิเตอร์ สิ่งนี้จะช่วยให้คุณเริ่มต้นได้ แต่รู้สึกเหมือนเป็นประตูหลังและแอปพลิเคชันดาวน์โหลดจำนวนมากที่ทำงานบนอินสแตนซ์ EC2 จะเป็นตัวเลือกที่ดีและใช้เวลาน้อยลง


หลังจากการสำรวจฉันกำลังทำตามข้อเสนอแนะนี้ ดูเหมือนว่าคุณสามารถใช้ EE URL หากคุณจัดการเพื่อส่งการตรวจสอบสิทธิ์ด้วยคำขอของคุณ แต่ทางเลือกนั้นอาจจะเป็นการแฮ็ก
chryss

คำตอบของฉันสำหรับเว็บไซต์เพื่อดาวน์โหลดอัล USGS Topo Maps เป็นกลุ่มอาจช่วยในการสร้างคำขอ POST (แม้ว่าเราจะต้องรอให้รัฐบาลสหรัฐฯดำเนินการค้นหาต่อไป)
matt wilkie

4

ฉันตั้งใจจะทำเช่นเดียวกันดังนั้นฉันจึงเริ่มต้นอินสแตนซ์ Amazon EC-2 และติดตั้งดาวน์โหลดจำนวนมาก แต่เท่าที่ฉันรู้ว่ามันเป็นแอปพลิเคชั่นแบบกราฟิกและไม่มีอะไรใน doc Bulk Tutorial Tutorial ที่ช่วยให้คุณสามารถใช้มันกับเครื่องเทอร์มินัลได้

ฉันอ่านที่นี่เกี่ยวกับความเป็นไปได้ของการใช้ Curl แต่กลับปฏิเสธการเข้าถึง 403


หลังจากเขียนอีเมลถึง USGS คำตอบอย่างเป็นทางการคือการดาวน์โหลดจำนวนมากเป็นวิธีเดียวสำหรับการดาวน์โหลดจำนวนมาก

แต่ Charlie Loyd จาก Mapbox เขียนความเป็นไปได้อื่นให้ฉัน:

Google Storage ยังสะท้อนถึงการจัดเก็บ Landsat เป็นส่วนใหญ่ คุณสามารถติดตั้ง“ gsutil” (ฟรี) แล้วแสดงรายการไดเรกทอรีนี้ซึ่งจัดทำดัชนีโดยเซ็นเซอร์ (เช่น L8 คือ Landsat 8) และพา ธ / แถว: gsutil ls gs: // earthengine-public / landsat /

ฉันต้องเพิ่มเมื่อเรียกดูเส้นทางและแถวโปรดจำไว้ว่ามันเป็นตัวเลข 3 ตัว ตัวอย่างเช่นถ้าคุณต้องการเส้นทาง 210 แถว 40 คุณต้องค้นหาโฟลเดอร์ 210 แล้วจึง 040


เกี่ยวกับการใช้ cURL ฉันคิดว่าคุณต้องป้อนด้วยคุกกี้บางตัว เปิดตัวตรวจสอบเบราว์เซอร์ของคุณเพื่อดูว่ามีการตั้งค่าคุกกี้ใด
แฟรงค์

นั่นคือความคิด @ Frank แต่ฉันไม่สามารถหาวิธี ด้วยรหัสต่อไปนี้: Curl -v --cookie "cookieName = MyAuthCookie " " TheLinkTotheArchive " มันยังคงส่งคืนข้อผิดพลาด 403
Inclanfunk

3

ฉันเขียนสคริปต์ทุบตีเพื่อทำสิ่งนี้ หมายเหตุคุณสามารถปรับแต่งที่ตั้ง url และเมาส์และคลิกปุ่มในส่วนของรหัสโดยใช้คำสั่ง xdotool นี่คือรหัสที่มา:

ผ่าน: ทุกอย่างยอดเยี่ยม YTC ในเพลย์ลิสต์ 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.

2

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

สคริปต์นี้มี tweaking (ปัญหาการเยื้องและข้อคิดเห็น / ตัวแปรบางอย่างเป็นภาษาฝรั่งเศส) มีประโยชน์อย่างมากสำหรับฉัน อย่างไรก็ตามสามารถดาวน์โหลดข้อมูลที่มีอยู่ในไฟล์เก็บถาวรได้เท่านั้น ดังนั้นสำหรับข้อมูลที่ไม่ได้รับการประมวลผลคุณต้องสั่งซื้อ ตอนนี้ฉันกำลังทำงานอัตโนมัติอยู่ แต่เริ่มช้าไปหน่อย (เพราะฉันเพิ่งเริ่ม 30 นาทีที่แล้ว) ในที่สุดฉันต้องการดาวน์โหลดข้อมูลไปยังเซิร์ฟเวอร์คลาวด์ของฉัน แต่ตอนนี้ฉันแค่ทดสอบบนเดสก์ท็อปของฉัน (คุณเพียงแค่ระบุไดเรกทอรีผลลัพธ์และไฟล์จะถูกวางโดยอัตโนมัติ)

ฉันสนใจที่จะดาวน์โหลดข้อมูลด้วยเช่นกัน - โดยเฉพาะข้อมูลการสะท้อนของพื้นผิวก่อนที่มันจะถูกโยนออกไป (ฉันบอก USGS ประมวลผลข้อมูลดิบเป็นการสะท้อนพื้นผิวชั่วคราวก่อนที่จะโยนทิ้งแม้ว่าบางคนจะถูกเก็บไว้ในที่เก็บ ) โปรดแจ้งให้เราทราบหากคุณทำคืบหน้า


0

Esta plataforma é simples! หน้าแรกดาวน์โหลด KMl e abra-o ไม่มี google earth Pesquise um lugar e achara o เส้นทาง / แถว (lugar central de possiveis imagens) ponha o path / row que achou para o lugar e ponha na plataforma.

สิ่งที่ต้องทำในขณะนี้คือการสร้าง aparecera ท้องถิ่น

แปล Google:

แพลตฟอร์มนี้เรียบง่าย! ดาวน์โหลด KML และเปิดใน Google Earth ค้นหาสถานที่และค้นหาเส้นทาง / แถว (ศูนย์กลางของภาพที่เป็นไปได้) วางเส้นทาง / แถวที่คุณพบสถานที่นั้นและวางไว้บนแพลตฟอร์ม รูปภาพทั้งหมดสำหรับตำแหน่งนั้นจะปรากฏขึ้น

http://georef.vantis.pt


ยินดีต้อนรับสู่ GIS SE! เราแตกต่างจากไซต์อื่นเล็กน้อย นี่ไม่ใช่กระดานสนทนา แต่เป็นเว็บไซต์ถาม - ตอบ โปรดตรวจสอบทัวร์ระยะสั้นของเราเพื่อเรียนรู้เกี่ยวกับรูปแบบคำถามและคำตอบที่เราเน้น กรุณาโพสต์เป็นภาษาอังกฤษเท่านั้น ...
PolyGeo


โปรดแก้ไขปัญหาของ (1) คำตอบของคุณจำเป็นต้องเป็นภาษาอังกฤษทั้งหมด (2) เพื่อไม่รวมคำแนะนำของผลิตภัณฑ์ของคุณเองโดยไม่เปิดเผยและ (3) เพื่อตอบคำถามที่ถามโดยตรงเนื่องจากสิ่งนี้ไม่ได้เสนอวิธีการ ถึง "เข้าถึงภาพดาวเทียม Landsat 8 โดยทางโปรแกรม"
PolyGeo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.