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
Terrain, Art, Python and LiDAR
Search
Andrew Godwin
May 03, 2019
Programming
1
430
Terrain, Art, Python and LiDAR
A talk I gave at PyCon US 2019
Andrew Godwin
May 03, 2019
Tweet
Share
More Decks by Andrew Godwin
See All by Andrew Godwin
Reconciling Everything
andrewgodwin
1
330
Django Through The Years
andrewgodwin
0
220
Writing Maintainable Software At Scale
andrewgodwin
0
450
A Newcomer's Guide To Airflow's Architecture
andrewgodwin
0
360
Async, Python, and the Future
andrewgodwin
2
680
How To Break Django: With Async
andrewgodwin
1
730
Taking Django's ORM Async
andrewgodwin
0
730
The Long Road To Asynchrony
andrewgodwin
0
660
The Scientist & The Engineer
andrewgodwin
1
780
Other Decks in Programming
See All in Programming
AI時代のUIはどこへ行く?
yusukebe
18
8.9k
Testing Trophyは叫ばない
toms74209200
0
880
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
440
旅行プランAIエージェント開発の裏側
ippo012
2
910
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
160
はじめてのMaterial3 Expressive
ym223
2
740
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
24
12k
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
500
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
690
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
320
Rancher と Terraform
fufuhu
2
550
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Fireside Chat
paigeccino
39
3.6k
Documentation Writing (for coders)
carmenintech
74
5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Docker and Python
trallard
45
3.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
How GitHub (no longer) Works
holman
315
140k
Code Review Best Practice
trishagee
70
19k
Transcript
Terrain, Andrew Godwin @andrewgodwin Art, Python & LiDAR
Hi, I’m Andrew Godwin • Django contributor (Migrations/Channels) • Principle
Engineer at • I always need more lasers
None
None
None
None
None
1. Laser-cut profiles
DEM: Digital Elevation Model
None
10 9 5 3 2 9 7 4 3 2
8 7 3 2 4 6 8 5 3 5 4 9 7 4 6 3 8 8 6 5 2 5 4 3 3 10 9 5 3 2 9 7 4 3 2 8 7 3 2 4 6 8 5 3 5 4 9 7 4 6 3 8 8 6 5 2 5 4 3 3
None
None
Loads the DEM as a CSV Picks one in N
rows Draws a contour using svgwrite
None
None
2. 3D-printed cities
None
None
None
None
(1, 3, 4) (6, 5, 11) (3, 7, -2)
POINT CLOUD → DIGITAL ELEVATION MAP (DEM) python-pcl lastools
None
Top surface Fully sealed 3D model (with the tile base)
None
Loads the DEM Clips height (top and bottom) Smooths rough
features Writes out an STL file
(1, 3, 4) (6, 5, 11) (3, 7, -2)
How do you write STL? struct.pack( b"<ffffffffffffH", normal[0], normal[1], normal[2],
x1, y1, z1, x2, y2, z2, x3, y3, z3, 0, )
Should I have used NumPy? Yes. Did I use NumPy?
Err, no.
github.com/andrewgodwin/lidartile
None
None
3. CNC-milled National Parks
None
None
Take the US National DEM Get the outline of the
National Park Use QGIS to cut out a park-only DEM https://viewer.nationalmap.gov https://catalog.data.gov/dataset/national-park-boundariesf0a4c Toolbox > GDAL > Clip By Extent
Irregular shapes!
None
MAP PROJECTIONS
None
Things I Won't Work With Unicode Names Timezones Currencies Networks
Addresses Dioxygen Difluoride
Things I Won't Work With Unicode Names Timezones Currencies Networks
Addresses Dioxygen Difluoride Map Projections
None
4. The Future
More US National Parks I do each one as I
visit it. There are… 59.
Easier Milling 8 hours per piece. Really.
Better STL optimisation Millions of polygons isn't great.
Personal LiDAR Thanks, autonomous vehicles!
github.com/andrewgodwin/lidartile github.com/andrewgodwin/gis_tools
None
Thanks. Andrew Godwin @andrewgodwin aeracode.org