Real-time Tracking and Mapping of Geographic Objects by Ragi Burhum

Real-time Tracking and Mapping of Geographic Objects by Ragi Burhum

Afcfefa1f067d10bd021de0cc2e5e806?s=128

PyCon 2013

March 17, 2013
Tweet

Transcript

  1. Real-time Tracking and Mapping of Geographic Objects Ragi Burhum @rburhum

    ragi@amigocloud.com
  2. AmigoCloud We Synchronize Map Data - offline/online - edit

  3. If you have tried this before, this may seem familiar…

  4. Licensing Issues - Password-protected Site - Asset Tracking or similar

    - Map Data Provider’s (Navteq, TomTom/TeleAtlas, etc) Business Model
  5. None
  6. Most People See This

  7. None
  8. None
  9. Examples of Free/Open Datasets Out There

  10. OpenStreetMap

  11. NAIP

  12. SRTM

  13. Natural Earth Data

  14. Map Renderers (Mapnik, MapServer, GeoServer) + Style File

  15. None
  16. Client-side Map JS Library

  17. “Normal” GeoStack Nginx Gunicorn (Django) TileStache Memcached Mapnik PostgreSQL/PostGIS Data

    Storage Web / Mobile Client (OpenLayers) Varnish (80)
  18. https://gist.github.com/RBURHUM/4559323

  19. http://tilestache.org/doc/

  20. None
  21. A good real-time tracking solution requires a stateful connection

  22. Polling is BAD

  23. Server-Side Events Instead of having [N] clients polling every [X]

    time interval, how about the server notifying you
  24. None
  25. Publisher/Subscriber Queue One of the queues (RabbitMQ, Redis, etc) M3

    M2 M1 M4 Publisher Subscriber Subscriber Subscriber
  26. Celery is awesome! from tasks import myCustomTask myCustomTask.do_work(my_data) myCustomTask.do_work.delay(my_data)

  27. “Normal” GeoStack Nginx Gunicorn (Django) TileStache Memcached Mapnik PostgreSQL/PostGIS Data

    Storage Web / Mobile Client (OpenLayers) Varnish (80)
  28. “Real-time” GeoStack Nginx Gunicorn (Django) TileStache Memcached Mapnik PostgreSQL/PostGIS Data

    Storage Web / Mobile Client (OpenLayers, Socket IO) Varnish (80) Celery with RabbitMQ Node.js with Socket IO
  29. Demo http://abuse.amigocloud.com

  30. None
  31. Ragi Burhum @rburhum ragi@amigocloud.co m If you are in the

    Bay Area and like Geo: http://www.meetup.com/geomeetup