Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Geospatial CSV Imports Hidden Complexity
Search
Kartones
October 27, 2015
Programming
64
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Geospatial CSV Imports Hidden Complexity
@ Mindcamp 7.0 2015, Madrid
Kartones
October 27, 2015
More Decks by Kartones
See All by Kartones
Building Autonomous Agents with gym-retro
kartones
0
56
Python static typing with MyPy
kartones
0
93
High-impact refactors keeping the lights on
kartones
0
79
Remote Work
kartones
0
110
Intro to GameBoy Development
kartones
0
110
Myths & The Real World of OpenSource Development
kartones
0
55
CartoDB Tech Intro
kartones
0
59
Copy Protection & Cracking History
kartones
0
150
Cómo ganar dinero con tus juegos online
kartones
1
130
Other Decks in Programming
See All in Programming
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
280
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
120
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
230
LLM 101
dalinaum
0
140
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3k
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
150
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.5k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.1k
パスワード再設定メールのURLについて知っておこう
uyuki234
0
200
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.1k
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
12
11k
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
300
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.8k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
570
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
460
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
750
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
290
Utilizing Notion as your number one productivity tool
mfonobong
4
630
Being A Developer After 40
akosma
PRO
92
590k
Transcript
@Kartones GEOSPATIAL CSV IMPORTS HIDDEN COMPLEXITY
@Kartones CartoDB
@Kartones Agenda 1) CSV Format Issues 2) Import Issues
@Kartones CSV FORMAT ISSUES
@Kartones Intro .csv / MIME:text/csv Unknown birthdate (80s?) RFC 4180
(2005)
@Kartones Intro Plain text Simple format Simple rules
@Kartones Usage
@Kartones CSV 0101000020E610000000000000008049C000000000000038C0,1083 "alien",2014-11-04 15:24:40.43413+00 category 1, "jump jump up!",
{""value"":""es""}
@Kartones WKT: Well-Known Text POINT (30 10) LINESTRING (30 10,
10 30, 40 40) POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) MULTIPOINT ((10 40), (40 30), (20 20), (30 10)) MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5))) https://en.wikipedia.org/wiki/Well-known_text
@Kartones WKB: Well-Known Binary POINT(2.0 4.0) = 000000000140000000000000004010000000000000 https://en.wikipedia.org/wiki/Well-known_text#Well-known_binary
@Kartones GeoJSON { "type": "Feature", "geometry": { "type": "Point", "coordinates":
[125.6, 10.1] }, "properties": { "name": "Dinagat Islands" } } http://geojson.org/
@Kartones IMPORT ISSUES
@Kartones Typical Huge files (>1GB) Lots of rows (+2M) Lots
of columns (~1600) XLS/XLSX -> CSV
@Kartones Typical Stream HTTP downloaded file Stream file between servers
Stream data import to DB
@Kartones Typical
@Kartones CartoDB-specific Content guessing (e.g. lat/lon) Type guessing Geometry errors
fixing Sync tables -> No downtime allowed
@Kartones DB-Specific Leave DB indexes as last step Prefer big
INSERT to multiple UPDATE GDAL’s ogr2ogr > Ruby/Python scripts http://www.gdal.org/ogr2ogr.html
@Kartones Questions? Thanks!
[email protected]