def geo_spatial(file): """ Renders a geo spatial graph :param file: path to file :return: saves image to temp/spatial.png """ data = read_csv(file) geoplotlib.graph(data, src_lat='lat_departure', src_lon='lon_departure', dest_lat='lat_arrival', dest_lon='lon_arrival', color='hot_r', alpha=16, linewidth=2) # geoplotlib.show() geoplotlib.savefig('temp/spatial')
def test_graph(): import geoplotlib from geoplotlib.utils import read_csv movement_data = read_csv('./data/graph_movement.csv') geoplotlib.graph(movement_data, src_lat='SourceLat', src_lon='SourceLon', dest_lat='TargetLat', dest_lon='TargetLon', alpha=80, linewidth=2, color='inferno', color_by='Weight', levels=10) geoplotlib.show()
def plottrack(self, tailnum, airlinecode): frame = self.flightdata frame = frame[[ 'TAIL_NUM', 'OP_UNIQUE_CARRIER', 'FL_DATE', 'ORIGIN_AIRPORT_ID', 'ORIGIN', 'CRS_DEP_TIME', 'DEST_AIRPORT_ID', 'DEST', 'CRS_ARR_TIME' ]] frame = frame.sort_values(['FL_DATE', 'CRS_DEP_TIME'], ascending=True).groupby( ['TAIL_NUM', 'OP_UNIQUE_CARRIER']) alldata = frame.get_group( (tailnum, airlinecode)).reset_index().drop(columns=['index']) origin = alldata['ORIGIN'] dest = alldata['DEST'] mergedata_origin = pd.merge(origin, self.mapdata, left_on=['ORIGIN'], right_on=['name'], how='left') mergedata_origin = mergedata_origin.rename(columns={ 'lat': 'lat_ori', 'lon': 'lon_ori' }) mergedata_origin = mergedata_origin mergedata_dest = pd.merge(dest, self.mapdata, left_on=['DEST'], right_on=['name'], how='left') mergedata_dest = mergedata_dest.rename(columns={ 'lat': 'lat_dest', 'lon': 'lon_dest' }) mergedata_all = pd.concat([mergedata_origin, mergedata_dest], axis=1) geoplotlib.graph(mergedata_all, src_lat='lat_ori', src_lon='lon_ori', dest_lat='lat_dest', dest_lon='lon_dest', color='Reds', linewidth=2) geoplotlib.savefig(tailnum)
""" Example of spatial graph """ import geoplotlib from geoplotlib.utils import read_csv data = read_csv('./data/flights.csv') geoplotlib.graph(data, src_lat='lat_departure', src_lon='lon_departure', dest_lat='lat_arrival', dest_lon='lon_arrival', color='hot_r', alpha=16, linewidth=2) geoplotlib.show()
import geoplotlib from pandasql import sqldf import pandas as pd df = pd.read_csv('data.csv') destco = pd.read_csv('destination_latlong.csv') orgco = pd.read_csv('origin_latlong.csv') df['FL_DATE'] = pd.to_datetime(df['FL_DATE'], format='%Y-%m-%d') airline = df.set_index('FL_DATE') q = """ SELECT A.ORIGIN_CITY_NAME,A.DEST_CITY_NAME,DC.lat As dlat,DC.lon as dlon,OC.lat As olat,OC.lon as olon FROM airline as A join destco as DC on A.DEST_CITY_NAME=DC.DEST_CITY_NAME join orgco as OC on A.ORIGIN_CITY_NAME=OC.ORIGIN_CITY_NAME WHERE DEP_DELAY=0 AND ARR_DELAY=0; """ print 'working..' result = sqldf(q, locals()) geoplotlib.graph(result, src_lat='olat', src_lon='olon', dest_lat='dlat', dest_lon='dlon', color='rainbow', alpha=32, linewidth=2) geoplotlib.savefig('no delay')
x = np.linspace(-1, 1, 2000) y = np.cos(x) + 0.3*np.random.rand(2000) p = np.polynomial.Chebyshev.fit(x, y, 90) t = np.linspace(-1, 1, 200) plt.plot(x, y, 'r.') plt.plot(t, p(t), 'k-', lw=3) plt.show() #geoplot example of mapping patterns according to flight paths data = read_csv('flights.csv') geoplotlib.graph(data, src_lat='lat_departure', src_lon='lon_departure', dest_lat='lat_arrival', dest_lon='lon_arrival', color='hot_r', alpha=16, linewidth=2) geoplotlib.show() # 3D plotting and visualization of signals using numpy np.random.seed(1) N = 70 fig = go.Figure(data=[go.Mesh3d(x=(70*np.random.randn(N)), y=(55*np.random.randn(N)), z=(40*np.random.randn(N)), opacity=0.5, color='rgba(244,22,100,0.6)'
#!/usr/bin/env python2 import geoplotlib from geoplotlib.utils import read_csv, BoundingBox, DataAccessObject data = read_csv('filtered_lonlat.csv') # http://andreacuttone.com/geoplotlib/api.html#module-geoplotlib geoplotlib.dot(data, color=[0,0,0], point_size=1.5) geoplotlib.kde(data, bw=10, cmap='PuBuGn', cut_below=1e-4, clip_above=1e-2, alpha=180) geoplotlib.graph(read_csv('group0.csvgraph.csv'), src_lat='flat', src_lon='flon', dest_lat='tlat', dest_lon='tlon', color=[0,0,0], linewidth=2) geoplotlib.graph(read_csv('group1.csvgraph.csv'), src_lat='flat', src_lon='flon', dest_lat='tlat', dest_lon='tlon', color=[0,255,0], linewidth=2) geoplotlib.graph(read_csv('group2.csvgraph.csv'), src_lat='flat', src_lon='flon', dest_lat='tlat', dest_lon='tlon', color=[128,0,128], linewidth=2) geoplotlib.kde(read_csv('chokepoints.csv'), bw=10, cmap='hot', cut_below=1e-4, clip_above=1e-2, alpha=180) bbox = BoundingBox(north=25.7188,west=-80.280,south=25.711,east=-80.280) geoplotlib.set_bbox(bbox) geoplotlib.set_window_size(1400, 1600) #geoplotlib.set_window_size(700, 800) geoplotlib.tiles_provider('toner') geoplotlib.set_smoothing(True) geoplotlib.savefig('output') #geoplotlib.show()
f = open("VLOCs.csv", "w+") f.close() #write csv to be read by geoplotlib with open('VLOCs.csv', mode='w', newline='') as VLOCs: VLOCs = csv.writer(VLOCs, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) VLOCs.writerow(['name', 'S_lat', 'S_lon', 'D_lat', 'D_lon']) for station in Locations: VLOCs.writerow([station[0], station[1], station[2], station[3], station[4]]) #empty SLOCs.csv f = open("SLOCs.csv", "w+") f.close() #write csv to be read by geoplotlib with open('SLOCs.csv', mode='w', newline='') as SLOCs: SLOCs = csv.writer(SLOCs, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) SLOCs.writerow(['name', 'lat', 'lon']) for station in Locations: SLOCs.writerow([station[0], station[1], station[2]]) #plot stations Plotdata1 = read_csv('VLOCs.csv') Plotdata2 = read_csv('SLOCs.csv') gp.set_bbox(BoundingBox(north=9, west=110, south=1, east=95)) gp.graph(Plotdata1, 'S_lat', 'S_lon', 'D_lat', 'D_lon', linewidth=2, color='Blues') gp.dot(Plotdata2, color='blue', point_size=3) gp.labels(Plotdata2, 'name', color='black', font_size=8, anchor_x='center') gp.tiles_provider('positron') gp.show()
self.painter.points(x[self.frame_counter], y[self.frame_counter], 2*self.point_size, False) self.painter.batch_draw() picked = self.hotspots.pick(mouse_x, mouse_y) if picked: ui_manager.tooltip(picked) self.frame_counter += 1 time.sleep(0.4) if self.frame_counter == len(x): self.frame_counter = 0 def bbox(self): return BoundingBox.from_points(lons=self.data['lon'], lats=self.data['lat']) geoplotlib.add_layer(DotDensityLayer(points_df)) #geoplotlib.show() # Custom layer # crash on five million trajectories_graph = mdf trajectories_graph.loc[:, 'dest_lat'] = trajectories_graph.shift(-1).loc[:, 'lat'] trajectories_graph.loc[:, 'dest_lon'] = trajectories_graph.shift(-1).loc[:, 'lon'] trajectories_graph = trajectories_graph[:-1] # Edge colors are based on distance between points geoplotlib.graph(trajectories_graph, src_lat='lat', src_lon='lon', dest_lat='dest_lat', dest_lon='dest_lon', linewidth=80, alpha=255) geoplotlib.show() #trajectories[self.frame_counter]
columns=['lat', 'lon', 'lat2', 'lon2']) i = 0 for point in points.iter(tag + 'trkpt'): lat = float(point.get('lat')) long = float(point.get('lon')) if i == 0: datapoints.loc[i] = [lat, long, 0, 0] else: last_lat = datapoints.loc[i - 1]['lat'] last_lon = datapoints.loc[i - 1]['lon'] datapoints.loc[i - 1] = [last_lat, last_lon, lat, long] datapoints.loc[i] = [lat, long, 0, 0] i += 1 return datapoints if __name__ == '__main__': files = argv[1:] for file in files: points = get_points(file) geoplotlib.graph(points[:-1], src_lat='lat', src_lon='lon', dest_lat='lat2', dest_lon='lon2', color=choice(COLORS), linewidth=3) geoplotlib.show()