User Tools

Site Tools


icecondor

This is an old revision of the document!


IceCondor: Open Source Location Broker

See usecases
See API
See location

terms

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?

DOP advantage

The openmoko app, tangogps, introduced me to a new GPS concept - Horizontal/Vertial Dilution of Precision. A location record will store the V-DOP/H-DOP value to get an accuracy estimate. A high VDOP means a low accuracy so take a larger area and low confidence as the object's location.

build a set of filters from the following. use a filter language/DSL?

  • geo - location, radius
  • geo - polygon (set of points)
  • object type - person, business, event
  • record creation date
  • user id
publish/subscribe

I want to be notified when the results of a search are positive, or have result count of X. examples:

  • user A moves into/outof polygon B (in 3D space, could be in an elevator etc)
  • a filter set for polygon A results in X or more objects (eg. favorite bar has 4 or more friends)

A list of notification triggers would be managed.

clients
technology

language possibilities:

  • erlang
  • ruby

database:

  • postgresql + postGIS extension

access protocols:

  • HTML
  • XMPP
URLs

object being tracked: /object/<name>
track point: /trackpoint/<guid>

possible directions

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.

icecondor.1222273606.txt.gz · Last modified: 2016/06/25 11:25 (external edit)