Поиск индекса ближайшей ячейки сетки с низким разрешением для каждой пары широты и долготы в наборе данных с высоким разPython

Программы на Python
Ответить
Anonymous
 Поиск индекса ближайшей ячейки сетки с низким разрешением для каждой пары широты и долготы в наборе данных с высоким раз

Сообщение Anonymous »

У меня есть 2 набора данных о высоте: один — с низким разрешением (разрешение ~0,1 градуса), а другой — с высоким разрешением (разрешение ~0,001 градуса). Предположим, что наборы данных выглядят примерно так (на самом деле они намного больше, поэтому мне нужно будет найти способ сделать это эффективно с точки зрения использования памяти, например, путем разбиения на фрагменты):

Код: Выделить всё

import numpy as np
import pandas as pd
import geopandas as gpd
import xarray as xr

lr_elev = np.random.uniform(low=0,high=4000,size=(11,11))
hr_elev = np.random.uniform(low=0,high=4000,size=(1001,1001))

lr_lats = np.linspace(44.0,45.0,11)
lr_lons = np.linspace(-115.0,-114.0,11)

hr_lats = np.linspace(44.0,45.0,1001)
hr_lons = np.linspace(-115.0,-114.0,1001)

lr_ds = xr.Dataset(
data_vars=dict(
elevation=(['lat','lon'],lr_elev)
),
coords=dict(
lon=('lon',lr_lons),
lat=('lat',lr_lats)
)
)

hr_ds = xr.Dataset(
data_vars=dict(
elevation=(['lat','lon'],hr_elev)
),
coords=dict(
lon=('lon',hr_lons),
lat=('lat',hr_lats)
)
)

print(lr_ds)
print(hr_ds)
Я знаю, как найти ближайшее значение высоты из набора данных с низким разрешением для каждой пары широты и долготы с высоким разрешением:

Код: Выделить всё

# ### Treat midpoint of HR grid cells as a point -- then find the nearest LR grid cell as if they are stations

nearest_lr_point = lr_ds.sel(lat=hr_ds.lat,lon=hr_ds.lon, method='nearest')
print(nearest_lr_point)
Однако я не смог понять, как вместо этого вернуть индекс значения вместо фактического значения. Причина этого в том, что я хотел бы иметь возможность сопоставлять каждую пару широты и долготы высокого разрешения с соответствующей ячейкой сетки низкого разрешения (для последующих расчетов). Есть ли способ вместо этого вернуть индекс значения для каждой пары широты и долготы?
Я не могу легко преобразовать это в кадр данных (поскольку реальный набор данных с высоким разрешением имеет размер около 700 ГБ)

Подробнее здесь: https://stackoverflow.com/questions/798 ... each-of-th
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»