In [1]:
import numpy as np
import matplotlib.pyplot as plt
from rockfish2 import get_example_file
from rockfish2.navigation.utils.cartesian import build_rectangular_bins
from rockfish2.navigation.p190 import P190
In [2]:
p190 = P190(get_example_file('MGL1407MCS15.TEST.p190'))
mp = p190.calc_midpoints()
In [3]:
sql = 'SELECT midpoint_easting as x, midpoint_northing as y FROM receiver_groups WHERE receiver_group=230'
line = p190.read_sql(sql)
_ = p190.create_cmp_line(line.x, line.y, if_exists='replace')
sql = 'SELECT bin, easting as x, northing as y FROM cmp_line'
cmps = p190.read_sql(sql)
In [4]:
plot(cmps.x, cmps.y, '.k')
Out[4]:
In [5]:
sql = 'SELECT midpoint_easting as x, midpoint_northing as y FROM receiver_groups'
mp = p190.read_sql(sql)
plot(mp.x, mp.y, '.k')
plot(cmps.x, cmps.y, '.r')
Out[5]:
In [6]:
binx, biny = build_rectangular_bins(cmps.x, cmps.y, 6.25, 50.)
In [7]:
for i in range(0, len(cmps), 10):
plot(binx[i], biny[i], '.-r')
plot(cmps.x[i], cmps.y[i], '.k')
In [8]:
from shapely.geometry import Polygon, Point
In [9]:
polys = build_rectangular_bins(cmps.x, cmps.y, 6.25, 50., as_shapely=True)
In [14]:
pt = Point(cmps.x[200], cmps.y[200])
inpoly = np.nonzero([p.contains(pt) for p in polys])
In [15]:
inpoly
Out[15]:
In [ ]: