SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
기상위성 자료 처리를 위한
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

Contenu connexe

Tendances

Vector Tile for Sea Wind
Vector Tile for Sea WindVector Tile for Sea Wind
Vector Tile for Sea WindSANGHEE SHIN
 
2022 Test Automation Trends You Need to Know
2022 Test Automation Trends You Need to Know2022 Test Automation Trends You Need to Know
2022 Test Automation Trends You Need to KnowApplitools
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)Heungsub Lee
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례BJ Jang
 
코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우Arawn Park
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Park JoongSoo
 
Pycon2017 instagram keynote
Pycon2017 instagram keynotePycon2017 instagram keynote
Pycon2017 instagram keynoteLisa Guo
 

Tendances (9)

Vector Tile for Sea Wind
Vector Tile for Sea WindVector Tile for Sea Wind
Vector Tile for Sea Wind
 
2022 Test Automation Trends You Need to Know
2022 Test Automation Trends You Need to Know2022 Test Automation Trends You Need to Know
2022 Test Automation Trends You Need to Know
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
 
WBSを始めよう
WBSを始めようWBSを始めよう
WBSを始めよう
 
Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3Advanced Querying with CakePHP 3
Advanced Querying with CakePHP 3
 
코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
 
Pycon2017 instagram keynote
Pycon2017 instagram keynotePycon2017 instagram keynote
Pycon2017 instagram keynote
 

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

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)Azmi Mohd Tamil
 
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)Richard Süselbeck
 
Fusion of Multi-MAV Data
Fusion of Multi-MAV DataFusion of Multi-MAV Data
Fusion of Multi-MAV DataDariolakis
 
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 PresentationSpace_Situational_Awareness
 
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...Ahmad Muzaffar Baharudin
 
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 SystemMario Juric
 
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"HimanshuSinghGaharwa
 
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 PhotogrammetryPeter McCready
 
Solar resource assessment
Solar resource assessmentSolar resource assessment
Solar resource assessmentArpo Mukherjee
 
Remote sensing, GPS and GIS ppt
Remote sensing, GPS and GIS pptRemote sensing, GPS and GIS ppt
Remote sensing, GPS and GIS pptNaufil Sayyad
 
Report with Hermes 2013
Report with Hermes 2013Report with Hermes 2013
Report with Hermes 2013Atiqa khan
 
Advances in Agricultural remote sensings
Advances in Agricultural remote sensingsAdvances in Agricultural remote sensings
Advances in Agricultural remote sensingsAyanDas644783
 
Project on GPS (Global Positioning System)
Project on GPS (Global Positioning System)Project on GPS (Global Positioning System)
Project on GPS (Global Positioning System)Jyotismat Raul
 
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...Altair
 
Global positioning system_Surveying, Civil Engineering
Global positioning system_Surveying, Civil EngineeringGlobal positioning system_Surveying, Civil Engineering
Global positioning system_Surveying, Civil EngineeringA Makwana
 

Similaire à 기상위성 자료처리를 위한 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
 

Dernier

Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 

Dernier (20)

DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 

기상위성 자료처리를 위한 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