如何在Mercator上标注路径的起点和终点?
时间: 2024-11-04 22:13:38 浏览: 26
在Mercator投影上标注路径的起点和终点,你可以使用matplotlib的annotate()
函数。这个函数可以在地图上添加文本标签,指示特定的位置。以下是一个例子:
from cartopy.feature import ShapelyFeature
from shapely.geometry import Point
# 假设start_point和end_point是你想要标记的经纬度
start_point = (lon[0], lat[0]) # 起点
end_point = (lon[-1], lat[-1]) # 终点
# 将经纬度转换为GeoJSON格式,用于 annotate
start_label = Point(start_point)
end_label = Point(end_point)
# 创建一个GeoPath Feature
start_feature = ShapelyFeature([start_label], ccrs.Geodetic())
end_feature = ShapelyFeature([end_label], ccrs.Geodetic())
# 定义一个函数绘制起点和终点的标签
def draw_label(feature, label, ax):
ax.add_feature(feature, facecolor='none', edgecolor='red', linewidth=2)
ax.annotate(label,
xy=(feature.bbox.xmin + feature.bbox.width / 2., feature.bbox.ymin),
ha='center', va='bottom', fontsize=12, rotation=45)
# 在绘图上下文中分别应用这两个函数
draw_label(start_feature, '起点', ax)
draw_label(end_feature, '终点', ax)
# 其他绘图代码...
这会在起点和终点处分别创建一个红色箭头并添加文本标签。