1
토네이도의 시작/끝 위치를 플로팅합니다. CSV 파일 데이터를 갖도록 : 등Basemap 위도 경도 사이의 선을 그립니다.
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")
이제 질문이 오게됩니다. numpy 배열에서 위도/경도를 사용하여 토네이도 트랙을 계획하고 있습니다. 어떻게 그렇게 할 것입니까?
원래 질문에 대한 답변이 아닙니다. ''genfromtxt'''를 사용하여 CSV 파일을로드 할 수 있습니다. 설명서 [여기] (https://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html#numpy.genfromtxt)에 대한 링크. – Niklas