SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
기상위성 자료 처리를 위한
Python 기반의 Pytroll 활용하기
가이아쓰리디㈜ | 박진우 (swat018@gmail.com)
2017. 08. 31
Park, Jin woo
• Foss4g korea 2013, 스마트폰 기반의 TS 측량 지원시스템 개발
• Foss4g korea 2014, 무인항공기(UAV)를 이용한 모니터링을 위한 통신모듈 시스템 설계 및 개발
• Foss4g 2015 seoul, Development of Opensource-based Photogrammetric UAV System Using Smart Camera
• Foss4g korea 2016, Smart Camera UAV를 이용한 오픈소스 기반의 자동 촬영 및 UAV image 처리 시스템 개발
• Foss4g korea 2017, 기상위성 자료 처리를 위한 Python 기반의 Pytroll 활용하기
기상 위성
▣ GEO and LEO
기상 위성
▣ GEO (Geostationnary orbit : 35786km)
- COMS / MI
- Himawari-8 / AHI
- GK-2A / AMI
기상 위성
▣ LEO (Sunsynchronous orbit : 약 833km)
- S-NPP / VIIRS
- MetopA,B / IASI
- Aqua / AIRS
기상위성 자료처리
기상위성 자료 처리를 쉽게 할 수 없을까??
1. 많은 위성 이름과 센서
- COMS / MI
- Himawari-8 / AHI
- GK-2A / AMI
- S-NPP / VIIRS
- MetopA,B / IASI
- Aqua / AIRS
…
2. 정말 다양한 포맷들…
- RIT/LRIT
- HDF5 & NetCDF - NWCSAF
- HDF4 - MODIS L1B
- HDF5 - VIIRS (SDR, Compact, L1B)
- HDF5 - FY3
- AAPP
- NOAA GAC
- Metop PDF
- SAR
- NetCDF/CF
- GeoTIFF
- NinjoTIFF
- PNG, JPeG
…
3. 영상처리, 익숙치 않은 용어들
- RGB 합성
- GSICS
- 복사보정
- 기하보정
- VIS 채널
- IR 채널
- Calibration
- IOT …
4. 알고리즘을 만들어서 바로 볼 수 없을까?
- Fortran
- R
- IDL
- Python
기상위성 자료처리
GEO DN
GEO Tb [K]
GEO rad. [WN] LEO rad. [WN]
LEO Tb [K]
LEO rad. [WL]
Current GSICS Correction
GEO rad. [WL]
IASI, AIRS, Cris
Meteosat?
[mW m-2 sr-1(cm-1)-1]
Himawari, GO
ES-R?,
MODIS, VIIRS
A)
C)
Pytroll
• Pytroll은 파이썬 기반의 기상위성데이터를 읽고, 처리하고, 쓰는 작업 등의 전반적인 프로세싱을 지원.
• mpop, satpy 라이브러리를 이용하여 VIIRS data을 읽을 수 있다.
• Pyresample : 위성자료의 resample, reprojection을 지원.
• Pyspectral : Planck radiation, spectral bands, solar irradiance and reflectance 등의 처리를 지원.
Pytroll
• Pyresample *
• Mpop/Satpy *
• Mipp
• Pyorbital *
• Pycoast *
• Geotiepoints
• Trollimage
• Posttroll
• Trollcast
Pytroll packages
• Pytroll-schedule
• Python-bufr
• Pyspectral *
• Trollduction
• Python-db
• Trollshft
• ….
Mpop/Satpy
- High level processing for satellite data
- Indexing by name or wavelength
- Many built-in composites
- Easy to extend and customize
- Both GEO and LEO
Mpop/Satpy
>>> from mpop.satellites import GeostationaryFactory
>>> import datetime
>>> time_slot = datetime.datetime(2009, 10, 8, 14, 30)
>>> global_data = GeostationaryFactory.create_scene("meteosat", "09",
"seviri", time_slot)
>>> from mpop.satellites import PolarFactory
>>> import datetime
>>> time_slot = datetime.datetime(2010, 2, 24, 11, 29)
>>> global_data = PolarFactory.create_scene("noaa", "19", "avhrr", time_slot,
orbit="05204")
mpop
Mpop/Satpy
>>> global_data.load([0.6, 0.8, 10.8])
>>> global_data.image.overview().show()
mpop example
Mpop/Satpy
>>> global_data.load([0.6, 0.8, 10.8])
>>> global_data.image.overview().show()
mpop example
Mpop/Satpy
>>> from glob import glob
>>> from satpy.scene import Scene
# Load data by filenames
>>> files = glob(“/data/viirs_data/*.h5”)
>>> scn = Scene(reader="viirs_sdr", filenames=files)
# Load data by sensor
>>> scn = Scene(sensor="seviri", base_dir=“/data/HRIT/”)
Satpy
Mpop/Satpy
>>> scn.load(["overview"])
>>> scn.show(“overview”)
Satpy example
Mpop/Satpy
>>> scn.load(["overview"])
>>> rs_scn.show(“overview”)
Satpy example
Mpop/Satpy
Satpy example
# Automatically load composites and
their dependencies
>>> scn.load(["true_color"])
# Resample multi-band data to a uniform
grid
>>> rs_scn = scn.resample("euron1")
# Save RGB geotiff
>>> rs_scn.save_dataset(“true_color”)
Mpop/Satpy
Satellite data formats
HRIT/LRIT
HDF5 & NetCDF - NWCSAF
HDF4 - MODIS L1B
HDF5 - VIIRS (SDR, Compact, L1B)
HDF5 - FY3
AAPP
NOAA GAC
Metop PDF
SAR
…
Output data formats
NetCDF/CF
GeoTIFF
NinjoTIFF
PNG, Jpeg
Pycoast
Adding shapes to images
• Adding coastlines
>>> cw = ContourWriterAGG('/home/esn/data/gshhs')
>>> cw.add_coastlines(img, (proj4_string, area_extent), resolution='l',
width=0.5)
• Adding rivers, borders
>>> cw.add_rivers(...)
>>> cw.add_borders(...)
• Adding graticules
>>> cw.add_grid(...)
Pycoast
Pyorbital
computing satellite orbital parameters and reading TLE’s
>>> from pyorbital.orbital import Orbital
>>> from datetime import datetime
>>> orb = Orbital("noaa 18")
>>> now = datetime.utcnow()
# Get normalized position of the satellite:
>>> orb.get_position(now)
([0.57529384846822862, 0.77384005228105424, 0.59301408257897559],
[0.031846489698768146, 0.021287993461926374, -0.05854106186659274])
# Get longitude, latitude and altitude of the satellite:
>>> orb.get_lonlatalt(now)
(-1.1625895579622014, 0.55402132517640568, 847.89381184656702)
Pyorbital
Uses SGP4 algorithm
(SGP4 algorithm: 궤도결정 알고리즘을 해석적 모델인 SGP4 모델)
Pyorbital
Use of sun zenith angles
Pyspectral
Because satellite remote sensing involves Planck radiation, spectral bands,
solar irradiance and reflectanc
- Reads sensor relative spectral responses (RSR)
- Reads solar irradiance spectra
Pyspectral
Triggered by the need to derive 3.x reflectances:
E.g. daytime microphysical RGBs
Pyspectral
>>> from pyspectral.rsr_read import RelativeSpectralResponse
>>> from pyspectral.solar import SolarIrradianceSpectrum
>>> from pyspectral.solar import TOTAL_IRRADIANCE_SPECTRUM_2000ASTM
>>> modis = RelativeSpectralResponse('eos', '2', 'modis')
>>> modis.load(channel='20', scale=0.001)
>>> solar_irr =
SolarIrradianceSpectrum(TOTAL_IRRADIANCE_SPECTRUM_2000ASTM,
dlambda=0.005)
>>> sflux = solar_irr.inband_solarflux(modis.rsr)
>>> print("Solar flux over Band: ", sflux)
('Solar flux over Band: ', 2.002927764514423)
example
Pyspectral
>>> from pyspectral.nir_reflectance import Calculator
>>> sunz = 80.
>>> tb3 = 290.0
>>> tb4 = 282.0
>>> refl37 = Calculator(modis.rsr, solar_flux=sflux)
>>> print refl37.reflectance_from_tbs(sunz, tb3, tb4)
0.251177702956
example
Pyspectral
Use MPOP to load SEVIRI data
Use Pyorbital to get sun zenith angles at SEVIRI pixels
 code
>>> r39 = refl39.reflectance_from_tbs(sunz, ch39.data, ch11.data,
lookuptable='/tmp/seviri_37_tb2rad_lut.npz')
MPOP, Pyorbital and Pyspectral
VIIRS의 영상처리 사례
- Loading
- Making RGB’s
- Map projection
VIIRS의 영상처리 사례
1. Loading Data (mpop)
>>> from mpop.satellites import PolarFactory
>>> from datetime import datetime
>>> time_slot = datetime(2013, 6, 25, 11, 15)
>>> orbit = "08599"
>>> global_data = PolarFactory.create_scene("Suomi-NPP", "", "viirs", time_slot, orbit)
>>> global_data.load([1.38])
>>> print global_data
-------> print(global_data)
'M01: (0.402,0.412,0.422)μm, resolution 742m, not loaded'
'M02: (0.436,0.445,0.454)μm, resolution 742m, not loaded'
'M03: (0.478,0.488,0.498)μm, resolution 742m, not loaded'
'M04: (0.545,0.555,0.565)μm, resolution 742m, not loaded'
'M05: (0.662,0.672,0.682)μm, resolution 742m, not loaded'
'M06: (0.739,0.746,0.754)μm, resolution 742m, not loaded'
'M07: (0.846,0.865,0.885)μm, resolution 742m, not loaded'
'M08: (1.230,1.240,1.250)μm, resolution 742m, not loaded'
'M09: (1.371,1.378,1.386)μm, shape (768, 3200), resolution 742m'
'M10: (1.580,1.610,1.640)μm, resolution 742m, not loaded'
'M11: (2.225,2.250,2.275)μm, resolution 742m, not loaded'
'M12: (3.610,3.700,3.790)μm, resolution 742m, not loaded'
'M13: (3.973,4.050,4.128)μm, resolution 742m, not loaded'
'M14: (8.400,8.550,8.700)μm, resolution 742m, not loaded'
'M15: (10.263,10.763,11.263)μm, resolution 742m, not loaded'
'M16: (11.538,12.013,12.489)μm, resolution 742m, not loaded'
'I01: (0.600,0.640,0.680)μm, resolution 371m, not loaded'
'I02: (0.845,0.865,0.884)μm, resolution 371m, not loaded'
'I03: (1.580,1.610,1.640)μm, resolution 371m, not loaded'
'I04: (3.580,3.740,3.900)μm, resolution 371m, not loaded'
'I05: (10.500,11.450,12.300)μm, resolution 371m, not loaded'
'DNB: (0.500,0.700,0.900)μm, resolution 742m, not loaded'
VIIRS의 영상처리 사례
>>> img = global_data.image.channel_image(1.38)
>>> img.enhance(stretch='histogram')
>>> img.show()
VIIRS의 영상처리 사례
2. Making RGB’s (mpop)
>>> global_data.load(global_data.image.truecolor.prerequisites)
>>> img = global_data.image.truecolor()
>>> img.save("./viirs_truecolor.png")
VIIRS의 영상처리 사례
3. Map projection
>>> global_data.load(global_data.image.truecolor.prerequisites)
>>> img = global_data.image.truecolor()
>>> img.save("./viirs_truecolor.png")
- Use Pycoast
>>> from PIL import Image
>>> from pycoast import ContourWriter
>>> from mpop.projector import get_area_def
>>> cw = ContourWriter('/local_disk/data/shapes')
>>> img = Image.open('./viirs_truecolor_proj.png')
>>> area_def = get_area_def("scan500m")
>>> cw.add_coastlines(img, area_def, resolution='i', level=3)
>>> img.save('./viirs_truecolor_proj_with_overlay.png')
VIIRS의 영상처리 사례
3. Map projection
Channel arithmetics
>>> ndvi = (local_data["2"] - local_data["1"]) / (local_data["2"] + local_data["1"])
>>> ndvi.show()
Pytroll
- 현재 지원하고 있는 기상 위성
•Meteosat series (tested with 7, 8, 9, 10)
•GOES series, in HRIT/LRIT format (tested with 11, 12, 13, 15)
•MTSAT series, in HRIT/LRIT format (tested with 1R, 2)
•Himawari 8, in HRIT/LRIT format
•Himawari 8, standard format (satpy only)
•Electro L, in HRIT/LRIT format (tested with N1)
•NOAA series, in AAPP, GAC and LAC format (tested with 15, 16, 17,
18, 19)
•Metop-A/B, in EPS 1a and 1b format
•Aqua and Terra, in hdf-eos format
•Suomi NPP, in SDR hdf5 format
•TerraSAR-X
•Radarsat-2 SAR
•COSMO-SkyMed SAR
•Sentinel-1 SAR
•Sentinel-2 MSI
•FY-3 viir
THANK YOU
swat018@gmail.com

Mais conteúdo relacionado

Mais procurados

TEMA 4 Metode pengukuran setiap JKG.docx
TEMA 4 Metode pengukuran setiap JKG.docxTEMA 4 Metode pengukuran setiap JKG.docx
TEMA 4 Metode pengukuran setiap JKG.docx
DelvinaAudina
 
Bab vi rencana anggaran biaya pekerjaan persiapan
Bab vi rencana anggaran biaya pekerjaan persiapanBab vi rencana anggaran biaya pekerjaan persiapan
Bab vi rencana anggaran biaya pekerjaan persiapan
RizkyRBatubara
 

Mais procurados (14)

แนวข้อสอบ ระเบียบกระทรวงมหาดไทย ว่าด้วยข้อบังคับการประชุมสภาท้องถิ่น พ.ศ. 2547
แนวข้อสอบ ระเบียบกระทรวงมหาดไทย ว่าด้วยข้อบังคับการประชุมสภาท้องถิ่น พ.ศ. 2547แนวข้อสอบ ระเบียบกระทรวงมหาดไทย ว่าด้วยข้อบังคับการประชุมสภาท้องถิ่น พ.ศ. 2547
แนวข้อสอบ ระเบียบกระทรวงมหาดไทย ว่าด้วยข้อบังคับการประชุมสภาท้องถิ่น พ.ศ. 2547
 
Pemodelan 3 d photo modeler scanner
Pemodelan 3 d   photo modeler scannerPemodelan 3 d   photo modeler scanner
Pemodelan 3 d photo modeler scanner
 
แนวข้อสอบองค์กรปกครองส่วนท้องถิ่นที่เคยออก ชุดที่ 3
แนวข้อสอบองค์กรปกครองส่วนท้องถิ่นที่เคยออก ชุดที่ 3แนวข้อสอบองค์กรปกครองส่วนท้องถิ่นที่เคยออก ชุดที่ 3
แนวข้อสอบองค์กรปกครองส่วนท้องถิ่นที่เคยออก ชุดที่ 3
 
TEMA 4 Metode pengukuran setiap JKG.docx
TEMA 4 Metode pengukuran setiap JKG.docxTEMA 4 Metode pengukuran setiap JKG.docx
TEMA 4 Metode pengukuran setiap JKG.docx
 
Bab vi rencana anggaran biaya pekerjaan persiapan
Bab vi rencana anggaran biaya pekerjaan persiapanBab vi rencana anggaran biaya pekerjaan persiapan
Bab vi rencana anggaran biaya pekerjaan persiapan
 
แนวข้อสอบพระราชบัญญัติระเบียบข้าราชการพลเรือน พ.ศ.2551 (ชุดที่ 1)
แนวข้อสอบพระราชบัญญัติระเบียบข้าราชการพลเรือน พ.ศ.2551 (ชุดที่ 1)แนวข้อสอบพระราชบัญญัติระเบียบข้าราชการพลเรือน พ.ศ.2551 (ชุดที่ 1)
แนวข้อสอบพระราชบัญญัติระเบียบข้าราชการพลเรือน พ.ศ.2551 (ชุดที่ 1)
 
แนวข้อสอบพระราชบัญญัติระเบียบบริหารงานบุคคลส่วนท้องถิ่น พ.ศ. 2542
แนวข้อสอบพระราชบัญญัติระเบียบบริหารงานบุคคลส่วนท้องถิ่น พ.ศ. 2542แนวข้อสอบพระราชบัญญัติระเบียบบริหารงานบุคคลส่วนท้องถิ่น พ.ศ. 2542
แนวข้อสอบพระราชบัญญัติระเบียบบริหารงานบุคคลส่วนท้องถิ่น พ.ศ. 2542
 
Analisa harga satuan
Analisa harga satuanAnalisa harga satuan
Analisa harga satuan
 
survey toponimi daerah jurang belimbing
survey toponimi daerah jurang belimbingsurvey toponimi daerah jurang belimbing
survey toponimi daerah jurang belimbing
 
Tata Cara Konstruksi Sistem Drainase Perkotaan - Bagian 1
Tata Cara Konstruksi Sistem Drainase Perkotaan - Bagian 1Tata Cara Konstruksi Sistem Drainase Perkotaan - Bagian 1
Tata Cara Konstruksi Sistem Drainase Perkotaan - Bagian 1
 
แนวข้อสอบนักทรัพยากรบุคคล สอบท้องถิ่น ปี 2560 (เล่มที่ 10)
แนวข้อสอบนักทรัพยากรบุคคล สอบท้องถิ่น ปี 2560 (เล่มที่ 10)แนวข้อสอบนักทรัพยากรบุคคล สอบท้องถิ่น ปี 2560 (เล่มที่ 10)
แนวข้อสอบนักทรัพยากรบุคคล สอบท้องถิ่น ปี 2560 (เล่มที่ 10)
 
strategi pengawasan tungsura.pptx
strategi pengawasan tungsura.pptxstrategi pengawasan tungsura.pptx
strategi pengawasan tungsura.pptx
 
Materi Bimtek KPPS Pemilu 2019
Materi Bimtek KPPS Pemilu 2019Materi Bimtek KPPS Pemilu 2019
Materi Bimtek KPPS Pemilu 2019
 
Kesalahan Bias Ionosfer dan Troposfer
Kesalahan Bias Ionosfer dan TroposferKesalahan Bias Ionosfer dan Troposfer
Kesalahan Bias Ionosfer dan Troposfer
 

Semelhante a 기상위성 자료처리를 위한 Python 기반의 Pytroll 활용하기

Space Situational Awareness Forum - GERMAN AEROSPACE CENTRE Presentation
Space Situational Awareness Forum - GERMAN AEROSPACE CENTRE PresentationSpace Situational Awareness Forum - GERMAN AEROSPACE CENTRE Presentation
Space Situational Awareness Forum - GERMAN AEROSPACE CENTRE Presentation
Space_Situational_Awareness
 
Thailand Earth Observation System sattellite
Thailand Earth Observation System sattelliteThailand Earth Observation System sattellite
Thailand Earth Observation System sattellite
Phongsakorn Uar-amrungkoon
 

Semelhante a 기상위성 자료처리를 위한 Python 기반의 Pytroll 활용하기 (20)

GIS & History of Mapping in Malaya (lecture notes circa 2009)
GIS & History of Mapping in Malaya (lecture notes circa 2009)GIS & History of Mapping in Malaya (lecture notes circa 2009)
GIS & History of Mapping in Malaya (lecture notes circa 2009)
 
space probe main0
space probe main0space probe main0
space probe main0
 
Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)
Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)
Where the Heck Am I? Understanding Location in Your Application (Droidcon 2019)
 
Fusion of Multi-MAV Data
Fusion of Multi-MAV DataFusion of Multi-MAV Data
Fusion of Multi-MAV Data
 
Space Situational Awareness Forum - GERMAN AEROSPACE CENTRE Presentation
Space Situational Awareness Forum - GERMAN AEROSPACE CENTRE PresentationSpace Situational Awareness Forum - GERMAN AEROSPACE CENTRE Presentation
Space Situational Awareness Forum - GERMAN AEROSPACE CENTRE Presentation
 
Thailand Earth Observation System sattellite
Thailand Earth Observation System sattelliteThailand Earth Observation System sattellite
Thailand Earth Observation System sattellite
 
GPS.pptx
GPS.pptxGPS.pptx
GPS.pptx
 
Long-Range Wireless Sensor Networks for Geo-location Tracking: Design and Eva...
Long-Range Wireless Sensor Networks for Geo-location Tracking: Design and Eva...Long-Range Wireless Sensor Networks for Geo-location Tracking: Design and Eva...
Long-Range Wireless Sensor Networks for Geo-location Tracking: Design and Eva...
 
LSST/DM: Building a Next Generation Survey Data Processing System
LSST/DM: Building a Next Generation Survey Data Processing SystemLSST/DM: Building a Next Generation Survey Data Processing System
LSST/DM: Building a Next Generation Survey Data Processing System
 
survey method "Tendua Geo-Special & Construction (OPC) Private Limited"
survey method "Tendua Geo-Special & Construction (OPC) Private Limited"survey method "Tendua Geo-Special & Construction (OPC) Private Limited"
survey method "Tendua Geo-Special & Construction (OPC) Private Limited"
 
MSc Proposal Presentation: A comparison of TLS and Photogrammetry
MSc Proposal Presentation: A comparison of TLS and PhotogrammetryMSc Proposal Presentation: A comparison of TLS and Photogrammetry
MSc Proposal Presentation: A comparison of TLS and Photogrammetry
 
Solar resource assessment
Solar resource assessmentSolar resource assessment
Solar resource assessment
 
Remote sensing, GPS and GIS ppt
Remote sensing, GPS and GIS pptRemote sensing, GPS and GIS ppt
Remote sensing, GPS and GIS ppt
 
Report with Hermes 2013
Report with Hermes 2013Report with Hermes 2013
Report with Hermes 2013
 
Advances in Agricultural remote sensings
Advances in Agricultural remote sensingsAdvances in Agricultural remote sensings
Advances in Agricultural remote sensings
 
Irsolav catalogue
Irsolav catalogueIrsolav catalogue
Irsolav catalogue
 
Project on GPS (Global Positioning System)
Project on GPS (Global Positioning System)Project on GPS (Global Positioning System)
Project on GPS (Global Positioning System)
 
A coupled Electromagnetic-Mechanical analysis of next generation Radio Telesc...
A coupled Electromagnetic-Mechanical analysis of next generation Radio Telesc...A coupled Electromagnetic-Mechanical analysis of next generation Radio Telesc...
A coupled Electromagnetic-Mechanical analysis of next generation Radio Telesc...
 
Global positioning system_Surveying, Civil Engineering
Global positioning system_Surveying, Civil EngineeringGlobal positioning system_Surveying, Civil Engineering
Global positioning system_Surveying, Civil Engineering
 
Prediksi banjir dki dengan anfis 09
Prediksi banjir dki dengan anfis 09Prediksi banjir dki dengan anfis 09
Prediksi banjir dki dengan anfis 09
 

Último

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 

기상위성 자료처리를 위한 Python 기반의 Pytroll 활용하기

  • 1. 기상위성 자료 처리를 위한 Python 기반의 Pytroll 활용하기 가이아쓰리디㈜ | 박진우 (swat018@gmail.com) 2017. 08. 31
  • 2. Park, Jin woo • Foss4g korea 2013, 스마트폰 기반의 TS 측량 지원시스템 개발 • Foss4g korea 2014, 무인항공기(UAV)를 이용한 모니터링을 위한 통신모듈 시스템 설계 및 개발 • Foss4g 2015 seoul, Development of Opensource-based Photogrammetric UAV System Using Smart Camera • Foss4g korea 2016, Smart Camera UAV를 이용한 오픈소스 기반의 자동 촬영 및 UAV image 처리 시스템 개발 • Foss4g korea 2017, 기상위성 자료 처리를 위한 Python 기반의 Pytroll 활용하기
  • 4. 기상 위성 ▣ GEO (Geostationnary orbit : 35786km) - COMS / MI - Himawari-8 / AHI - GK-2A / AMI
  • 5. 기상 위성 ▣ LEO (Sunsynchronous orbit : 약 833km) - S-NPP / VIIRS - MetopA,B / IASI - Aqua / AIRS
  • 6. 기상위성 자료처리 기상위성 자료 처리를 쉽게 할 수 없을까?? 1. 많은 위성 이름과 센서 - COMS / MI - Himawari-8 / AHI - GK-2A / AMI - S-NPP / VIIRS - MetopA,B / IASI - Aqua / AIRS … 2. 정말 다양한 포맷들… - RIT/LRIT - HDF5 & NetCDF - NWCSAF - HDF4 - MODIS L1B - HDF5 - VIIRS (SDR, Compact, L1B) - HDF5 - FY3 - AAPP - NOAA GAC - Metop PDF - SAR - NetCDF/CF - GeoTIFF - NinjoTIFF - PNG, JPeG … 3. 영상처리, 익숙치 않은 용어들 - RGB 합성 - GSICS - 복사보정 - 기하보정 - VIS 채널 - IR 채널 - Calibration - IOT … 4. 알고리즘을 만들어서 바로 볼 수 없을까? - Fortran - R - IDL - Python
  • 7. 기상위성 자료처리 GEO DN GEO Tb [K] GEO rad. [WN] LEO rad. [WN] LEO Tb [K] LEO rad. [WL] Current GSICS Correction GEO rad. [WL] IASI, AIRS, Cris Meteosat? [mW m-2 sr-1(cm-1)-1] Himawari, GO ES-R?, MODIS, VIIRS A) C)
  • 8. Pytroll • Pytroll은 파이썬 기반의 기상위성데이터를 읽고, 처리하고, 쓰는 작업 등의 전반적인 프로세싱을 지원. • mpop, satpy 라이브러리를 이용하여 VIIRS data을 읽을 수 있다. • Pyresample : 위성자료의 resample, reprojection을 지원. • Pyspectral : Planck radiation, spectral bands, solar irradiance and reflectance 등의 처리를 지원.
  • 9. Pytroll • Pyresample * • Mpop/Satpy * • Mipp • Pyorbital * • Pycoast * • Geotiepoints • Trollimage • Posttroll • Trollcast Pytroll packages • Pytroll-schedule • Python-bufr • Pyspectral * • Trollduction • Python-db • Trollshft • ….
  • 10. Mpop/Satpy - High level processing for satellite data - Indexing by name or wavelength - Many built-in composites - Easy to extend and customize - Both GEO and LEO
  • 11. Mpop/Satpy >>> from mpop.satellites import GeostationaryFactory >>> import datetime >>> time_slot = datetime.datetime(2009, 10, 8, 14, 30) >>> global_data = GeostationaryFactory.create_scene("meteosat", "09", "seviri", time_slot) >>> from mpop.satellites import PolarFactory >>> import datetime >>> time_slot = datetime.datetime(2010, 2, 24, 11, 29) >>> global_data = PolarFactory.create_scene("noaa", "19", "avhrr", time_slot, orbit="05204") mpop
  • 12. Mpop/Satpy >>> global_data.load([0.6, 0.8, 10.8]) >>> global_data.image.overview().show() mpop example
  • 13. Mpop/Satpy >>> global_data.load([0.6, 0.8, 10.8]) >>> global_data.image.overview().show() mpop example
  • 14. Mpop/Satpy >>> from glob import glob >>> from satpy.scene import Scene # Load data by filenames >>> files = glob(“/data/viirs_data/*.h5”) >>> scn = Scene(reader="viirs_sdr", filenames=files) # Load data by sensor >>> scn = Scene(sensor="seviri", base_dir=“/data/HRIT/”) Satpy
  • 17. Mpop/Satpy Satpy example # Automatically load composites and their dependencies >>> scn.load(["true_color"]) # Resample multi-band data to a uniform grid >>> rs_scn = scn.resample("euron1") # Save RGB geotiff >>> rs_scn.save_dataset(“true_color”)
  • 18. Mpop/Satpy Satellite data formats HRIT/LRIT HDF5 & NetCDF - NWCSAF HDF4 - MODIS L1B HDF5 - VIIRS (SDR, Compact, L1B) HDF5 - FY3 AAPP NOAA GAC Metop PDF SAR … Output data formats NetCDF/CF GeoTIFF NinjoTIFF PNG, Jpeg
  • 19. Pycoast Adding shapes to images • Adding coastlines >>> cw = ContourWriterAGG('/home/esn/data/gshhs') >>> cw.add_coastlines(img, (proj4_string, area_extent), resolution='l', width=0.5) • Adding rivers, borders >>> cw.add_rivers(...) >>> cw.add_borders(...) • Adding graticules >>> cw.add_grid(...)
  • 21. Pyorbital computing satellite orbital parameters and reading TLE’s >>> from pyorbital.orbital import Orbital >>> from datetime import datetime >>> orb = Orbital("noaa 18") >>> now = datetime.utcnow() # Get normalized position of the satellite: >>> orb.get_position(now) ([0.57529384846822862, 0.77384005228105424, 0.59301408257897559], [0.031846489698768146, 0.021287993461926374, -0.05854106186659274]) # Get longitude, latitude and altitude of the satellite: >>> orb.get_lonlatalt(now) (-1.1625895579622014, 0.55402132517640568, 847.89381184656702)
  • 22. Pyorbital Uses SGP4 algorithm (SGP4 algorithm: 궤도결정 알고리즘을 해석적 모델인 SGP4 모델)
  • 23. Pyorbital Use of sun zenith angles
  • 24. Pyspectral Because satellite remote sensing involves Planck radiation, spectral bands, solar irradiance and reflectanc - Reads sensor relative spectral responses (RSR) - Reads solar irradiance spectra
  • 25. Pyspectral Triggered by the need to derive 3.x reflectances: E.g. daytime microphysical RGBs
  • 26. Pyspectral >>> from pyspectral.rsr_read import RelativeSpectralResponse >>> from pyspectral.solar import SolarIrradianceSpectrum >>> from pyspectral.solar import TOTAL_IRRADIANCE_SPECTRUM_2000ASTM >>> modis = RelativeSpectralResponse('eos', '2', 'modis') >>> modis.load(channel='20', scale=0.001) >>> solar_irr = SolarIrradianceSpectrum(TOTAL_IRRADIANCE_SPECTRUM_2000ASTM, dlambda=0.005) >>> sflux = solar_irr.inband_solarflux(modis.rsr) >>> print("Solar flux over Band: ", sflux) ('Solar flux over Band: ', 2.002927764514423) example
  • 27. Pyspectral >>> from pyspectral.nir_reflectance import Calculator >>> sunz = 80. >>> tb3 = 290.0 >>> tb4 = 282.0 >>> refl37 = Calculator(modis.rsr, solar_flux=sflux) >>> print refl37.reflectance_from_tbs(sunz, tb3, tb4) 0.251177702956 example
  • 28. Pyspectral Use MPOP to load SEVIRI data Use Pyorbital to get sun zenith angles at SEVIRI pixels  code >>> r39 = refl39.reflectance_from_tbs(sunz, ch39.data, ch11.data, lookuptable='/tmp/seviri_37_tb2rad_lut.npz') MPOP, Pyorbital and Pyspectral
  • 29. VIIRS의 영상처리 사례 - Loading - Making RGB’s - Map projection
  • 30. VIIRS의 영상처리 사례 1. Loading Data (mpop) >>> from mpop.satellites import PolarFactory >>> from datetime import datetime >>> time_slot = datetime(2013, 6, 25, 11, 15) >>> orbit = "08599" >>> global_data = PolarFactory.create_scene("Suomi-NPP", "", "viirs", time_slot, orbit) >>> global_data.load([1.38]) >>> print global_data -------> print(global_data) 'M01: (0.402,0.412,0.422)μm, resolution 742m, not loaded' 'M02: (0.436,0.445,0.454)μm, resolution 742m, not loaded' 'M03: (0.478,0.488,0.498)μm, resolution 742m, not loaded' 'M04: (0.545,0.555,0.565)μm, resolution 742m, not loaded' 'M05: (0.662,0.672,0.682)μm, resolution 742m, not loaded' 'M06: (0.739,0.746,0.754)μm, resolution 742m, not loaded' 'M07: (0.846,0.865,0.885)μm, resolution 742m, not loaded' 'M08: (1.230,1.240,1.250)μm, resolution 742m, not loaded' 'M09: (1.371,1.378,1.386)μm, shape (768, 3200), resolution 742m' 'M10: (1.580,1.610,1.640)μm, resolution 742m, not loaded' 'M11: (2.225,2.250,2.275)μm, resolution 742m, not loaded' 'M12: (3.610,3.700,3.790)μm, resolution 742m, not loaded' 'M13: (3.973,4.050,4.128)μm, resolution 742m, not loaded' 'M14: (8.400,8.550,8.700)μm, resolution 742m, not loaded' 'M15: (10.263,10.763,11.263)μm, resolution 742m, not loaded' 'M16: (11.538,12.013,12.489)μm, resolution 742m, not loaded' 'I01: (0.600,0.640,0.680)μm, resolution 371m, not loaded' 'I02: (0.845,0.865,0.884)μm, resolution 371m, not loaded' 'I03: (1.580,1.610,1.640)μm, resolution 371m, not loaded' 'I04: (3.580,3.740,3.900)μm, resolution 371m, not loaded' 'I05: (10.500,11.450,12.300)μm, resolution 371m, not loaded' 'DNB: (0.500,0.700,0.900)μm, resolution 742m, not loaded'
  • 31. VIIRS의 영상처리 사례 >>> img = global_data.image.channel_image(1.38) >>> img.enhance(stretch='histogram') >>> img.show()
  • 32. VIIRS의 영상처리 사례 2. Making RGB’s (mpop) >>> global_data.load(global_data.image.truecolor.prerequisites) >>> img = global_data.image.truecolor() >>> img.save("./viirs_truecolor.png")
  • 33. VIIRS의 영상처리 사례 3. Map projection >>> global_data.load(global_data.image.truecolor.prerequisites) >>> img = global_data.image.truecolor() >>> img.save("./viirs_truecolor.png") - Use Pycoast >>> from PIL import Image >>> from pycoast import ContourWriter >>> from mpop.projector import get_area_def >>> cw = ContourWriter('/local_disk/data/shapes') >>> img = Image.open('./viirs_truecolor_proj.png') >>> area_def = get_area_def("scan500m") >>> cw.add_coastlines(img, area_def, resolution='i', level=3) >>> img.save('./viirs_truecolor_proj_with_overlay.png')
  • 35. Channel arithmetics >>> ndvi = (local_data["2"] - local_data["1"]) / (local_data["2"] + local_data["1"]) >>> ndvi.show()
  • 36. Pytroll - 현재 지원하고 있는 기상 위성 •Meteosat series (tested with 7, 8, 9, 10) •GOES series, in HRIT/LRIT format (tested with 11, 12, 13, 15) •MTSAT series, in HRIT/LRIT format (tested with 1R, 2) •Himawari 8, in HRIT/LRIT format •Himawari 8, standard format (satpy only) •Electro L, in HRIT/LRIT format (tested with N1) •NOAA series, in AAPP, GAC and LAC format (tested with 15, 16, 17, 18, 19) •Metop-A/B, in EPS 1a and 1b format •Aqua and Terra, in hdf-eos format •Suomi NPP, in SDR hdf5 format •TerraSAR-X •Radarsat-2 SAR •COSMO-SkyMed SAR •Sentinel-1 SAR •Sentinel-2 MSI •FY-3 viir