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
65
Git with Bitbucket
suminb
0
89
RNA Secondary Structure Prediction
suminb
0
140
Memory Management in iOS App Development
suminb
0
120
Other Decks in Science
See All in Science
統計的因果探索: 背景知識とデータにより因果仮説を探索する
sshimizu2006
4
920
生成AI による論文執筆サポートの手引き(ワークショップ) / A guide to supporting dissertation writing with generative AI (workshop)
ks91
PRO
0
500
Healthcare Innovation through Business Entrepreneurship
clintwinters
0
230
IWASAKI Hideo
genomethica
0
110
3次元点群を利用した植物の葉の自動セグメンテーションについて
kentaitakura
2
1.2k
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
640
生成AIと学ぶPythonデータ分析再入門-Pythonによるクラスタリング・可視化をサクサク実施-
datascientistsociety
PRO
4
1.6k
ガウス過程回帰とベイズ最適化
nearme_tech
PRO
1
440
データベース01: データベースを使わない世界
trycycle
PRO
1
650
2025-06-11-ai_belgium
sofievl
1
130
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
850
Introd_Img_Process_2_Frequ
hachama
0
560
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Adopting Sorbet at Scale
ufuk
77
9.4k
Faster Mobile Websites
deanohume
307
31k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
The Language of Interfaces
destraynor
158
25k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The World Runs on Bad Software
bkeepers
PRO
69
11k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Being A Developer After 40
akosma
90
590k
RailsConf 2023
tenderlove
30
1.1k
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?