python – 在纬度经度之间绘制直线的底图
发布时间:2020-12-20 11:58:51 所属栏目:Python 来源:网络整理
导读:我正在绘制龙卷风的起点/终点位置. csv文件具有以下数据: TouchDownLat TouchDownLong LiftoffLat LiftoffLong31.53 -97.15 31.74 -96.8846.45 -100.67 46.67 -100.4743.1 -83.85 43.17 -83.42 等等… 我所做的是每个纬度和经度,并将其分成一个numpy数组,如
我正在绘制龙卷风的起点/终点位置. csv文件具有以下数据:
TouchDownLat TouchDownLong LiftoffLat LiftoffLong 31.53 -97.15 31.74 -96.88 46.45 -100.67 46.67 -100.47 43.1 -83.85 43.17 -83.42 等等… 我所做的是每个纬度和经度,并将其分成一个numpy数组,如下: import matplotlib.pyplot as plt import csv import numpy as np from mpl_toolkits.basemap import Basemap with open(fname,'rb') as f: w = csv.reader(f,delimiter = ',') for i,line in enumerate (w): if i == 0 or line[2][0:4] not in str(range(2007,2018)): pass else: lat_td.append(line[27]) long_td.append(line[28]) lat_lift.append(line[29]) long_lift.append(line[30]) touchdown = np.array([[lat_td],[long_td]]) lift = np.array([[lat_lift],[long_lift]]) 对于底图,我找到所有纬度/经度的最大值/最小值,以便它制作一张地图来切断没有龙卷风的状态(例如:我不希望在看EF时看到加利福尼亚州-5龙卷风地点) m = Basemap(projection = 'merc',llcrnrlat=float(min(lat_td)) - 2, urcrnrlat=float(max(lat_lift)) + 2,llcrnrlon=float(max(long_td)) - 2, urcrnrlon=float(min(long_lift)) + 2,lat_ts=40,resolution='l') m.drawcoastlines() m.fillcontinents(color='white') m.drawmapboundary(fill_color='white') m.drawstates(color='black') m.drawcountries(color='black') plt.title("#wedgez") 所以,现在问题是: 解决方法
如果我理解正确,你正在寻找一种方法来绘制路径,给定路径点的坐标.然后,您可以如下绘制路径:
m = Basemap(projection = 'merc',resolution='l') lat = [the list of lat coordinates here] lon = [the list of lon coordinates here] x,y = m(lon,lat) m.plot(x,y,'o-',markersize=5,linewidth=1) m.drawcoastlines() m.fillcontinents(color='white') m.drawmapboundary(fill_color='white') m.drawstates(color='black') m.drawcountries(color='black') plt.title("#wedgez") plt.show() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |