Class CurvedProfileGenerator

java.lang.Object
org.noise_planet.noisemodelling.pathfinder.utils.geometry.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 Details

    • CurvedProfileGenerator

      public CurvedProfileGenerator()
  • Method Details

    • 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