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
46
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
59
Git with Bitbucket
suminb
0
77
RNA Secondary Structure Prediction
suminb
0
110
Memory Management in iOS App Development
suminb
0
95
Other Decks in Science
See All in Science
外国人が思う日本語のむずかしいところ
jamashita
0
330
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
310
How we developed a data exchange format: Lessons learned from Camtrap DP
peterdesmet
1
130
Mastering Feature Engineering: Mining the Hidden Salary Formula with CakeResume
tlyu0419
0
120
B-Cubed: Leveraging analysis-ready biodiversity datasets and cloud computing for timely and actionable biodiversity monitoring
peterdesmet
0
150
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
0
250
ChatGPT によるプログラミング授業の課題の解答生成の評価
toskamiya
0
250
ABEMAの効果検証事例〜効果の異質性を考える〜
s1ok69oo
3
1.4k
Non-Gaussian methods for causal discovery
sshimizu2006
0
160
研究・教育・産学連携の循環の実践
sshimizu2006
0
210
BigQueryで参加するレコメンドコンペ / bq-recommend-competition-kaggle-meetup-tokyo-2023
shimacos
1
1.2k
Machine Learning for Materials (Lecture 5)
aronwalsh
0
530
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
28
5.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
A better future with KSS
kneath
230
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.6k
GraphQLとの向き合い方2022年版
quramy
28
12k
Debugging Ruby Performance
tmm1
68
11k
Building Flexible Design Systems
yeseniaperezcruz
317
37k
The Cult of Friendly URLs
andyhume
73
5.6k
Documentation Writing (for coders)
carmenintech
59
3.8k
Building Adaptive Systems
keathley
29
1.8k
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?