Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Python - 공개 패키지를 이용한 위성 이미지 생성 (pystac_client, odc.stac)

아래와 같은 트윗이 있군요. ^^



쉽게 테스트하기 위해 Jupyer Notebook에서 3개의 패키지를 설치한 후,

!pip install pystac_client
!pip install matplotlib
!pip install odc.stac

이렇게 코딩하면 됩니다.

from pystac_client import Client
from odc.stac import load

client = Client.open("http://earth-search.aws.element84.com/v1")
collection = "sentinel-2-l2a"
tas_box = [146.5, -43.6, 146.7, -43.4]
search = client.search(collections=[collection], bbox=tas_box, datetime="2023-12")

data = load(search.items(), bbox=tas_box, groupby="solar_day", chunks={})
data[["red", "green", "blue"]].isel(time=2).to_array().plot.imshow(robust=True)

그 시점의 호출 부하에 따라 다르겠지만 제 경우에 8초 정도 걸려서야 결과가 나왔습니다.




실습을 위해 순천만 지역을 Google Earth로 방문한 후,

https://earth.google.com/web/@34.93009968,127.50141682,3.33634054a,3009.47610511d,35y,0.92573167h,5.8516359t,0r/data=OgMKATA

대충 위치를 잡았더니 위/경도 데이터가 이렇게 나옵니다.

[좌-하] 34°55'21"N 127°29'30"E
[우-상] 34°56'08"N 127°31'10"E

하지만 이 좌표를 이전의 파이썬 소스코드에 적용하면 안 됩니다. 왜냐하면, 저 구글 어스가 보여주는 좌표계는 DMS (degrees, minutes, seconds) 체계이고, pystac_client 호출 시 넘겨주는 좌표계는 DD (decimal degrees)이기 때문입니다. 따라서, 다음과 같은 페이지를 이용해, (또는 코드로),

GPS Coordinates
; https://www.gps-coordinates.net/

구글 어스의 DMS 값을 DD 값으로 변경해,

[좌-하] 127.49, 34.92
[우-상] 127.51, 34.93

다음과 같이 바꿔서 호출하면,

tas_box = [127.49, 34.92, 127.51, 34.93]

아래와 같은 실행 결과가 나옵니다. ^^

pystac_client_1.png

보는 바와 같이, 이런 유의 코드 실행은 멋있긴 하지만 정작 써먹으려고 하면 (속도도 무척 느려서) 현실성 있게 사용하기 위한 시나리오가 딱히 떠오르진 않습니다. (사업적 마인드가 없어서 그럴 수도 있지만. ^^;)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 1/8/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 181  182  183  184  185  186  187  [188]  189  190  191  192  193  194  195  ...
NoWriterDateCnt.TitleFile(s)
294정성태6/30/200619167.NET Framework: 72. XSDObjectGen.EXE 기능 개선
293정성태6/29/200620923Team Foundation Server: 10. TFS 버전 컨트롤(TFVC)에 참여시킨 프로젝트의 로컬 경로를 옮기는 방법
290정성태6/26/200618383Team Foundation Server: 9. HTTPS를 통한 Team Server 접근 - 두 번째 이야기 [1]
291정성태6/26/200619641    답변글 Team Foundation Server: 9.1. [선행 작업] HTTPS 를 통한 Team Server 접근 - 두번째 이야기 [1]
292정성태6/26/200619339    답변글 Team Foundation Server: 9.2. TF30177 오류 발생
307정성태8/3/200621138    답변글 Team Foundation Server: 9.3. Team Server 접근 이름을 바꾸는 방법 [1]파일 다운로드1
308정성태2/18/200720833        답변글 Team Foundation Server: 9.4. Team Server HTTPS 접근 완료. ^^ [1]
288정성태6/26/200635472오류 유형: 10. error MSB6006: "aspnet_merge.exe" exited with code 1
286정성태6/23/200623558웹: 4. 웹 사이트 식별자(Identifier) 값 변경
285정성태6/20/200623806오류 유형: 9. [TFS] Report 관련 서비스를 조회할 때 rsErrorImpersonatingUser 오류 메시지 발생 [1]
284정성태6/19/200621587VS.NET IDE: 40. FxCop - IDE 에서 제공해 주는 SuppressMessage 코드
283정성태1/19/200722566Team Foundation Server: 8. 소스 세이프에서 TFS SourceControl 로 마이그레이션 [2]
279정성태12/27/200628139개발 환경 구성: 3. VS.NET 원격 디버깅 [1]
280정성태6/12/200627384    답변글 개발 환경 구성: 3.1. VS.NET 2003 원격 디버깅 설정
281정성태8/11/200628869    답변글 개발 환경 구성: 3.2. VS.NET 2005 원격 디버깅 설정
315정성태8/11/200629513        답변글 개발 환경 구성: 3.3. VS.NET 2005 원격 디버깅 설정 - ASP.NET F5 디버깅
278정성태6/11/200626077오류 유형: 8. [Outlook] 0x8004011D 에러 - "Exchange over the Internet" 환경
276정성태6/7/200619426Team Foundation Server: 7. 외부 빌드 머신 구성
287정성태6/24/200617012    답변글 Team Foundation Server: 7.1. 외부 빌드 머신 구성 - 다른 블로그 자료
275정성태6/7/200624981디버깅 기술: 4. VC++ 8.0 원격 디버깅 구성 - Side-by-Side DLL 문제.
269정성태6/6/200622180Team Foundation Server: 6. HTTPS를 통한 Team Server 접근 [1]
270정성태6/5/200619134    답변글 Team Foundation Server: 6.1. HTTPS를 통한 Team Server 접근 [1]
273정성태6/6/200621933    답변글 Team Foundation Server: 6.2. 두번째 방법 - HTTPS 를 통한 Team Server 접근 [1]
267정성태6/4/200621400Team Foundation Server: 5. 인터넷으로 Team Server 접근 [2]
266정성태6/8/200617755오류 유형: 7. [설치] mpoai9.dll 관련 오류
265정성태6/1/200625443디버깅 기술: 3. 원격 컴퓨터 디버깅 - VPC 설정
... 181  182  183  184  185  186  187  [188]  189  190  191  192  193  194  195  ...