注释城市名称

时间:2020-05-25 08:48:55

标签: python matplotlib geopandas contextily

我想在坐标xy=(52.52, 13.405)上标注柏林的城市名称。我尝试过ax.annotate(),它会生成一张奇怪的地图。也许与坐标的CRS有关?

import geopandas as gpd
import contextily as ctx

world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
world = world[(world.name=="Germany")]
world = world.to_crs(epsg=3857)

ax = world.plot(figsize=(10, 10), color='none', linewidth=1, alpha=0.5)
ax.annotate("Berlin", xy=(52.52, 13.405))

ctx.add_basemap(ax, url=ctx.providers.Stamen.Watercolor, zoom=9)

enter image description here

2 个答案:

答案 0 :(得分:2)

根据here,您的代码应如下所示:

final Void Function(Void) funcNativeStart =
nativeGuestLib
    .lookup<NativeFunction<Void Function(Void)>>("NativeStart")
    .asFunction();

答案 1 :(得分:1)

我的初始代码有两种缺陷。如其他答案所指出的,我错误地使用了False

此外,ax.annoate()已转换为world。柏林城市的坐标不是。使用转换后的坐标,它可以工作:

espg=3857

enter image description here