У меня возникла проблема при объединении двух файлов данных xarray. Два файла (MODIS LST, доступ к которым осуществляется через STAC API) относятся к одной и той же дате/времени, но соответствуют соседним географическим ячейкам (рядом, по долготе или x). Когда я использую функцию xr.concat(), все работает нормально, без каких-либо ошибок, но когда я визуализирую данные, я замечаю множество вертикальных белых линий, как показано на рисунке ниже (которые кажутся значениями без данных). Когда я рисую отдельные файлы (с одного и того же временного шага), данные существуют в областях, где появляются вертикальные линии (эти рисунки здесь не показаны). Воспроизводимый пример приведен ниже, если кто-то захочет попробовать:
У меня возникла проблема при объединении двух файлов данных xarray. Два файла (MODIS LST, доступ к которым осуществляется через STAC API) относятся к одной и той же дате/времени, но соответствуют соседним географическим ячейкам (рядом, по долготе или x). Когда я использую функцию xr.concat(), все работает нормально, без каких-либо ошибок, но когда я визуализирую данные, я замечаю множество вертикальных белых линий, как показано на рисунке ниже (которые кажутся значениями без данных). Когда я рисую отдельные файлы (с одного и того же временного шага), данные существуют в областях, где появляются вертикальные линии (эти рисунки здесь не показаны). [b]Воспроизводимый пример приведен ниже, если кто-то захочет попробовать:[/b] [code]import pystac_client import stackstac import planetary_computer import xarray as xr import pandas as pd
# lets handle the time, because there is no proper time coordinate # extract year and day of the year from MODIS ID def get_date(modis_id): year = int(modis_id.split('.')[1][1:5]) day_of_year = int(modis_id.split('.')[1][5:]) date = pd.to_datetime(str(year) + str(day_of_year), format='%Y%j') return date
# create a new time coordinate variable using the get_date function ds_d_t1['time'] = xr.DataArray([get_date(modis_id) for modis_id in ds_d_t1['id'].values], dims='time', coords={'time': ds_d_t1['time']})
ds_d_t2['time'] = xr.DataArray([get_date(modis_id) for modis_id in ds_d_t2['id'].values], dims='time', coords={'time': ds_d_t2['time']})