Module 05
Lidar & 3D visualization
Yesterday at Mammoth Cave
Webcam
archive
GEO 409: Advanced GIS
What did y'all do over break?
🎉🏀
🎸🗺️
🏖️🍹
Announcements
Example lab 5
Corner of Limestone and Avenue of Champions: Esports Theater on University of Kentucky’s campus
page
Pauer Cartography Award
Submissions are open!
Cash prize
Traditional cartography, 3D mapping, and web maps
Let me know if you want to submit.
Geography Enrichment Award
Want to explore a mapping and GIS topic in more detail?
Get paid to explore this topic!
Let me know if you if you are interested.
KAMP Conference
Kentucky Association of Mapping Professionals
annual conference
in Louisville.
Scholarships available.
Opportunities
that are good
for your career
Module goals
Test our maps.
3D visualizations like this one on
Instagram
or this
web viewer
.
Python to process data.
Final project theme?
Actual field trip to
Campus!
38.03833, -84.50442
Info
Virtual field trip to
Chained Rock
36.75348,-83.69781
Play 1-10 Chained Rock ⬇️
Lidar
(Light Detection and Ranging)
Lidar
Active sensor
with multiple returns and attributes.
Creates a point cloud (massively sampled locations).
Point cloud attributes
x, y, z position
time
intensity of return
Custom algorithms classify point
Airborne lidar
Massive sampling of earth's surface by plane.
Uses GPS and IMU (inertia measurement unit) to map point.
While can penetrate canopy, cannot 'see' under solid structures.
I.e., cannot see under our arches, bridges, overhangs.
Terrestrial lidar
Ground-based sampling.
Can build true 3D model, e.g., see under and inside.
Increasingly available in consumer products.
Airborne + Terrestrial 🤯
The most detailed model of our environment that has ever been made. Hi, digital twin!
Who's collecting data?
Your car, phone, computer, etc.
Benefits/problems
VR and AR experiences in real places.
You're measured.
Hey, your living room could fit this new chair!
Lidar challenge
Massive file size
State divided into 46,105 tiles
with one tile ~ 500 MB.
Difficult to visualize
(today).
How to handle these file sizes?
Python
Code most of the processing in ArcPy
to output raster derivatives
and browser optimized point clouds using video game technology.
9 GB point cloud > 250 MB raster
Applications
Abundant uses of lidar justify the technology
and our careful workflow.
What use might you discover?
Elevation
The most detailed, comprehensive digital elevation model of our environment that has ever been made,
including underwater.
Flooding, landslides, geological hazards, etc.
Archeology
New detail at archeological sites.
Lidar can penetrate dense canopy
and reveal details about past built environments.
Ancient Mayan cities
Trees!
Above ground features captured, like vegetation,
to model biomass, carbon, etc.
Also used in precision agriculture.
Delineating tree crowns in forest
Buildings!
What can you do with a detailed model of a city?
Reduce greenhouse emissions?
Put solar panels on buildings with most insolation.
Sanborn lidar NYC
Kentucky project
Kentucky Aerial Photography & Elevation Data (KYAPED) program
Collected during leaf-off conditions
no snow and water levels at or below normal.
Point cloud has max 2.23-foot horizontal spacing.
Access data in 5k ft x 5k ft tiles, 100–500 MB.
Includes high-resolution aerial imagery.
Goals
Create high-resolution elevation products for bare-earth conditions.
Statewide 5-ft and 2-ft resolution DEMs are now available.
Collected 2010–2023
Two phases show different times.
Completely free.
Classification
Algorithms classify point.
Need to filter for ground points.
All (non-noise) points give us above-ground feature height.
| KY classes | Meaning| |-------------|-----------:| |1 |Processed, but Unassigned (above ground features) | |2 |Bare-earth or ground| |7 & 18 |Noise (e.g., birds. Can be low or high, manually identified, if needed)| |9 |Water| |10 |Ignored Ground (Breakline Proximity)|
QC/QA
Heads-up digitizing to enforce hydro rule
Classify bridges and noise.
Field measurements to verify accuracy
Most measurements within .2 ft
In-class activity
Explore lidar point cloud in ArcGIS Pro
Preparation
Run the downloads.ipynb script in the repository's application folder.
Data location
LAS file format
Laser
format most common in GIS
LAZ file format
A compressed LAS file
Most common storage format
Need a separate utility to decompress and use in ArcGIS Pro.
laszip.exe include in our tools folder
Data location
Explore tiles and download data
KyFromAbove site
Download
Create a folder in your root GIS folder called
lidar
In that folder, create a folder called
download
Download two adjacent tiles to that folder
Make sure they are the same Phase, i.e., same version.
Decompress
Drag and drop the LAZ file, one by one, onto the laszip.exe application
Verify that you have two LAS files.
Create LAS dataset
Treat multiple tiles as a single layer.
Enter Python and the Lesson-05.ipynb
[Create LAS dataset](https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/create-las-dataset.htm) ```py # Create LAS dataset arcpy.CreateLasDataset_management (input_las_files, output_dataset) # for example: inLas = ["C:/path/ky_1.las","C:/path/ky_2.las"] outLasd = "C:/path/ky_lidar.lasd" arcpy.CreateLasDataset_management (inLas, outLasd) ```
Point cloud Derivatives
Airborne point clouds can be reduced to high-resolution raster imagery.
DEM
Digital Elevation Model
Most often bare-earth surface
Point cloud class code 2
DSM
Digital Surface Model
Includes the reflected surface
buildings, trees, bridges, etc.
Point cloud class codes 1, 2, 9, 17
Steps in model creation
Filter point cloud
Make LAS dataset layer (temporary)
Rasterize LAS dataset layer
[Make LAS dataset layer](https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/make-las-dataset-layer.htm) ```py # Make LAS dataset layer inLasd = "C:/path/ky_lidar.lasd" outLasd = "C:/path/ky_lidar_filtered.lasd" class_code = [1, 2] # ground and above ground arcpy.MakeLasDatasetLayer_management (inLasd, outLasd, class_code) ```
[LAS Dataset To Raster](https://pro.arcgis.com/en/pro-app/latest/tool-reference/conversion/las-dataset-to-raster.htm) ```py # LAS Dataset To Raster inLasd = "C:/path/ky_lidar_filtered.lasd" outImage = "C:/path/ky_dsm.tif" cellSize = 2 # 2 feet for Phase 2, otherwise 5 feet arcpy.LasDatasetToRaster (inLasd, outImage, "#", "#", "#", "#", cellSize) ```
[Hillshade](https://pro.arcgis.com/en/pro-app/latest/tool-reference/3d-analyst/hillshade.htm) ```py # Make Shaded Relief outImage = "C:/path/ky_dsm.tif" hillshade = "C:/path/ky_dsm_hillshade.tif" arcpy.HillShade_3d(out_image, hillshade, 270, 50, False, 2) ```
Create elevation surface
In an ArcGIS Pro Local Scene
drag the elevation layer to
Elevation Surfaces > Ground
Colorize point cloud
Apply color from overlapping imagery.
Can create realistic view of area of interest.
Creates new LAS files
Doubling your project size.
Load imagery
Connect Kentucky ArcGIS Server
https://kyraster.ky.gov/arcgis/services
Add server to new ArcGIS Pro projects
[Colorize LAS](https://pro.arcgis.com/en/pro-app/latest/tool-reference/3d-analyst/colorize-las.htm) ```py # Colorize LAS files bands = 'RED Band_1; GREEN Band_2; BLUE Band_3' # Or bands = 'RED Red; GREEN Green; BLUE Blue' inLasd = "C:/path/ky_lidar.lasd" inRaster = "ImageServices\\Ky_NAIP..." out_dir = "C:/path" arcpy.ColorizeLas_3d (inLasd, inRaster, bands, out_dir) ``` --- [Create new LAS dataset from colorized LAS files](https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/create-las-dataset.htm) ```py # Create LAS dataset inLas = ["C:/path/ky_1_colorized.las","C:/path/ky_2_colorized.las"] outLasd = "C:/path/ky_lidar_colorized.lasd" arcpy.CreateLasDataset_management (inLas, outLasd) ```
Application
Explore 3D Kentucky
Application steps
Start in lesson
Run notebook to process data (a few times to practice)
Start with a small buffer distance, e.g. < 1000 feet
Design 3D map and animation
Publish
to the world
with an image and a video animation.
Practice making a web page?
STOP