python中地理空间数据的分块和打印

python中地理空间数据的分块和打印,python,mapping,geospatial,Python,Mapping,Geospatial,我不熟悉python中的数据地理空间映射,希望将数据可视化到1 x 1度网格中。我有3个独立的数组中的数据,例如 变量\u lats:[20.099339 20.142488 20.101004…-38.988274-38.988274-38.9924] 变量:[280.017 279.97015 280.03192…22.829168 22.829168 22.834965] 变量值:[6.388523 6.317164 6.3859496…20.035767 19.707344 19.379

我不熟悉python中的数据地理空间映射,希望将数据可视化到1 x 1度网格中。我有3个独立的数组中的数据,例如

变量\u lats:[20.099339 20.142488 20.101004…-38.988274-38.988274-38.9924]

变量:[280.017 279.97015 280.03192…22.829168 22.829168 22.834965]

变量值:[6.388523 6.317164 6.3859496…20.035767 19.707344 19.379091]

我感兴趣的是根据每个网格框中的密度(数据点的数量)对每个网格框进行颜色缩放

感谢您的帮助

谢谢


使用numpy矩阵时,绘图将如下所示。请注意,对于本例,点仅为6。然后可以使用matplotlib语法进行修改

import numpy as np
from matplotlib import pyplot as plt

# matrix which have 1x1 degree
# matrix_denx[0][0] is count of area lat 89 to 90, long 0 to 1
matrix_dens = np.zeros((180, 360))

variable_lats = [20.099339, 20.142488, 20.101004, -38.988274, -38.988274, -38.9924]

variable_lons = [280.017, 279.97015, 280.03192, 22.829168, 22.829168, 22.834965]

for x, y in zip(variable_lons, variable_lats):

    x_ind = int(np.floor(x))
    y_ind = int(90 - np.floor(y))

    # set value for x_ind, y_ind. += 1 for count.
    matrix_dens[y_ind][x_ind] += 1

# heatmap
fig, ax = plt.subplots()
im = ax.imshow(matrix_dens, cmap="YlGnBu")
plt.show()

我喜欢这个。使用numpy制作网格矩阵,并计算每个网格单元包含多少数据。然后绘图。感谢Shimo,我应该提到我的lats/lons数据不是单调的,即没有顺序(值上下),也有重复值,因为这些是感兴趣变量的卫星跟踪数据。我真正想要的是一张像附加的(网格化的分格数据)图像中所示的地图。我想我正在跟踪你想要的结果。请尝试回答示例。