在 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()
我是 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()