def get_target_sites_mesh(self, maximum_distance, spacing, vs30, vs30measured=True, z1pt0=None, z2pt5=None, backarc=False): """ Renders a two dimensional mesh of points over the rupture surface """ # Get bounding box of dilated rupture lowx, highx, lowy, highy = self._get_limits_maximum_rjb( maximum_distance) # Create bounding box lines and then resample at spacing ewline = Line([Point(lowx, highy, 0.), Point(highx, highy, 0.)]) nsline = Line([Point(lowx, highy, 0.), Point(lowx, lowy, 0.)]) ewline = ewline.resample(spacing) nsline = nsline.resample(spacing) xvals = np.array([pnt.longitude for pnt in ewline.points]) yvals = np.array([pnt.latitude for pnt in nsline.points]) gridx, gridy = np.meshgrid(xvals, yvals) numx, numy = np.shape(gridx) npts = numx * numy gridx = (np.reshape(gridx, npts, 1)).flatten() gridy = (np.reshape(gridy, npts, 1)).flatten() site_list = [] if not z1pt0: #z1pt0 = vs30_to_z1pt0_as08(vs30) z1pt0 = vs30_to_z1pt0_cy14(vs30) if not z2pt5: #z2pt5 = z1pt0_to_z2pt5(z1pt0) z2pt5 = vs30_to_z2pt5_cb14(vs30) for iloc in range(0, npts): site_list.append(Site(Point(gridx[iloc], gridy[iloc], 0.), vs30, vs30measured, z1pt0, z2pt5, backarc=backarc)) self.target_sites = SiteCollection(site_list) self.target_sites_config = { "TYPE": "Mesh", "RMAX": maximum_distance, "SPACING": spacing, "VS30": vs30, "VS30MEASURED": vs30measured, "Z1.0": z1pt0, "Z2.5": z2pt5, "BACKARC": backarc} return self.target_sites
def get_target_sites_mesh(self, maximum_distance, spacing, vs30, vs30measured=True, z1pt0=None, z2pt5=None, backarc=False): """ Renders a two dimensional mesh of points over the rupture surface """ # Get bounding box of dilated rupture lowx, highx, lowy, highy = self._get_limits_maximum_rjb( maximum_distance) # Create bounding box lines and then resample at spacing ewline = Line([Point(lowx, highy, 0.), Point(highx, highy, 0.)]) nsline = Line([Point(lowx, highy, 0.), Point(lowx, lowy, 0.)]) ewline = ewline.resample(spacing) nsline = nsline.resample(spacing) xvals = np.array([pnt.longitude for pnt in ewline.points]) yvals = np.array([pnt.latitude for pnt in nsline.points]) gridx, gridy = np.meshgrid(xvals, yvals) numx, numy = np.shape(gridx) npts = numx * numy gridx = (np.reshape(gridx, npts, 1)).flatten() gridy = (np.reshape(gridy, npts, 1)).flatten() site_list = [] if not z1pt0: z1pt0 = vs30_to_z1pt0_as08(vs30) if not z2pt5: z2pt5 = z1pt0_to_z2pt5(z1pt0) for iloc in range(0, npts): site_list.append( Site(Point(gridx[iloc], gridy[iloc], 0.), vs30, vs30measured, z1pt0, z2pt5, backarc=backarc)) self.target_sites = SiteCollection(site_list) return self.target_sites
def rsmpl_old(ix, iy, samdst): """ """ # # create line instance ix = numpy.array([x + 360 if x < 0 else x for x in ix]) trench = Line([Point(x, y) for x, y in zip(ix, iy)]) rtrench = trench.resample(samdst) tmp = [[pnt.longitude, pnt.latitude] for pnt in rtrench.points] return numpy.array(tmp)
def get_target_sites_mesh(self, maximum_distance, spacing, vs30, vs30measured=True, z1pt0=None, z2pt5=None): """ Renders a two dimensional mesh of points over the rupture surface """ # Get bounding box of dilated rupture lowx, highx, lowy, highy = self._get_limits_maximum_rjb( maximum_distance) # Create bounding box lines and then resample at spacing ewline = Line([Point(lowx, highy, 0.), Point(highx, highy, 0.)]) nsline = Line([Point(lowx, highy, 0.), Point(lowx, lowy, 0.)]) ewline = ewline.resample(spacing) nsline = nsline.resample(spacing) xvals = np.array([pnt.longitude for pnt in ewline.points]) yvals = np.array([pnt.latitude for pnt in nsline.points]) gridx, gridy = np.meshgrid(xvals, yvals) numx, numy = np.shape(gridx) npts = numx * numy gridx = (np.reshape(gridx, npts, 1)).flatten() gridy = (np.reshape(gridy, npts, 1)).flatten() site_list = [] if not z1pt0: z1pt0 = vs30_to_z1pt0_as08(vs30) if not z2pt5: z2pt5 = z1pt0_to_z2pt5(z1pt0) for iloc in range(0, npts): site_list.append(Site(Point(gridx[iloc], gridy[iloc], 0.), vs30, vs30measured, z1pt0, z2pt5)) self.target_sites = SiteCollection(site_list) return self.target_sites