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
360
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
210
Django Through The Years
andrewgodwin
0
89
Writing Maintainable Software At Scale
andrewgodwin
0
330
A Newcomer's Guide To Airflow's Architecture
andrewgodwin
0
250
Async, Python, and the Future
andrewgodwin
2
540
How To Break Django: With Async
andrewgodwin
1
580
Taking Django's ORM Async
andrewgodwin
0
590
The Long Road To Asynchrony
andrewgodwin
0
510
The Scientist & The Engineer
andrewgodwin
1
580
Other Decks in Programming
See All in Programming
CDKコントリビュートの最初の壁を越えよう! -簡単issueの見つけ方-
badmintoncryer
3
230
Direct Style Effect Systems The Print[A] ExampleA Comprehension Aid
philipschwarz
PRO
0
140
Git Rebase
bkuhlmann
11
1.6k
PHPはいつから死んでいるかの調査
chiroruxx
2
420
Tailwind CSSを本気でカスタマイズする方法
fsubal
15
5.5k
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.3k
Let's learn code review
riofujimon
2
600
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.3k
Elm Form Validation
bkuhlmann
0
520
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
1
390
Node.js v22 で変わること
yosuke_furukawa
PRO
12
4k
Featured
See All Featured
Teambox: Starting and Learning
jrom
128
8.4k
Debugging Ruby Performance
tmm1
70
11k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Navigating Team Friction
lara
179
13k
Web Components: a chance to create the future
zenorocha
306
41k
Agile that works and the tools we love
rasmusluckow
325
20k
The Invisible Customer
myddelton
114
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
4 Signs Your Business is Dying
shpigford
176
21k
For a Future-Friendly Web
brad_frost
172
9k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Thoughts on Productivity
jonyablonski
60
3.9k
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