AWS에서 위성 이미지 Landsat8의 데이터를 대량으로 다운로드하는 방법
배경.
위성 영상과 심층 학습을 이용하여 호수의 엽록소 농도를 추측하는 연구.
최근 위성 영상에서 물체 검측까지의 알고리즘은 심층 학습을 사용한 것 같다
심층 학습은 어쨌든 대량의 데이터가 필요하다!이번에 사용된 위성 영상 데이터는 AWS에서 다운로드한 것이다.AWS가 제공한 Landsat8의 데이터는 L1 제품의 Geotiff 형식이다.Geotiff 형식이므로 위도 경도에서 픽셀 값(DN 값)을 추출할 수 있습니다!그 방법이 또 다른 기사위성 이미지에서 위도 경도를 지정하여 이 지점에서 픽셀 값을 추출하는 방법에 실렸다!
이번에는 우선 훈련용 데이터를 대량으로 다운로드하는 프로그램 설계를 자신(.)을 위해φ필기로 대량의 위성 영상 데이터를 원하는 사람에게도 이 기사를 쓴다!
AWS의 Landsat8 데이터 읽기 대상 URL
Landsat8의 데이터는 위↓와 같이 URL 앞에 몇 개의 파일이 실렸는데, 그것이 바로 어느 날 얻은 위성 이미지의 데이터 전부였다.(1~11 이미지 데이터, 메타 파일 및 BQA 파일 등)
자세한 말은 잠시 접어두지만, 자신이 원하는 곳의 위성 이미지는 Path와 Row가 검색할 수 있도록 지정합니다.
자세한 내용은 이쪽을 보세요.→ Accessing Landsat on AWS
먼저 원하는 위치와 날짜에 대한 데이터의 URL 목록을 작성하십시오.
이런 느낌.
이것은 URL입니다.csv로
이번 프로그래밍
download.pyimport os
import wget
#ダウンロード先のディレクトリPath作成
download_dir = 'D:/landsat8/'
#
extensions = ['_B1.TIF', '_B2.TIF', '_B3.TIF', '_B4.TIF', '_B5.TIF', '_B6.TIF', '_B7.TIF', '_B8.TIF',
'_B9.TIF', '_B10.TIF', '_B11.TIF', '_BQA.TIF', '_MTL.txt']
with open("D:/URL.csv") as URL:
#readlines で、URLを1行ずつリストに格納
URLs = URL.readlines()
for URL in URLs:
#for文で、1URLごとすべてのファイルを、ディレクトリをわけて格納
#(1URLごとに1ディレクトリ作成。その中にバンド1~11,BQA,metafileをダウンロード格納)
for i in extensions:
r = URL.split('/')
name = r[8]
html = URL.find("index.html")
new_dir = download_dir + name
if os.path.isdir(new_dir) == False:
os.mkdir(new_dir)
url = URL[0:html] +name+i
print(url)
wget.download(url=url, out=new_dir)
이렇게 하면 ↓처럼 모든 장면의 폴더가 제작되고 그 설정에 따라 위성 이미지 데이터가 다운로드되어 저장된다.
그나저나 이거 전부 다운로드하는 데 시간이 오래 걸려요.보통 컴퓨터는 3일 정도 걸리죠?연구용 서버를 사용했지만 하루가 걸렸죠?
이번 편리한 모듈과 방법
wget
wget은 리눅스를 비롯한 UNIX 시스템의 OS에서 대량으로 사용되는 HTTP, HTTPS, FTP, FTS 등 프로토콜로 인터넷상의 파일을 얻을 수 있는 명령을 사용하지만 파이톤에도 모듈이 있다!Linux의 wget 명령처럼 편리한 옵션은 없지만 충분히 사용할 수 있습니다.예컨대
Linux 명령이라면 URL에 몇 개의 파일이 있습니다. 지정한 확장자에만 속하는 파일을 다운로드하려면 간단하게 지정하고 wget으로 다운로드할 수 있습니다.그러면 그런 일을 할 수 없어서 번거로운 프로그래밍을 했죠👆그래서 그랬어.
readlines()
파일 내용을 읽을 때 사용하는 방법은read,readline과 비슷합니다.
링크에서 각기 다른 점을 확인하십시오.
find()
지정한 문자열의 위치를 얻는 방법입니다.
OS 모듈
os 모듈은 OS에 의존하는 다양한 기능을 활용하는 모듈이다.
주로 파일과 디렉터리 작업을 할 수 있으며 파일 목록과 path를 가져올 수도 있고 새로운 파일과 디렉터리를 만들 수도 있습니다
끝맺다
이상, 길어졌지만 이렇게 하면 AWS에서 위성 이미지 데이터를 대량으로 다운로드할 수 있다.
더 좋은 방법이 있으면 알려주세요^^/
Reference
이 문제에 관하여(AWS에서 위성 이미지 Landsat8의 데이터를 대량으로 다운로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/meinai929/items/a5ffe067a9405664ba9f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Landsat8의 데이터는 위↓와 같이 URL 앞에 몇 개의 파일이 실렸는데, 그것이 바로 어느 날 얻은 위성 이미지의 데이터 전부였다.(1~11 이미지 데이터, 메타 파일 및 BQA 파일 등)
자세한 말은 잠시 접어두지만, 자신이 원하는 곳의 위성 이미지는 Path와 Row가 검색할 수 있도록 지정합니다.
자세한 내용은 이쪽을 보세요.→ Accessing Landsat on AWS
먼저 원하는 위치와 날짜에 대한 데이터의 URL 목록을 작성하십시오.
이런 느낌.
이것은 URL입니다.csv로
이번 프로그래밍
download.pyimport os
import wget
#ダウンロード先のディレクトリPath作成
download_dir = 'D:/landsat8/'
#
extensions = ['_B1.TIF', '_B2.TIF', '_B3.TIF', '_B4.TIF', '_B5.TIF', '_B6.TIF', '_B7.TIF', '_B8.TIF',
'_B9.TIF', '_B10.TIF', '_B11.TIF', '_BQA.TIF', '_MTL.txt']
with open("D:/URL.csv") as URL:
#readlines で、URLを1行ずつリストに格納
URLs = URL.readlines()
for URL in URLs:
#for文で、1URLごとすべてのファイルを、ディレクトリをわけて格納
#(1URLごとに1ディレクトリ作成。その中にバンド1~11,BQA,metafileをダウンロード格納)
for i in extensions:
r = URL.split('/')
name = r[8]
html = URL.find("index.html")
new_dir = download_dir + name
if os.path.isdir(new_dir) == False:
os.mkdir(new_dir)
url = URL[0:html] +name+i
print(url)
wget.download(url=url, out=new_dir)
이렇게 하면 ↓처럼 모든 장면의 폴더가 제작되고 그 설정에 따라 위성 이미지 데이터가 다운로드되어 저장된다.
그나저나 이거 전부 다운로드하는 데 시간이 오래 걸려요.보통 컴퓨터는 3일 정도 걸리죠?연구용 서버를 사용했지만 하루가 걸렸죠?
이번 편리한 모듈과 방법
wget
wget은 리눅스를 비롯한 UNIX 시스템의 OS에서 대량으로 사용되는 HTTP, HTTPS, FTP, FTS 등 프로토콜로 인터넷상의 파일을 얻을 수 있는 명령을 사용하지만 파이톤에도 모듈이 있다!Linux의 wget 명령처럼 편리한 옵션은 없지만 충분히 사용할 수 있습니다.예컨대
Linux 명령이라면 URL에 몇 개의 파일이 있습니다. 지정한 확장자에만 속하는 파일을 다운로드하려면 간단하게 지정하고 wget으로 다운로드할 수 있습니다.그러면 그런 일을 할 수 없어서 번거로운 프로그래밍을 했죠👆그래서 그랬어.
readlines()
파일 내용을 읽을 때 사용하는 방법은read,readline과 비슷합니다.
링크에서 각기 다른 점을 확인하십시오.
find()
지정한 문자열의 위치를 얻는 방법입니다.
OS 모듈
os 모듈은 OS에 의존하는 다양한 기능을 활용하는 모듈이다.
주로 파일과 디렉터리 작업을 할 수 있으며 파일 목록과 path를 가져올 수도 있고 새로운 파일과 디렉터리를 만들 수도 있습니다
끝맺다
이상, 길어졌지만 이렇게 하면 AWS에서 위성 이미지 데이터를 대량으로 다운로드할 수 있다.
더 좋은 방법이 있으면 알려주세요^^/
Reference
이 문제에 관하여(AWS에서 위성 이미지 Landsat8의 데이터를 대량으로 다운로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/meinai929/items/a5ffe067a9405664ba9f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import os
import wget
#ダウンロード先のディレクトリPath作成
download_dir = 'D:/landsat8/'
#
extensions = ['_B1.TIF', '_B2.TIF', '_B3.TIF', '_B4.TIF', '_B5.TIF', '_B6.TIF', '_B7.TIF', '_B8.TIF',
'_B9.TIF', '_B10.TIF', '_B11.TIF', '_BQA.TIF', '_MTL.txt']
with open("D:/URL.csv") as URL:
#readlines で、URLを1行ずつリストに格納
URLs = URL.readlines()
for URL in URLs:
#for文で、1URLごとすべてのファイルを、ディレクトリをわけて格納
#(1URLごとに1ディレクトリ作成。その中にバンド1~11,BQA,metafileをダウンロード格納)
for i in extensions:
r = URL.split('/')
name = r[8]
html = URL.find("index.html")
new_dir = download_dir + name
if os.path.isdir(new_dir) == False:
os.mkdir(new_dir)
url = URL[0:html] +name+i
print(url)
wget.download(url=url, out=new_dir)
wget
wget은 리눅스를 비롯한 UNIX 시스템의 OS에서 대량으로 사용되는 HTTP, HTTPS, FTP, FTS 등 프로토콜로 인터넷상의 파일을 얻을 수 있는 명령을 사용하지만 파이톤에도 모듈이 있다!Linux의 wget 명령처럼 편리한 옵션은 없지만 충분히 사용할 수 있습니다.예컨대
Linux 명령이라면 URL에 몇 개의 파일이 있습니다. 지정한 확장자에만 속하는 파일을 다운로드하려면 간단하게 지정하고 wget으로 다운로드할 수 있습니다.그러면 그런 일을 할 수 없어서 번거로운 프로그래밍을 했죠👆그래서 그랬어.
readlines()
파일 내용을 읽을 때 사용하는 방법은read,readline과 비슷합니다.
링크에서 각기 다른 점을 확인하십시오.
find()
지정한 문자열의 위치를 얻는 방법입니다.
OS 모듈
os 모듈은 OS에 의존하는 다양한 기능을 활용하는 모듈이다.
주로 파일과 디렉터리 작업을 할 수 있으며 파일 목록과 path를 가져올 수도 있고 새로운 파일과 디렉터리를 만들 수도 있습니다
끝맺다
이상, 길어졌지만 이렇게 하면 AWS에서 위성 이미지 데이터를 대량으로 다운로드할 수 있다.
더 좋은 방법이 있으면 알려주세요^^/
Reference
이 문제에 관하여(AWS에서 위성 이미지 Landsat8의 데이터를 대량으로 다운로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/meinai929/items/a5ffe067a9405664ba9f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AWS에서 위성 이미지 Landsat8의 데이터를 대량으로 다운로드하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/meinai929/items/a5ffe067a9405664ba9f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)