我有一个地理数据框'all_locations',其中包含几何列和一个包含该点名称的列。在地图上绘制点的工作原理很好,但我想用位置名称注释点。
['location'] ['geometry']
BUITHVN8 POINT()
(实际数据框当然要大得多)
我试过这个(和其他东西):
all_locations['coords'] = all_locations['geometry'].apply(lambda x: x.point.coords[:])
all_locations['coords'] = [coords[0] for coords in all_locations['coords']]
all_locations.plot(ax=ax)
for idx, row in all_locations.iterrows():
plt.annotate(s=row['locatie'], xy=row['geometry'])
添加坐标列但会出现此错误:''Point'对象没有属性'point'
答案 0 :(得分:2)
使用geopandas中包含的cities
示例数据集,您可以按以下方式执行此操作:
import geopandas
cities = geopandas.read_file(geopandas.datasets.get_path('naturalearth_cities'))
ax = cities.plot()
for x, y, label in zip(cities.geometry.x, cities.geometry.y, cities.name):
ax.annotate(label, xy=(x, y), xytext=(3, 3), textcoords="offset points")