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
Cartography 101
Search
Sumin Byeon
March 21, 2013
Science
1
51
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
66
Git with Bitbucket
suminb
0
90
RNA Secondary Structure Prediction
suminb
0
150
Memory Management in iOS App Development
suminb
0
120
Other Decks in Science
See All in Science
テンソル分解による糖尿病の組織特異的遺伝子発現の統合解析を用いた関連疾患の予測
tagtag
2
220
04_石井クンツ昌子_お茶の水女子大学理事_副学長_D_I社会実現へ向けて.pdf
sip3ristex
0
600
LayerXにおける業務の完全自動運転化に向けたAI技術活用事例 / layerx-ai-jsai2025
shimacos
2
1.5k
データマイニング - ウェブとグラフ
trycycle
PRO
0
160
How To Buy, Verified Venmo Accounts in 2025 This year
usaallshop68
2
250
統計的因果探索: 背景知識とデータにより因果仮説を探索する
sshimizu2006
4
990
サイゼミ用因果推論
lw
1
7.5k
データから見る勝敗の法則 / The principle of victory discovered by science (open lecture in NSSU)
konakalab
1
130
局所保存性・相似変換対称性を満たす機械学習モデルによる数値流体力学
yellowshippo
1
300
研究って何だっけ / What is Research?
ks91
PRO
1
110
AIに仕事を奪われる 最初の医師たちへ
ikora128
0
920
Explanatory material
yuki1986
0
390
Featured
See All Featured
Side Projects
sachag
455
43k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Code Review Best Practice
trishagee
70
19k
A Tale of Four Properties
chriscoyier
160
23k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Fireside Chat
paigeccino
39
3.6k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Docker and Python
trallard
45
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?