我从worldpop.org下载了包含海地人口的geottif图像。
可以从here下载图片
from osgeo import gdal
import matplotlib.pyplot as plt
from matplotlib import cm
fileO = 'HTI_ppp_v2b_2015_UNadj_32618.tif'
geo = gdal.Open(fileO)
topo = geo.ReadAsArray()
i, j = np.where(topo>0)
topo = topo[min(i):max(i)+1, min(j):max(j)+1]
topo[topo<0] = np.nan
fig = plt.figure(frameon=False)
plt.imshow(topo, cmap=cm.BrBG_r)
plt.axis('off')
cbar = plt.colorbar(shrink=0.75)
cbar.set_label('meters')
plt.show()
我想将每个值分配给一个坐标,即像素的质心坐标,并具有如下数据框
df_coord:
X_centr Y_centr Pop
0 650000 2050000 54
1 556000 2250000 NaN