Class CutProfile


  • public class CutProfile
    extends Object
    • Field Detail

      • cutPoints

        public ArrayList<CutPoint> cutPoints
        List of cut points. First point is source, last point is receiver
      • hasBuildingIntersection

        public boolean hasBuildingIntersection
        True if Source-Receiver linestring is below building intersection
      • hasTopographyIntersection

        public boolean hasTopographyIntersection
        True if Source-Receiver linestring is below topography cutting point.
    • Constructor Detail

      • CutProfile

        public CutProfile()
        Empty constructor for deserialization
    • Method Detail

      • insertCutPoint

        public void insertCutPoint​(boolean sortBySourcePosition,
                                   CutPoint... cutPointsToInsert)
        Insert and sort cut points,
        Parameters:
        sortBySourcePosition - After inserting points, sort the by the distance from the source
        cutPointsToInsert -
      • sort

        public void sort​(org.locationtech.jts.geom.Coordinate c0)
        Sort the CutPoints by distance with c0
      • getGPath

        public double getGPath​(CutPoint p0,
                               CutPoint p1,
                               double buildingRoofG)
        compute the path between two points
        Parameters:
        p0 -
        p1 -
        Returns:
        the absorption coefficient of this path
      • getGPath

        public double getGPath()
      • isFreeField

        public boolean isFreeField()
        Returns:
      • computePts2DGround

        public List<org.locationtech.jts.geom.Coordinate> computePts2DGround()
        From the vertical plane cut, extract only the top elevation points (buildings/walls top or ground if no buildings) then re-project it into a 2d coordinate system. The first point is always x=0.
        Returns:
        the computed 2D coordinate list of DEM
      • computePts2D

        public List<org.locationtech.jts.geom.Coordinate> computePts2D()
        Returns:
      • computePts2DGround

        public List<org.locationtech.jts.geom.Coordinate> computePts2DGround​(List<Integer> index)
        From the vertical plane cut, extract only the top elevation points (buildings/walls top or ground if no buildings) then re-project it into a 2d coordinate system. The first point is always x=0.
        Parameters:
        index - Corresponding index from parameter to return list items
        Returns:
        the computed 2D coordinate list of DEM
      • computePtsGround

        public static List<org.locationtech.jts.geom.Coordinate> computePtsGround​(List<CutPoint> pts,
                                                                                  List<Integer> index)
        From the vertical plane cut, extract only the top elevation points (buildings/walls top or ground if no buildings)
        Parameters:
        pts - Cut points
        index - Corresponding index from parameter to return list items
        Returns:
        the computed coordinate list of the vertical cut
      • computePts2DGround

        public static List<org.locationtech.jts.geom.Coordinate> computePts2DGround​(List<CutPoint> pts,
                                                                                    double tolerance,
                                                                                    List<Integer> index)
        From the vertical plane cut, extract only the top elevation points (buildings/walls top or ground if no buildings) then re-project it into a 2d coordinate system. The first point is always x=0.
        Parameters:
        pts - Cut points
        tolerance - Simplify the point list by not adding points where the distance from the line segments formed from the previous and the next point is inferior to this tolerance (remove intermediate collinear points)
        index - Corresponding index from parameter to return list items
        Returns:
        the computed 2D coordinate list of DEM
      • computePts2DGround

        public List<org.locationtech.jts.geom.Coordinate> computePts2DGround​(double tolerance,
                                                                             List<Integer> index)
        From the vertical plane cut, extract only the top elevation points (buildings/walls top or ground if no buildings) then re-project it into a 2d coordinate system. The first point is always x=0.
        Parameters:
        tolerance - Simplify the point list by not adding points where the distance from the line segments formed from the previous and the next point is inferior to this tolerance (remove intermediate collinear points)
        index - Corresponding index from parameter to return list items
        Returns:
        the computed 2D coordinate list of DEM