$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cartography 101
Search
Sumin Byeon
March 21, 2013
Science
1
57
Cartography 101
Sumin Byeon
March 21, 2013
Tweet
Share
More Decks by Sumin Byeon
See All by Sumin Byeon
Big Data in Action
suminb
1
71
Git with Bitbucket
suminb
0
93
RNA Secondary Structure Prediction
suminb
0
160
Memory Management in iOS App Development
suminb
0
120
Other Decks in Science
See All in Science
MCMCのR-hatは分散分析である
moricup
0
530
(2025) Balade en cyclotomie
mansuy
0
300
Kaggle: NeurIPS - Open Polymer Prediction 2025 コンペ 反省会
calpis10000
0
280
蔵本モデルが解き明かす同期と相転移の秘密 〜拍手のリズムはなぜ揃うのか?〜
syotasasaki593876
1
160
データベース15: ビッグデータ時代のデータベース
trycycle
PRO
0
400
デジタルアーカイブの教育利用促進を目指したメタデータLOD基盤に関する研究 / Research on a Metadata LOD Platform for Promoting Educational Uses of Digital Archives
masao
0
130
知能とはなにかーヒトとAIのあいだー
tagtag
0
120
baseballrによるMLBデータの抽出と階層ベイズモデルによる打率の推定 / TokyoR118
dropout009
2
640
凸最適化からDC最適化まで
santana_hammer
1
340
データマイニング - コミュニティ発見
trycycle
PRO
0
190
機械学習 - ニューラルネットワーク入門
trycycle
PRO
0
900
なぜ21は素因数分解されないのか? - Shorのアルゴリズムの現在と壁
daimurat
0
230
Featured
See All Featured
So, you think you're a good person
axbom
PRO
0
1.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
180
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
WCS-LA-2024
lcolladotor
0
380
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Rails Girls Zürich Keynote
gr2m
95
14k
Odyssey Design
rkendrick25
PRO
0
430
Transcript
Cartography 101 Sumin Byeon University of Arizona
The Ultimate Plan • Fully customizable map tiles • Serve
these map tiles on our own servers
Rationale • Google does not allow their map to be
used in any navigation software • OSM does not allow anyone to use their map servers for production purposes • CloudMade map servers are slow (perhaps it’s because we don’t pay?)
Cartography • Study and practice of making maps[1] • Projection
of a 3D world onto a 2D plane • Simplified view of the real world, selectively displaying different features depending on the purpose of the map
Slippy Maps • Interactive maps that can be zoomed and
panned around • Consists of tiles - generally 256x256 pixels • Dynamic loading • e.g., Google Maps, Bing Maps, Mapquest
Projections • Mercator projection • Normal Mercator • Transverse Mercator
• Miller cylindrical projection • Mollweide projection • Robinson projection
Mercator Projection
Prerequisites • Geospatial data • Software to process the data
• Map style definition • Tile generator • Storage (i.e., a database and a file system) • Servers to host tiles
Data Source • OpenStreetMap • XML • Nodes, links, polygons
• PBF • Binary format • ~30% smaller than compressed XML • Significantly faster to process
PostGIS • A spatial database extender for PostgreSQL • Enables
geospatial queries to be run in SQL • Supports for various features for manipulating geospatial objects
PostgreSQL • A very powerful relational database system • Known
for reliability, data integrity and correctness
Layer • Generally, a map is consist of multiple layers
• A layer is a subset of geospatial data that can be fetched by a single query
Layer SELECT name, place, population, way FROM planet_osm_point WHERE place='city'
ANDCAST(REPLACE(population, ',', '') AS INT) >= 25000 AND CAST(REPLACE(population, ',', '') AS INT) < 500000
Mapnik • A toolkit for developing map applications • Provides
sub-pixel accuracy (by using highly sophisticated anti-aliasing techniques) • https://github.com/mapnik/mapnik
Cascadenik • Mapnik style definitions in XML - low readability,
maintainability • Implements cascading stylesheets for Mapnik
Cascadenik • (Demo)
TileMill
Tile Generation • Export to an Mapnik XML • Feed
this XML to a tile generation script • Run a post processing script • Transfer tiles to servers
Questions?