import zmq
import time
from random import uniform
from geojson import Point as point
from geojson import Feature as feature
context = zmq.Context()
socket = context.socket(zmq.PUB)
socket.bind("tcp://127.0.0.1:5000")
 
def point_plus_accuracy(lat=None, lon=None, accuracy=None):
  if lat is None: lat = uniform(-180,180)
  if lon is None: lon = uniform(-90,90)
  if accuracy is None: accuracy = uniform(0,20000)
  return feature(geometry=point((lat,lon)), property={'accuracy': accuracy})

while True:
    msg = point_plus_accuracy()
    #print "->",msg
    socket.send_json(msg)
    time.sleep(uniform(0.01,1))
