Участок сглаживающего фильтра Савгола в Modis NETCDF в python - PullRequest
1 голос
/ 19 февраля 2020

Можно ли вставить фильтр savgol в файл NETCDF в MODIS и построить пространственное сглаживание в python?

Вот мой пример кода

import matplotlib.pyplot as plt
import xarray as xr
import pandas as pd
import numpy as np

# open Netcdf file
ds = xr.open_dataset('MOD16A2.006_500m_aid20001.nc')

# show information in xarray dataset
ds

<xarray.Dataset>
Dimensions:     (lat: 2567, lon: 2739, time: 45)
Coordinates:
  * time        (time) object 2001-01-01 00:00:00 ... 2001-12-27 00:00:00
  * lat         (lat) float64 -7.348 -7.352 -7.356 ... -18.03 -18.04 -18.04
  * lon         (lon) float64 -61.64 -61.63 -61.63 ... -50.24 -50.23 -50.23
Data variables:
    crs         int8 ...
    ET_500m     (time, lat, lon) float32 ...
    ET_QC_500m  (time, lat, lon) float32 ...
Attributes:
    title:        MOD16A2.006 for aid0001
    Conventions:  CF-1.6
    institution:  Land Processes Distributed Active Archive Center (LP DAAC)
    source:       AppEEARS v2.36
    references:   See README.txt
    history:      See README.txt

# Get Variables
lat = ds.lat
lon = ds.lon
time = ds.time
data = ds.ET_500m[0,:,:] 
units = ds.ET_500m[:,:,:].units


# Plot image
data.plot.imshow(cmap='viridis_r', figsize=(10,8))

Из-за шум, который вызывает количество облаков в качестве пикселей, мне нужно применить метод пространственного сглаживания, чтобы улучшить качество данных, полученных из MODIS

. Я думаю, что фильтр savgol соответствует ситуации, но я не знаю, как использовать это пространственно. У меня может быть другой метод сглаживания, но я не знаю.

1 Ответ

1 голос
/ 20 февраля 2020

Да, возможно, приведите пример рабочего кода в следующий раз. Я бы предложил использовать netCDF4 или xarray в python, получить данные и использовать фильтр 2d Savgol, как указано в следующей документации:

https://scipy.github.io/old-wiki/pages/Cookbook/SavitzkyGolay

Это выполнит сглаживание, а затем экспортирует данные в файл netCDF, и вам должно быть хорошо go.

Также вы можете использовать xarray вместе с cartopy для построения графиков данных:

http://xarray.pydata.org/en/stable/plotting.html

...