Module 07
Publishing custom shaded reliefs
Yesterday in the Great Smokies
Webcam
archive
GEO 409: Advanced GIS
Last few weeks!
Two more web pages to complete
and the semester is over!
Open lab during weeks 16 and 17 (final exam week)
with no new instruction.
Final project?
A web page showing your exploration of lidar
with any interactive web map of a point cloud
(next module)
and two other visualizations.
Think of it as a portfolio showing your 🪄 expertise.
Goals
Create custom shaded relief maps
from lidar-derived DEMs and
DSMs
Publish them to a public web page (
example
)
Discover how to export layouts to Adobe Creative Cloud.
Check out this addendum
presentation
.
Level up
High-impact maps
start with the base layer.
What can be on every base map?
Topography
: the shape of the landscape.
Blender 3D
Professional, free and open
3D software
enables ray tracing to create subtle shading effects.
Complex user interface
but will focus on a very narrow use-case.
Sean Conway
UKy Geography major (2015 graduate)
making some cool stuff
and 💰
with Blender on
Muir Way
#b3d
Ray tracing
Captures an atmospheric quality
by illuminating nearby objects with reflected light.
Takes a long minute to render.
Hillshades
Compare
traditional hillshade
with Blender scene
In-class task
Create new Map Project, "module-07"
open application Notebook, shaded-relief.ipynb, and
create a shaded relief in ArcGIS Pro.
[Hillshade function](https://pro.arcgis.com/en/pro-app/latest/tool-reference/spatial-analyst/hillshade.htm) ```python # Make hillshade hillshade = arcpy.sa.Hillshade(in_raster, 285, 45) # 285 degrees is the azimuth, 45 degrees is the altitude ```
Problems?
Let's try a different approach
using multidirectional lighting.
Use the Imagery > Raster functions...
Prepare for Blender
Cannot use ArcGIS Pro layers directly.
Need a 16-bit integer raster
as a height map
to displace a plane.
Rescale raster values
to full 16-bit range
: 65,536 integer values
```py # Load raster and get statistics c = arcpy.sa.Raster('a_16bit_integer_raster') # load low and high values lo = c.minimum hi = c.maximum # Rescale raster to full range of integer values in 16-bit format, 0-65,535 d = ((c - lo) / (hi - lo))*65535 ```
Normalizing values
We'll use the Notebook
to normalize our elevation range for Blender.
Let's do it!
Output
You should have two files in your project
elevations.tif (16-bit integer raster)
elevations.tfw (world file to georeference TIFF)
Blender
Let's fire up Blender
and use the pre-configured scene:
scene.blend
in the application folder.
Close ArcGIS Pro
and follow the lesson documentation.
Overlay data?
Additional features can be added to the scene.
Blender output is minimal but detailed.
Try not to overdo it.
Data sources
The USGS National Map
aggregates many good layers for base maps.
Download data
Adobe Illustrator?
Download and install
extension
.
Login using ArcGIS credentials.
Export AIX file from ArcGIS Pro.
Example
AIX file
.
Public website
Create GitHub repository
enable GitHub Pages
and edit README.md
to include map and documentation.
Level up your web game
Create an index.html in your new repo
and add custom elements and styles.
HTML tutorial
Hypertext Markup Language (HTML) is the standard markup language for creating web pages and web applications.
That's next week!
STOP