-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LiDAR point cloud to grid surface tutorial #5
Conversation
Tutorial showcasing LiDAR data processing pipeline over Wellington, New Zealand. Doing data loading using laspy, pre-processing with `blockmedian`, gridding with `surface`, and plotting in 2D with `grdimage` and in 3D using `grdview`.
book/lidar_to_surface.py
Outdated
|
||
# %% | ||
# Get bounding box region | ||
region: list = pygmt.info(data=df[["x", "y"]], spacing=1) # West, East, South, North |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @weiji14 this looks really good! One minor comment: I would avoid type annotations in the tutorial code. Most users won't have seen this before and it can be a bit confusing. Particularly for data analysis code like this, they don't add much since we won't be running any sort of static analysis tool.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, now that I think about it some more, if you're talking through it and explaining then it should be totally fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, I probably won't be typing out the type-hints in the live coding recording. But I find it useful to have it in the rendered version so people know what the variables are. Will have a bit of a think about it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about putting the variable at the end of the cell so they get the preview (which includes what they are)? Type hints are still very new and most novice/intermediate Python programmers won't have seen them before.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, printing out the variable sounds good.
First shot at a video recording! It's 27min30s which is a bit too long, so I might need to talk a bit faster or cut out some stuff to bring it down to 20min. Also not sure why Zoom recorded two windows of myself 😅 video1371165121.mp4If anyone has any feedback, let me know before l do a second (and hopefully final) recording tomorrow. |
@weiji14 just watched the video and it looks great! I really the style of your notebook 🙂 A few notes in case you want to give this another go:
|
Also, I thought your pacing was very good and easy to follow along. If you want to talk a bit faster you could but it also wouldn’t hurt to leave 1 or 2 things out as extra reading to save a few minutes. |
Thanks @leouieda for the great tips! I've started using OBS (just watched a few quick youtube videos to get up to speed) and am definitely hooked 😃
Good point. I also discovered that Jupyterlab has a View -> Presentation Mode setting which bumps up the font sizes a bit more.
I've got a second recording which is 25min, a bit shorter but not quite under 20min yet. Will leave it at that for now and see how long Max and Andre's recording is before deciding whether to re-record again. lidar_to_surface.mp4 |
Oh I didn't know that one. Will definitely use it next time I teach/record!
This looks really good, @weiji14! If you need to cut it down to 20 min, I would move the 3D section to Bonus content as well that people can follow with the notebook. That would get you to 20 minutes without having to blast through the content. |
Tutorial showcasing LiDAR data processing pipeline over Wellington, New Zealand. Doing data loading using laspy, pre-processing with
blockmedian
, gridding withsurface
, and plotting in 2D withgrdimage
and in 3D usinggrdview
.If anyone wants to test this locally, clone this branch and run
jupyter-book build book/
Note: I'll clear the Jupyter Notebook outputs and remove the
*.py
file (created using Jupytext) before merging this PR. Those files are just there to make it easier to review.