Exemple #1
0
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')
Exemple #2
0
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()
Exemple #3
0
 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')
Exemple #6
0
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)'
Exemple #7
0
#!/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()
Exemple #9
0
        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]
Exemple #10
0
                                  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()