Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Terrain, Art, Python and LiDAR

Terrain, Art, Python and LiDAR

A talk I gave at PyCon US 2019

Andrew Godwin

May 03, 2019
Tweet

More Decks by Andrew Godwin

Other Decks in Programming

Transcript

  1. Terrain,
    Andrew Godwin
    @andrewgodwin
    Art,
    Python
    & LiDAR

    View Slide

  2. Hi, I’m
    Andrew Godwin
    • Django contributor (Migrations/Channels)
    • Principle Engineer at
    • I always need more lasers

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. 1.
    Laser-cut profiles

    View Slide

  9. DEM: Digital Elevation Model

    View Slide

  10. View Slide

  11. 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

    View Slide

  12. View Slide

  13. View Slide

  14. Loads the DEM as a CSV
    Picks one in N rows
    Draws a contour using svgwrite

    View Slide

  15. View Slide

  16. View Slide

  17. 2.
    3D-printed cities

    View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. (1, 3, 4)
    (6, 5, 11)
    (3, 7, -2)

    View Slide

  23. POINT CLOUD → DIGITAL ELEVATION MAP (DEM)
    python-pcl
    lastools

    View Slide

  24. View Slide

  25. Top surface
    Fully sealed 3D model
    (with the tile base)

    View Slide

  26. View Slide

  27. Loads the DEM
    Clips height (top and bottom)
    Smooths rough features
    Writes out an STL file

    View Slide

  28. (1, 3, 4)
    (6, 5, 11)
    (3, 7, -2)

    View Slide

  29. How do you write STL?
    struct.pack(
    b"normal[0],
    normal[1],
    normal[2],
    x1, y1, z1,
    x2, y2, z2,
    x3, y3, z3,
    0,
    )

    View Slide

  30. Should I have used NumPy? Yes.
    Did I use NumPy? Err, no.

    View Slide

  31. github.com/andrewgodwin/lidartile

    View Slide

  32. View Slide

  33. View Slide

  34. 3.
    CNC-milled National Parks

    View Slide

  35. View Slide

  36. View Slide

  37. 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

    View Slide

  38. Irregular shapes!

    View Slide

  39. View Slide

  40. MAP PROJECTIONS

    View Slide

  41. View Slide

  42. Things I Won't Work With
    Unicode
    Names
    Timezones
    Currencies
    Networks
    Addresses
    Dioxygen Difluoride

    View Slide

  43. Things I Won't Work With
    Unicode
    Names
    Timezones
    Currencies
    Networks
    Addresses
    Dioxygen Difluoride
    Map Projections

    View Slide

  44. View Slide

  45. 4.
    The Future

    View Slide

  46. More US National Parks
    I do each one as I visit it. There are… 59.

    View Slide

  47. Easier Milling
    8 hours per piece. Really.

    View Slide

  48. Better STL optimisation
    Millions of polygons isn't great.

    View Slide

  49. Personal LiDAR
    Thanks, autonomous vehicles!

    View Slide

  50. github.com/andrewgodwin/lidartile
    github.com/andrewgodwin/gis_tools

    View Slide

  51. View Slide

  52. Thanks.
    Andrew Godwin
    @andrewgodwin aeracode.org

    View Slide