User Tools

Site Tools


geofencedsl

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

GeoFence DSL

javascript language.

Variables

event = { "fence" : <The specific fence that caused the event>
           "date" : <trigger date>
           "verb" : "IN" | "OUT"
         }
fences[] - access to each of the user defined geofences
fence = { 
     "name" : "Bob's GeoFence",
     "geometry": {
        "type": "Polygon",
        "coordinates": [
          [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
            [100.0, 1.0], [100.0, 0.0] ]
          ]
      } /* from http://locationcommons.org/index.php?title=GeoFence */
inside_fences[] - list of fences currently "inside"

Send an email on every fence crossing

 if event.verb == "IN" {
    email("don@don", "Fence entered!")
 }

Email Brennan after being at the Ace for more than 10 minutes

 ace = fences["Ace Hotel"]
 if (event.verb == "IN" && event.fence == ace) {
    if (ace.inside_trigger_time - Time.now > 10.minutes) {
      email("brennan", "Nerdout at the ACE Hotel!")
    }
 }
geofencedsl.1295993826.txt.gz · Last modified: 2024/01/31 04:08 (external edit)