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
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.2k
Python for Humans
pyconslides
40
6.6k
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.5k
Use curses, don't swear by Sean Zicari
pyconslides
2
1.4k
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.2k
Other Decks in Technology
See All in Technology
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
580
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
Can We Measure Developer Productivity?
ewolff
1
150
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.1k
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
290
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
280
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
5
590
Featured
See All Featured
What's new in Ruby 2.0
geeforr
343
31k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
GraphQLとの向き合い方2022年版
quramy
43
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Documentation Writing (for coders)
carmenintech
65
4.4k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
860
The Cult of Friendly URLs
andyhume
78
6k
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