This is an old revision of the document!
IceCondor: Open Source Location Broker
A point location is defined by lat/long/altitude. An area location or polygon is defined by 3 or more point locations. A track point is a point location or area location plus a time. A 3d polygon?
The openmoko app, tangogps, introduced me to a new GPS concept - Horizontal/Vertial Dilution of Precision. the V-DOP/H-DOP value will help generate an an accuracy estimate. A high VDOP means a low accuracy so take a larger area and low confidence as the object's location. The location record will store a range, based in the given lat/long that gives a confidence to the location.
build a set of filters from the following. use a filter language/DSL?
I want to be notified when the results of a search are positive, or have result count of X. examples:
A list of notification triggers would be managed.
object being tracked: /object/<name>
track point: /trackpoint/<guid>
Distributed. Each IceCondor installation (node) uses a distributed hash table to store location records. Nodes can be added to the network easily and once added, its data is searchable by any other node. Using a DHT for storage would loose the benefits of postGIS for lat/long queries.