2017-03-26 61 views
1

我正在繪製龍捲風的開始/結束位置。該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") 

所以,現在問題來了: 我正在尋找使用lat/long在numpy數組中的龍捲風的軌跡。我會怎麼做呢?

+0

不是原始問題的答案;你可以使用'genfromtxt'''加載csv文件。鏈接到文檔[這裏](https://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html#numpy.genfromtxt)。 – Niklas

回答

3

如果我理解正確,您正在尋找一種繪製路徑的方法,給定路徑點的座標。然後,您可以按如下方式繪製路徑:

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') 

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() 
相關問題