TargetMapping Module Requirements
Objective
Maintain a map of targets that have been identified and allow for the retrieval of targets
Features
Feature | Requirement | |
---|---|---|
1 | Database Access Layer: Class | Build a class that maintains an in-memory sqlite database as its state using GeoAlchemy and Spatialite |
2 | Â Database Access Layer: Insert | Function to insert a new point into the target database |
3 | Database Access Layer: Target Matching | Allow user to check if any points in the database are within a given radius of a point passed into the function. |
4 | Database Access Layer: Point Finding | Allow user to find all points within a given polygon |
5 | Target Mapping: Export coordinates of edges of image from geolocation | Add the coordinates of the top left, top right, bottom left and bottom right points in an image to the data structure being exported from the geolocation module. |
6 | Target Mapping: Target De-Voting | Generate polygon from the coordinates of the edges of the frame. Query target database for all points within the polygon. If any of these points do not show up in the input bounding boxes, then remove votes. |
7 | Target Mapping: Target Voting | Query target database for a point below a given threshold, using the input bounding box as the center, and add votes to point. |
8 | Target Mapping: Generate POINT from input bounding box | Write a function that takes in the bounding box in [[x, y]] format and turns it into a POINT which can be used to query the database. |
9 | Target Mapping: Generate POLYGON from edges of frame | Given 4 points, return a POLYGON object that can be used for a query. |
10 | Worker function | Take in target coordinates and edges of frame. Generate polygon of frame and point of target. Perform target voting and target de-voting. |
References
A Framework for Multiple Ground Target Finding and Inspection Using a Multirotor UAS
https://geoalchemy-2.readthedocs.io/en/latest/spatialite_tutorial.html