Class CurvedProfileGenerator


  • public class CurvedProfileGenerator
    extends Object
    Generate a curved profile (favourable propagation conditions) from a coordinate list and two endpoints (source and receiver) Based on: Salomons, E., Van Maercke, D., Defrance, J.,&De Roo, F. (2011). The Harmonoise sound propagation model. Acta acustica united with acustica, 97(1), 62-74.
    Author:
    Pierre Aumond
    • Constructor Detail

      • CurvedProfileGenerator

        public CurvedProfileGenerator()
    • Method Detail

      • toCurve

        public static double toCurve​(double mn,
                                     double d)
        Eq.2.5.24 and Eq. 2.5.25
        Parameters:
        mn - Length of ray
        d - Distance between source and receiver
        Returns:
        Length of curved ray
      • applyTransformation

        public static List<CutPoint> applyTransformation​(List<CutPoint> flatProfile,
                                                         boolean inversed)
        Salomons, E., Van Maercke, D., Defrance, J.,&De Roo, F. (2011). The Harmonoise sound propagation model. Acta acustica united with acustica, 97(1), 62-74.
        Parameters:
        flatProfile -
        Returns:
      • applyTransformation

        public static org.locationtech.jts.geom.Coordinate[] applyTransformation​(org.locationtech.jts.geom.Coordinate cs,
                                                                                 org.locationtech.jts.geom.Coordinate cr,
                                                                                 org.locationtech.jts.geom.Coordinate[] flatProfile,
                                                                                 boolean inverse)
        Salomons, E., Van Maercke, D., Defrance, J.,&De Roo, F. (2011). The Harmonoise sound propagation model. Acta acustica united with acustica, 97(1), 62-74.
        Parameters:
        cs - Source coordinate
        cr - Receiver coordinate
        flatProfile - Array of coordinates representing the flat profile (should be discretized with segments distance < 50 m)
        inverse - If true, apply the inverse transformation (from curved to flat)
        Returns:
        Array of coordinates representing the curved profile