Python: как получить координаты центроида и значения из геотифового изображения? - PullRequest
0 голосов
/ 27 мая 2019

Я загрузил изображение geottif, содержащее население Гаити, с worldpop.org .

Изображение можно загрузить с здесь

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()

enter image description here

Я хотел бы присвоить каждому значению координату, то есть координаты центроида пикселя, и иметь кадр данных, подобный следующему

df_coord:
    X_centr   Y_centr   Pop
0   650000    2050000   54   
1   556000    2250000   NaN 
...