Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
150
Memory Management in iOS App Development
suminb
0
120
Other Decks in Science
See All in Science
機械学習 - 授業概要
trycycle
PRO
0
280
機械学習 - 決定木からはじめる機械学習
trycycle
PRO
0
1.2k
イロレーティングを活用した関東大学サッカーの定量的実力評価 / A quantitative performance evaluation of Kanto University Football Association using Elo rating
konakalab
0
130
タンパク質間相互作⽤を利⽤した⼈⼯知能による新しい薬剤遺伝⼦-疾患相互作⽤の同定
tagtag
0
110
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
PRO
0
1k
ド文系だった私が、 KaggleのNCAAコンペでソロ金取れるまで
wakamatsu_takumu
2
1.7k
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
0
120
生成検索エンジン最適化に関する研究の紹介
ynakano
2
1.5k
KH Coderチュートリアル(スライド版)
koichih
1
53k
(メタ)科学コミュニケーターからみたAI for Scienceの同床異夢
rmaruy
0
140
Celebrate UTIG: Staff and Student Awards 2025
utig
0
360
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
1.2k
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Designing Experiences People Love
moore
142
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Thoughts on Productivity
jonyablonski
73
5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Done Done
chrislema
186
16k
A designer walks into a library…
pauljervisheath
210
24k
Practical Orchestrator
shlominoach
190
11k
Code Review Best Practice
trishagee
73
19k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
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?