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 Ob...
Search
PyCon 2013
March 17, 2013
Technology
4
680
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.3k
Python for Humans
pyconslides
40
6.7k
Contribute with me! Getting started with the tools of free software development by Jessica McKellar
pyconslides
11
2k
ApplePy: An Apple ][ emulator in Python by James Tauber
pyconslides
3
1.6k
Use curses, don't swear by Sean Zicari
pyconslides
2
1.5k
Namespaces in Python by Eric Snow
pyconslides
9
1.8k
Internationalization and Localization Done Right by Ruchi Varshney
pyconslides
9
1.1k
"Good Enough" is good enough! by Alex Martelli
pyconslides
13
2.5k
Plover: Thought to Text at 240 WPM by Mirabai Knight
pyconslides
1
1.3k
Other Decks in Technology
See All in Technology
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
370
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7k
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
550
速くて安いWebサイトを作る
nishiharatsubasa
10
12k
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
270
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
800
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
330
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
200
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
960
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Become a Pro
speakerdeck
PRO
26
5.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Music & Morning Musume
bryan
46
6.3k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
A Tale of Four Properties
chriscoyier
158
23k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
How to train your dragon (web standard)
notwaldorf
91
5.8k
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