Class Generalization3D


  • public class Generalization3D
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      Generalization3D()
      Java class that generalizes 3D buildings for different LOD levels.
    • Constructor Detail

      • Generalization3D

        public Generalization3D()
        Java class that generalizes 3D buildings for different LOD levels. The LOD levels are as follows: LOD 4 - Full texture - Given by Navteq LOD 3 - Same geometry, no texture LOD 2 - "SIMPLIFIED GEOMETRY": How?- This class resolves this issue. We either keep ground footprint kept unchanged (choice = 1) or, simplify footprint to reduce faces (choice = 0). Roofs are ignored. LOD 1 - Extrude geometry : Use footprint and average height LOD 0 - Group LOD 1 Geometry : Footprints on ground must be merged like hull operation then extrude This last operation is called typification. We assume during generalization for LOD2 that: - building's ground is at z=0 plane and height is +ive. - building has one store i.e., the ground is connected to roof polygons via single level of polygon. - building has ground polygon(s) defined implicitly : In other words, we deduce ground plan from side walls of the building. - If ground plan is explicitly defined (NOT supported), we need to deduce ground plan directly from polygon(s) having z-coordinates equal to zero within tolerance (epsilon). Then, use getGroundPlan_old function for this case.
        Since:
        JDBC Driver
    • Method Detail

      • groundPlanSimplification

        public J3D_Geometry groundPlanSimplification​(J3D_Geometry A,
                                                     java.sql.Connection conn,
                                                     int choice,
                                                     double tolerance)
                                              throws java.lang.Exception
        Simplifies input 3D building geometry. LOD 4 - Full texture - Given by Navteq LOD 3 - Same geometry, no texture LOD 2 - "SIMPLIFIED GEOMETRY": How?- This function simplifies at this level. We either keep ground footprint kept unchanged (choice = 1) or, simplify footprint to reduce faces (choice = 0). Roofs are ignored. LOD 1 - Extrude geometry : Use footprint and average height LOD 0 - Group LOD 1 Geometry : Footprints on ground must be merged like hull operation -> extrude This last operation is called typification. We assume during generalization for LOD2 that: - building's ground is at z=0 plane and height is +ive. - building has one store i.e., the ground is connected to roof polygons via single level of polygon. - building has ground polygon(s) defined implicitly : In other words, we deduce ground plan from side walls of the building. - If ground plan is explicitly defined (NOT supported), we need to deduce ground plan directly from polygon(s) having z-coordinates equal to zero within tolerance (epsilon). Then, use getGroundPlan_old function for this case.
        Parameters:
        A - J3D_Geometry geometry which is input (original) 3D building
        conn - Database connection
        choice - 1: Simplification using building ground plan, 0: Simplification using simplified building ground plan.
        tolerance - Tolerance
        Returns:
        a J3D_Geometry (3D) geometry,
        Throws:
        java.lang.Exception - if an error occurs.
        Since:
        11gR2