The project represents a game called Pacman Navigation, the game is performed on img of Google Earth. The course of the game: Choose a map location for Pacmans and fruits, then the goal of the Pacmans to eat the fruits in the shortest time (in terms of distance), the end of the game: Will be displayed on the map any track that Packman has made There is an example below the map.
In the algorithm package there is an algorithms:
- MultiCSV : algorithm that receives a project and target folder for scanning, scans it recursively, and once it reaches a CSV file, it creates a layer and adds it to the project.
- ShorthPathAlgorithm :The algorithm checks the shortest time for each Pacman, so at the end of the last Packman time all the fruits will be eaten (this is a greedy algorithm at the moment) .
The Coords package has the:
Represents a Class that allows us to perform calculations between GPS points such as:
- Move a point with a vector
- Calculates a vector between two points
- Azimuth calculation, Elevation
- Distance between two points ..
The File format package has:
The class has two functions:
- CSV2Kml function accepts a .csv file as a PATH, And manually converts it to a .kml file.
- Object2Kml function accepts a project. Which inside it has layers and within layers there is information with points, Then the function converts the points to the directions on the map (each route on the map represents a layer)
The class convert a CSV file to Game (Object in java) .
The class create CSV File and insert the data from Game Object .
The class create KML file that run on Google Earth. Running on Google Earth simulates a game like in gui in Java
Geom package represents shapes in space:
- GPSPoint: lat,long,alt (regular GPS Point )
- Point3D : can represents GPSPoint and vec .
This package represents a data structure that contains GPS points information:
- Meta_Data : represents Data according to class. For example, in GIS_Element the data represents the information on the point such as color time, etc. (comprehensive documentation is found in the departments themselves, see doc folder). Each point is reserved as an element which has information for each point such as: accuracy, name, etc.
- GIS_Element : Represents a GPS point of a map with information about the point.
- GIS_Layer : Represents a collection of points / directions on the map. (Similar to one csv file)
- GIS_Project : Represents a collection of layers / tracks on the map. (Similar to the folder of .csv files)
-
converting coordinates : https://stackoverflow.com/questions/1185408/converting-from-longitude-latitude-to-cartesian-coordinates
-
calculating 3D vector : https://stackoverflow.com/questions/41912407/calculate-a-vector-in-meter-from-two-gps-coordinates
-
calculating distance : http://www.vias.org/comp_geometry/math_coord_convert_3d.htm
-
how to convert csv to kml(from the resource) : http://convertcsv.com/csv-to-kml.htm
-
the idea of Azimuth : https://en.wikipedia.org/wiki/Azimuth