Код: Выделить всё
latitude_save = sorted(list(set(copy2_sorted['lat'])))
longitud_save = sorted(list(set(copy2_sorted['lon'])))
time_save = sorted(list(set(copy2_sorted['time'])))
tmp = np.array(copy2_sorted['temp']).reshape(len(time_model), 3, 4)
xrds = xr.Dataset(
coords=dict(time=time_save,
lat=latitude_save,
lon=longitud_save),
data_vars=dict(tas=(['time', 'lat', 'lon'], tmp)))
xrds = xrds.rio.write_crs("EPSG:4326", inplace=True)
file_save = 'C:/Users/72541988B/Desktop/Copernicus/SSP1-1.9/Tas/{}_tas3.nc'.format(model)
my_enocding = {'time': {'dtype': 'int32', '_FillValue': None},
'lat': {'dtype': 'float32', '_FillValue': None},
'lon': {'dtype': 'float32', '_FillValue': None},
'tas': {'dtype': 'float32', '_FillValue': float('nan'), 'zlib': False}
}
xrds.to_netcdf(file_save, encoding=my_enocding)
(print('Se ha guardado: {}'.format(model)))
xrds = xr.open_dataset("C:/Users/72541988B/Desktop/Copernicus/SSP1-1.9/Tas/CAMS_CSM_tas7.nc")
print(xrds["lat"].values)
< /code>
Результат: < /p>
41.1265, 41.9565, 42.8
< /code>
print(xrds["lon"].values)
< /code>
Результат: < /p>
-3.8875, -2.162 , -0.437 , 1.2875
< /code>
Я получаю определенные широты и долготы без каких -либо проблем. Но затем, когда я пытаюсь открыть его в QGIS, координаты не очень хорошо загружены, на самом деле это так, как будто Didi не имеет никакой координаты, поскольку она создает сетку, которая простирается от 0,0 до 4,0 и от 0,0 до -3,0.
Я использовал этот код для создания NetCDF осадков, и у меня не было проблем, но когда я делаю то же самое с температурой, я получаю эту проблему при попытке открыть его в QGIS (потому что В Python все в порядке), поэтому я полагаю, что это как -то связано с QGIS, но я не могу сказать что. Кто -нибудь может мне помочь? P> Я также пытался определить при сохранении файла NetCDF, определяющего систему координат EPSG: 4326. Но у меня такая же проблема, в Python лекция в порядке, но в QGIS нет.>
Подробнее здесь: https://stackoverflow.com/questions/794 ... df-in-qgis