Вопрос: Есть ли способ повторной выборки значений в сетке из geodataframe
для построения более гладкой карты?
Подробности: Я работаю с 24x24 сетка с именем gdf
. Каждый cell
сетки имеет value
и id
в качестве атрибутов:
#gdf.head()
id values geometry
0 1 52.390119 POLYGON ((653179.710 6859158.392, 653179.710 6...
1 2 52.390119 POLYGON ((653179.710 6858908.392, 653179.710 6...
2 3 52.390119 POLYGON ((653179.710 6858658.392, 653179.710 6...
3 4 49.592331 POLYGON ((653179.710 6858408.392, 653429.710 6...
4 5 52.390119 POLYGON ((653429.710 6858408.392, 653179.710 6...
Это тип карты, которую я получаю при построении карты:
Как вы можете видеть, на графике очень сильно sh происходят изменения значений от одной ячейки к другой, и я хотел бы сгладить это.
Есть ли способ разделить каждую ячейку на 2 или 3 подэлемента (по горизонтали и вертикали), чтобы получить сетку с более высоким разрешением, а затем интерполировать значения, чтобы получить плавные градиенты вместо этого? Зная, что я пытаюсь сохранить данные как geodataframe
, поскольку мне нужно преобразовать их в shapefile
позже .
Я нашел метод это позволяет мне делать это через plt.imshow()
, так как есть опция interpolation
; что даст мне именно то, что я хочу, но это только дает изображение в качестве вывода, я не могу напрямую изменить gdf
с ним:
grid = np.array(file.data).reshape(-1, 24)[::-1]
fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(20, 20), subplot_kw={'xticks': [], 'yticks': []})
for ax, interp_method in zip(axs.flat, methods):
ax.imshow(grid, interpolation='lanczos', cmap='RdYlGn_r')
plt.tight_layout()
plt.show()