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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
PyCon 2013
March 17, 2013
Technology
690
4
Share
Real-time Tracking and Mapping of Geographic Objects by Ragi Burhum
PyCon 2013
March 17, 2013
More Decks by PyCon 2013
See All by PyCon 2013
Bayesian statistics made simple by Allen Downey
pyconslides
32
6.6k
Python for Humans
pyconslides
40
6.8k
Contribute with me! Getting started with the tools of free software development by Jessica McKellar
pyconslides
11
2.1k
ApplePy: An Apple ][ emulator in Python by James Tauber
pyconslides
3
1.7k
Use curses, don't swear by Sean Zicari
pyconslides
2
1.6k
Namespaces in Python by Eric Snow
pyconslides
9
2k
Internationalization and Localization Done Right by Ruchi Varshney
pyconslides
9
1.2k
"Good Enough" is good enough! by Alex Martelli
pyconslides
13
2.6k
Plover: Thought to Text at 240 WPM by Mirabai Knight
pyconslides
1
1.3k
Other Decks in Technology
See All in Technology
ワールドカフェ再び、そしてゴール・ルール・ロール・ツール / World Café Revisited, and the Goals-Rules-Roles-Tools
ks91
PRO
0
160
AI時代に、 データアナリストがデータエンジニアに異動して
jackojacko_
0
850
なぜ、私がCommunity Builderに?〜活動期間1か月半でも選出されたワケ〜
yama3133
0
130
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
6
970
20260515 ⾃分のアカウントとプライバシーを守る認証と認可の話〜利⽤者向け〜
oidfj
0
470
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
0
290
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
420
20260515 ID管理は会社を守る大切な砦!〜🔰情シス向け〜
oidfj
0
440
Claude Code / Codex / Kiro に AWS 権限を 渡すとき、何を設計すべきか
k_adachi_01
5
1.4k
100マイクロサービスのTerraform/Kubernetes管理地獄から抜け出すためのAI活用術
markie1009
0
150
バイブコーディング、仕様駆動、その先へ - 「不確実性に対する検査‧適応のサイクル」を設計する
littlehands
1
180
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
720
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
130
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Building AI with AI
inesmontani
PRO
1
980
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
350
It's Worth the Effort
3n
188
29k
Paper Plane (Part 1)
katiecoart
PRO
0
7.5k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
170
The Language of Interfaces
destraynor
162
26k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
200
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
310
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
140
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