def distances_from_event_set(self, event_set, event_set_trace_starts=True): """ The distance from self.sites to event_set.centroids. A big array-like object. """ if event_set_trace_starts: return Distances(self.latitude, self.longitude, event_set.rupture_centroid_lat, event_set.rupture_centroid_lon, event_set.length, event_set.azimuth, event_set.width, event_set.dip, event_set.depth, event_set.depth_to_top, projection, trace_start_lat=event_set.trace_start_lat, trace_start_lon=event_set.trace_start_lon, rupture_centroid_x=event_set.rupture_centroid_x, rupture_centroid_y=event_set.rupture_centroid_y) else: return Distances( self.latitude, self.longitude, event_set.rupture_centroids_lat, event_set.rupture_centroids_lon, event_set.lengths, event_set.azimuths, event_set.widths, event_set.dips, event_set.depths, event_set.depths_to_top, projection)
def test_mendez_distances(self): dist = Distances(None, None, None, None, None, None, None, None, None, None, None) rupture_centroid_lat = asarray((-31.0, -33, -36)) rupture_centroid_lon = asarray((116.0, 118, 222)) site_lat = asarray((-31, -32, -33, -34)) site_lon = asarray((116.0, 116.0, 116.0, 116.0)) distance1 = dist.raw_distances(site_lat, site_lon, rupture_centroid_lat, rupture_centroid_lon, lengths, azimuths, widths, dips, depths, depths_to_top, 'Epicentral', projection) distance2 = dist.raw_distances(site_lat, site_lon, rupture_centroid_lat, rupture_centroid_lon, lengths, azimuths, widths, dips, depths, depths_to_top, 'Obsolete_Mendez_epicentral', projection, trace_start_lat=rupture_centroid_lat, trace_start_lon=rupture_centroid_lon, rupture_centroid_x=0.0, rupture_centroid_y=0.0) assert allclose(distance1, distance2)
def test_Epicentral2(self): dist = Distances(None, None, None, None, None, None, None, None, None, None, None) distance_type = 'Epicentral' rupture_centroid_lat = asarray((-31.0, -33, -36)) rupture_centroid_lon = asarray((116.0, 118, 222)) site_lat = asarray((-31, -32, -33, -34)) site_lon = asarray((116.0, 116.0, 116.0, 116.0)) distance = dist.raw_distances(site_lat, site_lon, rupture_centroid_lat, rupture_centroid_lon, lengths, azimuths, widths, dips, depths, depths_to_top, distance_type, projection) d = As_The_Cockey_Flies(rupture_centroid_lat, rupture_centroid_lon, site_lat, site_lon) assert allclose(d, distance, rtol=0.1)
def test_Epicentral(self): dist = Distances(None, None, None, None, None, None, None, None, None, None, None) distance_type = 'Epicentral' rupture_centroid_lat = asarray((-31.0)) rupture_centroid_lon = asarray((116.0)) site_lat = asarray((-31, -32, -33, -34)) site_lon = asarray((116.0, 116.0, 116.0, 116.0)) distance = dist.raw_distances(site_lat, site_lon, rupture_centroid_lat, rupture_centroid_lon, lengths, azimuths, widths, dips, depths, depths_to_top, distance_type, projection) d = asarray((0, 1, 2, 3)) * (1.852 * 60) d = d[:, newaxis] d2 = As_The_Cockey_Flies(rupture_centroid_lat, rupture_centroid_lon, site_lat, site_lon) assert allclose(d, distance, rtol=0.001) assert allclose(d, d2)
def test_Hypocentral(self): dist = Distances(None, None, None, None, None, None, None, None, None, None, None) distance_type = 'Hypocentral' depths = 10.0 rupture_centroid_lat = asarray((-31.0, -33, -36)) rupture_centroid_lon = asarray((116.0, 118, 222)) site_lat = asarray((-31, -32, -33, -34)) site_lon = asarray((116.0, 116.0, 116.0, 116.0)) d = dist.raw_distances(site_lat, site_lon, rupture_centroid_lat, rupture_centroid_lon, lengths, azimuths, widths, dips, depths, depths_to_top, 'Epicentral', projection) distance = dist.raw_distances(site_lat, site_lon, rupture_centroid_lat, rupture_centroid_lon, lengths, azimuths, widths, dips, depths, depths_to_top, distance_type, projection) d = sqrt(d * d + depths * depths) assert allclose(d, distance)