16. The system of claim 15 , further comprising a display for displaying the identity of the one or more observed objects that satisfy the query.
15. A system for analyzing ballistic trajectories comprising: a database storing trajectory data for known ballistic objects; a preprocessor executing program instructions which, when executed, cause the preprocessor to: determine invariants for each of the known ballistic objects based on the trajectory data in the database; define a reference graph having nodes corresponding to the invariants for each of the known ballistic objects; and define a query graph having nodes connected to the nodes of the reference graph corresponding to anticipated queries to be made using the query graph; at least one sensor for monitoring trajectories of one or more observed objects; a runtime processor executing program instructions which, when executed, cause the runtime processor to input into the reference graph one or more sets of invariants corresponding to the trajectories of the one or more observed objects monitored by the at least one sensor, each of the one or more sets of invariants traversing through the nodes of the reference graph corresponding to the each of the one or more sets of invariants and leaving a record in the nodes traversed; and an interface configured to allow selection of a query for the query graph corresponding to one or more range of invariants, said query generating a query result identifying the nodes of the reference graph that satisfy the query; wherein the runtime processor further executes program instructions which, when executed, cause the runtime processor to identify records left in the identified nodes, thereby determining an identity of the one or more observed objects that satisfy the query.