在 Geopandas 上的国家/地区添加自定义图像

Adding custom images over countries on Geopandas

我是 geopandas 的新手,我想在我的数据框中的特定国家/地区之上添加我自己的图像。我创建了一个示例图像以进行说明。我想将 coke.jpg 添加到美国,将 pepsi.jpg 添加到俄罗斯等等。

有什么办法吗? 谢谢

.

我认为这不会很容易地与 geopandas 一起工作,因为它需要你的图像的地理参考坐标,这对于 jpg 来说听起来很棘手(ofc 并非不可能)。

但是您可以使用底层的 matplotlib 子图并在其上注释图像。

受此来源启发,请参阅下面的代码 https://moonbooks.org/Articles/How-to-insert-an-image-a-picture-or-a-photo-in-a-matplotlib-figure/

from matplotlib import pyplot as plt
import geopandas as gpd
import matplotlib.cbook as cbook

# load example image
with cbook.get_sample_data('grace_hopper.jpg') as image_file:
    image = plt.imread(image_file)

# load example map
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))

f, ax = plt.subplots()

# plot example image
# specify extent of png on canvas
# use zorder to force image to be in the upper layer
im = ax.imshow(
    image,
    extent=(-20, 20, -20, 20),
    zorder=1
)
# plot map
world.plot(ax=ax, zorder=0)

# plot map
plt.show()