Skip to content

ZviMints/OOP_2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OOP Ex2

Created during a computer communication course during the second year at Ariel University
in the Department of Computer Science, 2018

Hierarchy:


About the project

This project can convert CSV files into Objects such as project,layer, and elements. in Addition we can represent any point in 3D space and perform vector operations on it and more. The program includes the next packages:


Algorithms



The Algorithms package is include MultiCSV class, that responsible to convert Multi CSV files into a KML file

Coords

The Coords package is include the next Classes:


  • MyCoords: Class that responsible to coords calculation, for example we can make add, calculate distance3d, distance2d, make vector from two 3DPoints, calculate Azimuth,Elevation and Dist between two 3D Points, and check if a input 3D Point is a Valid GPS Point.
  • coords_converter: a interface that MyCoords class implements

  • File_format

    The File_format package is include the next Classes:


  • CSV2KML: get .CSV file as input, and transform it into a .KML file
  • CSVToMatrix: get .CSV file as input, and transform it into a Matrix, we can take every cell in .CSV file in O(1)
  • Object2KML: get Object such that Layer,Project or Element and convert it into a KML file
  • Object2KML Constructor:

    Object2KML Constructor gets Object that represent Layer,Element or Project and get String, that String is that path were to put the kml file.

    Geom

    The Geom package is include the next Classes:


  • Geom_element: an interface that represent a Geom element
  • Point3D: a 3D Point that implements Geom_element

  • GIS

    The GIS package is include the next Classes:


    GIS Class Diagram:



  • Meta_data: an interface that represent data about point
  • Data: class that implements Meta_data, have information about a Point
  • GIS_element: an interface that represent a Element, each Geom element have Geom element and Meta_data
  • Element: class that implements GIS_element, have Geom element and Data, each Point is an element
  • GIS_layer: an interface that represent a set of GIS_element
  • Layer: class that represent a Set of elements, for example one .CSV file
  • GIS_Project: an interface that represent a set of GIS_layer
  • Project: This Class represent Project that is a Set of Layers
  • MetaElement: This Class represent Data that implements Meta_data, each Data is a Line information,each Data have RSSI,FirstSeen,Channel,SSID,Mac,Authmode.
  • MeatLayer: This Class Represent Layer Data such as Time,Path
  • MetaProject: This Class Represent Project Data such as Time,Path
  • For example, a Layer in KML file:

  • GIS_project: an interface that represent a set of GIS_layer
  • Project: class that represent a Set of Layers, for example Folder of .CSV files
  • For example, a Project in KML file:


    Layer Constructor:

    Layer Constructor get a String that represent path to .csv File and make a Elements from it and add them into his Set.

    Project Constructor:

    Project Constructor get a String that represent path to Folder and make a Layers from it and add them into his Set.

    Junit Testing

    The Testing package is include the next Classes:


  • Csv2kml Junit Test: Test CSV2kml class
  • MultiCSV Junit Test: Test MultiCSV class
  • MyCoords Junit Test: Test MyCoords class
  • GISTest Junit Test: Test Project and Layer under GIS package
  • About

    No description, website, or topics provided.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

     
     
     

    Contributors

    Languages