#380 closed defect (fixed)
change how small distJB is handled in GriddedSurfaceUtilities
Reported by: | Peter Powers | Owned by: | Peter Powers |
---|---|---|---|
Priority: | major | Milestone: | OpenSHA 1.3 |
Component: | sha | Version: | |
Keywords: | Cc: |
Description
In the case of the Elsinore fault (and perhaps others), a >= 90 degree jog in the fault trace compounded with a steep dip results in a non-singular region being created from the gridded surface perimeter when trying to test if distJB is actually zero and the Region can not be created throwing an exception. P&K recommend porting region logic to GriddedSurfaceUtils?.
Attachments (1)
Change History (3)
comment:1 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Changed 12 years ago by
comment:2 Changed 12 years ago by
The attached photo illustrates the shortcoming of the modification/fix. For this geometry notice that there are some small areas for which the surface projection of the fault are being eliminated by virtue of the path that the perimeter follows.
Note: See
TracTickets for help on using
tickets.
Added a new private method to GriddedRegionUtils? that uses java.awt.geom.Area to create a Shape from the perimeter of a GriddedSurface? in the same manner as done by a Region. No singularity checking is done and the method should always return. The method is adequite, but not perfect. See comments at GriddedSurfaceUtils?.isDjbZero() for more information.
Added in [8477]
Also privatized the Frankel version of the isDistJB_Zero method. This method could/should probably be changed to creating an area via unioning the Areas defined by the quads for each trace segment and then doing contains(). THis would elimiate the ~0.5km buffer around the surface projection of a source for which dJB=0 but shouldn't. Are Frankel surfaces even used anymore? Regardless, such an approach would be applicable to CompoundGriddedSurfaces? as well.