Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Real-time Tracking and Mapping of Geographic Objects by Ragi Burhum
Search
PyCon 2013
March 17, 2013
Technology
4
670
Real-time Tracking and Mapping of Geographic Objects by Ragi Burhum
PyCon 2013
March 17, 2013
Tweet
Share
More Decks by PyCon 2013
See All by PyCon 2013
Bayesian statistics made simple by Allen Downey
pyconslides
32
6.1k
Python for Humans
pyconslides
40
6.5k
Contribute with me! Getting started with the tools of free software development by Jessica McKellar
pyconslides
11
1.9k
ApplePy: An Apple ][ emulator in Python by James Tauber
pyconslides
3
1.5k
Use curses, don't swear by Sean Zicari
pyconslides
2
1.4k
Namespaces in Python by Eric Snow
pyconslides
9
1.7k
Internationalization and Localization Done Right by Ruchi Varshney
pyconslides
9
1.1k
"Good Enough" is good enough! by Alex Martelli
pyconslides
13
2.4k
Plover: Thought to Text at 240 WPM by Mirabai Knight
pyconslides
1
1.2k
Other Decks in Technology
See All in Technology
KTC_DBRE.pdf
_awache
0
290
Cloud Deploy と仲良くなりたい
phaya72
1
100
今さら聞けない!? AWSの生成AIサービス Amazon Bedrock入門!
minorun365
PRO
11
2.4k
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
220
統計的学習理論読み Chapter 1
kmatsui
3
830
Elementaryを用いたデータ品質の可視化とデータ基盤の運用改善
10xinc
6
1.5k
サービス成長と共に肥大化するモノレポ、長くなるCI時間 / As services grow, monorepos get bigger and CI time gets longer
kohbis
5
2.1k
任意コード実行の原理
ffri
0
170
TypeScript Quiz (Encraft #12 Frontend Quiz Night)
uhyo
4
410
「XX試験の環境作ってよ」と言われた時によく使うAWSのソリューションについて
bun913
0
120
あらゆる商品を扱う商品データベースを再設計した話 / product db re-architecture
rince
8
3.7k
技術広報として2023年度に頑張ったこと / What we did well in FY2023 as a DevRel
pauli
5
460
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
130
6.2k
Design by the Numbers
sachag
274
18k
Building an army of robots
kneath
300
41k
Music & Morning Musume
bryan
39
5.5k
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.8k
Scaling GitHub
holman
456
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.2k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
Web Components: a chance to create the future
zenorocha
304
41k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
113
18k
Embracing the Ebb and Flow
colly
78
4.1k
KATA
mclloyd
14
11k
Transcript
Real-time Tracking and Mapping of Geographic Objects Ragi Burhum @rburhum
[email protected]
AmigoCloud We Synchronize Map Data - offline/online - edit
If you have tried this before, this may seem familiar…
Licensing Issues - Password-protected Site - Asset Tracking or similar
- Map Data Provider’s (Navteq, TomTom/TeleAtlas, etc) Business Model
None
Most People See This
None
None
Examples of Free/Open Datasets Out There
OpenStreetMap
NAIP
SRTM
Natural Earth Data
Map Renderers (Mapnik, MapServer, GeoServer) + Style File
None
Client-side Map JS Library
“Normal” GeoStack Nginx Gunicorn (Django) TileStache Memcached Mapnik PostgreSQL/PostGIS Data
Storage Web / Mobile Client (OpenLayers) Varnish (80)
https://gist.github.com/RBURHUM/4559323
http://tilestache.org/doc/
None
A good real-time tracking solution requires a stateful connection
Polling is BAD
Server-Side Events Instead of having [N] clients polling every [X]
time interval, how about the server notifying you
None
Publisher/Subscriber Queue One of the queues (RabbitMQ, Redis, etc) M3
M2 M1 M4 Publisher Subscriber Subscriber Subscriber
Celery is awesome! from tasks import myCustomTask myCustomTask.do_work(my_data) myCustomTask.do_work.delay(my_data)
“Normal” GeoStack Nginx Gunicorn (Django) TileStache Memcached Mapnik PostgreSQL/PostGIS Data
Storage Web / Mobile Client (OpenLayers) Varnish (80)
“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
Demo http://abuse.amigocloud.com
None
Ragi Burhum @rburhum
[email protected]
m If you are in the
Bay Area and like Geo: http://www.meetup.com/geomeetup