用python 写程序实现通过读取飞机坐标数据的excl表,计算后实现在辽东半岛地图上呈现运动轨迹 用Cartopy绘制地图
时间: 2024-03-24 22:39:31 浏览: 51
好的,下面是一个简单的示例程序,用来读取 Excel 表格中的飞机坐标数据,计算并绘制飞行轨迹:
```python
import pandas as pd
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
# 读取 Excel 表格中的飞机坐标数据
data = pd.read_excel('flight_data.xlsx')
# 以等面积投影方式为基础创建地图
fig = plt.figure(figsize=(10, 10))
ax = plt.axes(projection=ccrs.EqualEarth())
# 添加海岸线和边界
ax.coastlines(resolution='110m', linewidth=1)
# 设置地图显示范围
ax.set_extent([114, 125, 36, 43], crs=ccrs.PlateCarree())
# 绘制飞行轨迹
ax.plot(data['Longitude'], data['Latitude'], transform=ccrs.PlateCarree())
plt.show()
```
这段代码中,我们使用了 Pandas 库来读取 Excel 表格中的数据,并使用 Cartopy 库绘制地图和飞行轨迹。你需要将代码中的 `flight_data.xlsx` 替换成你自己的 Excel 表格文件名,并确保表格中包含经度(`Longitude`)和纬度(`Latitude`)两个列。
另外,为了绘制出辽东半岛地图,我们使用了 `ax.set_extent([114, 125, 36, 43], crs=ccrs.PlateCarree())` 来设置地图显示范围,其中 `[114, 125, 36, 43]` 分别表示地图西、东、南、北四个方向的边界经度和纬度。你可以根据需要修改这些值来调整地图显示范围。
最后,使用 `ax.plot(data['Longitude'], data['Latitude'], transform=ccrs.PlateCarree())` 来绘制飞行轨迹,其中 `transform=ccrs.PlateCarree()` 表示使用 PlateCarree 投影方式将数据坐标转换为地图坐标。你可以根据需要修改投影方式和飞机坐标数据的列名。
阅读全文