In [1]:
import os
import json
import glob
import geoplotlib
from dateutil import parser
from IPython.display import Image
from matplotlib.dates import date2num
from mpl_toolkits.mplot3d import Axes3D
from flock.plot import density
from pysurvey.plot import (setup, icolorbar, text, hist, minmax,  dateticks, legend)
from IPython.html.widgets import interact, interactive, fixed

In [2]:
hostname=!hostname
host = 'xenon' if hostname[0].startswith('axino') else 'gxenon'
filename = "/Users/ajmendez/data/aviation/blitz.log"

In [5]:
%%bash -s "$host" "$filename"
rsync -ravpP $1:/mnt/usb/blitz_archive/*.log ~/data/aviation/blitz/
#rsync -ravpP $1:tmp/dump1090_2.csv ~/data/aviation/flight_info.csv
#cat ~/data/aviation/blitz/* | sort | uniq > $2
wc -l ~/data/aviation/blitz/*


receiving file list ... 
91 files to consider
blitz_us_1431555602_2015.05.13.log
     5138893 100%    1.06MB/s    0:00:04 (xfer#1, to-check=0/91)

sent 10164 bytes  received 2316301 bytes  357917.69 bytes/sec
total size is 6087081715  speedup is 2616.45
   20715 /Users/ajmendez/data/aviation/blitz/blitz_us_1430593802_2015.05.02.log
   78650 /Users/ajmendez/data/aviation/blitz/blitz_us_1430631601_2015.05.03.log
  140500 /Users/ajmendez/data/aviation/blitz/blitz_us_1430718001_2015.05.04.log
   36347 /Users/ajmendez/data/aviation/blitz/blitz_us_1430804401_2015.05.05.log
    5188 /Users/ajmendez/data/aviation/blitz/blitz_us_1430829002_2015.05.05.log
    1825 /Users/ajmendez/data/aviation/blitz/blitz_us_1430840401_2015.05.05.log
   67070 /Users/ajmendez/data/aviation/blitz/blitz_us_1430844601_2015.05.05.log
   24990 /Users/ajmendez/data/aviation/blitz/blitz_us_1430890802_2015.05.06.log
   99996 /Users/ajmendez/data/aviation/blitz/blitz_us_1430916601_2015.05.06.log
   26186 /Users/ajmendez/data/aviation/blitz/blitz_us_1430970002_2015.05.06.log
  210475 /Users/ajmendez/data/aviation/blitz/blitz_us_1430977202_2015.05.07.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431054602_2015.05.07.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431055202_2015.05.07.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431055801_2015.05.07.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431056402_2015.05.07.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431057001_2015.05.07.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431057602_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431058201_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431058802_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431059401_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431060002_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431060601_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431061202_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431061802_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431062402_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431063001_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431063602_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431064201_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431064801_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431065402_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431066002_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431066601_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431067201_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431067802_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431068401_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431069002_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431069602_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431070201_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431070802_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431071401_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431072002_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431072602_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431073201_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431073802_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431074401_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431075002_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431075601_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431076202_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431076802_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431077401_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431078002_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431078601_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431079202_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431079801_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431080401_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431081001_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431081601_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431082202_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431082802_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431083401_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431084001_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431084602_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431085202_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431085801_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431086402_2015.05.08.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431087002_2015.05.08.log
  235615 /Users/ajmendez/data/aviation/blitz/blitz_us_1431087601_2015.05.08.log
   11944 /Users/ajmendez/data/aviation/blitz/blitz_us_1431150002_2015.05.09.log
    2107 /Users/ajmendez/data/aviation/blitz/blitz_us_1431153601_2015.05.09.log
    1100 /Users/ajmendez/data/aviation/blitz/blitz_us_1431154201_2015.05.09.log
    5568 /Users/ajmendez/data/aviation/blitz/blitz_us_1431154801_2015.05.09.log
  170908 /Users/ajmendez/data/aviation/blitz/blitz_us_1431156602_2015.05.09.log
  215968 /Users/ajmendez/data/aviation/blitz/blitz_us_1431183602_2015.05.09.log
   56477 /Users/ajmendez/data/aviation/blitz/blitz_us_1431236402_2015.05.10.log
   94057 /Users/ajmendez/data/aviation/blitz/blitz_us_1431250801_2015.05.10.log
    6927 /Users/ajmendez/data/aviation/blitz/blitz_us_1431278402_2015.05.10.log
       3 /Users/ajmendez/data/aviation/blitz/blitz_us_1431280202_2015.05.10.log
     842 /Users/ajmendez/data/aviation/blitz/blitz_us_1431280801_2015.05.10.log
   83286 /Users/ajmendez/data/aviation/blitz/blitz_us_1431281402_2015.05.10.log
  153180 /Users/ajmendez/data/aviation/blitz/blitz_us_1431299401_2015.05.10.log
  342801 /Users/ajmendez/data/aviation/blitz/blitz_us_1431322802_2015.05.11.log
   45162 /Users/ajmendez/data/aviation/blitz/blitz_us_1431400801_2015.05.11.log
    8404 /Users/ajmendez/data/aviation/blitz/blitz_us_1431409202_2015.05.12.log
  119993 /Users/ajmendez/data/aviation/blitz/blitz_us_1431411001_2015.05.12.log
   15978 /Users/ajmendez/data/aviation/blitz/blitz_us_1431467402_2015.05.12.log
   25951 /Users/ajmendez/data/aviation/blitz/blitz_us_1431477601_2015.05.12.log
   19875 /Users/ajmendez/data/aviation/blitz/blitz_us_1431495602_2015.05.13.log
    4142 /Users/ajmendez/data/aviation/blitz/blitz_us_1431505202_2015.05.13.log
   13493 /Users/ajmendez/data/aviation/blitz/blitz_us_1431509402_2015.05.13.log
   44094 /Users/ajmendez/data/aviation/blitz/blitz_us_1431522002_2015.05.13.log
    2125 /Users/ajmendez/data/aviation/blitz/blitz_us_1431555602_2015.05.13.log
 2392107 total

In [ ]:
# fname = '/Users/ajmendez/data/aviation/blitz/blitz_us_1430593802_2015.05.02.log'
# fname = '/Users/ajmendez/data/aviation/blitz/blitz_us_1430631601_2015.05.03.log'
x,y = [],[]
for fname in glob.iglob('/Users/ajmendez/data/aviation/blitz/*.log'):
    with open(fname, 'r') as f:
        for i, line in enumerate(f.readlines()):
            if line.startswith('#') or line.startswith('>'):
                continue
            try:
                data = json.loads(line.split('|')[2])
                pylab.plot(data['lon'], data['lat'], '.')
                x.append(data['lon'])
                y.append(data['lat'])
            except Exception as e:
                print i, e
    print i,
fname = 'all.log'

In [ ]:
# xr,yr = map(minmax, (x,y))
xr,yr = ((-130, -60), (0, 60))

In [ ]:
setup(figsize=(12,9), 
      xr=xr, xlabel='longitude', 
      yr=yr, ylabel='latitude')
den = density(x,y, extent=xr+yr, nbins=50, 
              logvrange=True, maskzeros=True,
              mesh=True, colorbar=False, cmap=pylab.cm.Greys)
icolorbar(den)

In [7]:
data = np.zeros(len(x), dtype=[('lat', np.float64),
                               ('lon', np.float64)] )
data['lat']= y
data['lon']= x

In [8]:
pname = os.path.basename(fname).replace('.log', '.png')
geoplotlib.tiles_provider('darkmatter')
geoplotlib.kde(data, bw=[0.5,0.5], cut_below=1e-6, alpha=140, cmap='coolwarm')
geoplotlib.set_bbox(geoplotlib.utils.BoundingBox(yr[0], xr[0], yr[1], xr[1]))

geoplotlib.savefig(pname.replace('.png',''))
Image(pname)


smallest non-zero count 6.9624781888e-08
max count: 213.581690591
all.png saved
Out[8]:

In [10]:
pname = os.path.basename(fname).replace('.log', '_light.png')
geoplotlib.tiles_provider('positron')
geoplotlib.kde(data, bw=[0.5,0.5], cut_below=1e-6, alpha=140, cmap='coolwarm')
geoplotlib.set_bbox(geoplotlib.utils.BoundingBox(yr[0], xr[0], yr[1], xr[1]))

geoplotlib.savefig(pname.replace('.png',''))
Image(pname)


smallest non-zero count 6.9624781888e-08
max count: 213.581690591
all_light.png saved
Out[10]:

In [ ]: