Class SceneWithAttenuation

  • Direct Known Subclasses:
    SceneWithEmission

    public class SceneWithAttenuation
    extends Scene
    Scene is used by ProfileBuilder to construct profiles with only taking account of geometry information. This scene is adding information about attenuation and source power
    • Field Detail

      • directionAttributes

        public Map<Integer,​DirectivitySphere> directionAttributes
        Attenuation and other attributes relative to direction on sphere
      • sourceEmissionAttenuation

        public Map<Long,​Integer> sourceEmissionAttenuation
        Link between sources PK and DirectivitySphere specified in linked with directionAttributes
      • sourceGs

        public Map<Long,​Double> sourceGs
        Link between sources PK and gs ground factor of the source area
      • sourceFieldNames

        public Map<String,​Integer> sourceFieldNames
        Cached source table fields
      • cnossosParametersPerPeriod

        public Map<String,​AttenuationParameters> cnossosParametersPerPeriod
        Define attenuation settings to apply for each period
      • periodSet

        public Set<String> periodSet
        Keep a known set of all periods of the simulation This set is used to output a default value when there is no sound source found for a specific period
    • Constructor Detail

      • SceneWithAttenuation

        public SceneWithAttenuation​(ProfileBuilder profileBuilder)
      • SceneWithAttenuation

        public SceneWithAttenuation()
    • Method Detail

      • getSourceGs

        public double getSourceGs​(int srcIndex)
        Retrieves the ground speed of the noise source at the specified index.
        Parameters:
        srcIndex -
        Returns:
        the ground speed of the noise source at the specified index.
      • addSource

        public void addSource​(Long pk,
                              org.locationtech.jts.geom.Geometry geom,
                              Double gs)
        Add geometry with additional attributes
        Parameters:
        pk - Unique source identifier
        geom - Source geometry
        gs - Additional attributes
      • setDirectionAttributes

        public void setDirectionAttributes​(Map<Integer,​DirectivitySphere> directionAttributes)
        Sets the direction attributes for the receiver.
        Parameters:
        directionAttributes -
      • addSource

        public void addSource​(Long pk,
                              org.locationtech.jts.geom.Geometry geom,
                              org.h2gis.utilities.SpatialResultSet rs)
                       throws SQLException
        Add geometry with additional attributes
        Parameters:
        pk - Unique source identifier
        geom - Source geometry
        rs - Additional attributes fetched from database
        Throws:
        SQLException
      • isOmnidirectional

        public boolean isOmnidirectional​(int srcIndex)
        Checks if the noise source at the specified index is omnidirectional.
        Parameters:
        srcIndex - Source index in the list sourceGeometries
        Returns:
        True if the source is omnidirectional and so does not have orientation dependant attenuation, false otherwise.
      • getSourceAttenuation

        public double[] getSourceAttenuation​(int srcIndex,
                                             double[] frequencies,
                                             double phi,
                                             double theta)
        Parameters:
        srcIndex - Source index in the list sourceGeometries
        frequencies - Frequency in Hertz
        phi - (0 2π) 0 is front
        theta - (-π/2 π/2) 0 is horizontal π is top
        Returns: