User Tools

Site Tools


icecondor

**This is an old revision of the document!**

IceCondor: Open Source Location Broker

See http://www.icecondor.com

See usecases
See API
See location
See androidclient
See news
See server benchmarks
See battery usage
See URLs
See pigeon

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?

accuracy estimate

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 in meters, centered on the given lat/long that gives a confidence to the 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. Hadoop?

Level 2 Headline

icecondor.1228852667.txt.gz · Last modified: 2024/01/31 04:08 (external edit)