Skip to content

Instantly share code, notes, and snippets.

@chambbj
chambbj / gist:b3b99defad62afa2aacc4d327711d4e3
Last active November 13, 2024 20:18
QGIS Build Environment Setup

First

mamba create -n qgis-build qgis --only-deps
mamba activate qgis-build
mamba install cmake winflexbison expat setuptools compilers pip
pip install pyqt-builder
cmake ..
@chambbj
chambbj / gist:50b25bf18e29574b6681218fc140cf06
Created November 14, 2019 13:22
Dual Boot Alienware Aurora R9 - Windows 10 & Ubuntu 19.10 - with GeForce RTX 2070 SUPER
Getting Windows to boot again after switching from RAID to ACHI.
http://triplescomputers.com/blog/uncategorized/solution-switch-windows-10-from-raidide-to-ahci-operation/
Dell instructions basically work.
https://www.dell.com/support/article/us/en/04/sln301754/how-to-install-ubuntu-and-windows-8-or-10-as-a-dual-boot-on-your-dell-pc?lang=en
@chambbj
chambbj / a.md
Last active January 5, 2018 13:08
Ground Extraction Using Differential Morphological Profiles

The algorithm is described in [1]. I've started a Jupyter Notebook that outlines the steps, but for those who just want to run with it, here is a pipeline that will apply the filter. Doing it this way, it's a bit slow (think 30 minutes for about 1.4M points on my MBP), but results look pretty good - perhaps good enough to justify coding up in C++ as a new stage.

Requires PDAL built with Python support, and Python packages astropy, numpy, pandas, and scipy. The parameters S, k, n, and b could be exposed as pdalargs to be user-defined. These values were appropriate for some of the ISPRS datasets.

[1] D. Mongus, N. Lukac, and B. Zalik, “Ground and building extraction from LiDAR data based on differential morphological profiles and locally fitted surfaces,” ISPRS J. Photogramm. Remote Sens., vol. 93, no. January, pp. 145–156, 2014.

@chambbj
chambbj / main.md
Created January 3, 2018 15:07
The Quick & Dirty Guide to Updating Alpine Packages for PDAL

I created a docker image that applied the steps described in https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Setup_your_system_and_account. Any time I need to update a package, I just spin the image back up.

To create a new package you could theoretically use the template instructions here https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Use_a_template_APKBUILD, but I usually just create my APKBUILD file from scratch.

Build is pretty simple. From the package directory, just abuild checksum && abuild -r as described in https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Build_the_package.

Regular git stuff for committing changes. https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Commit_your_work

Alpine accepts packages submitted to the mailing list https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Send_a_patch, or submitted as a GitHub PR (more on contributing here https://github.com/alpinelinux/aports/blob/master/.github/CONTRIBUTING.md).

@chambbj
chambbj / main.md
Last active November 20, 2017 20:53
Using a Temporary Dimension to Split PointViews

We recently had a user inquire about how to split their LAS file by classification, resulting in one file with all ground returns (classification = 2) and another with everything else. While we have the filters.groupby filter that can do something very close to this, you'd actually end up with individual files for every classification present.

Now a brute force solution immediately came to mind. What if we reassigned everything but ground to a common value with filters.assign and then used filters.groupby?

{
    "pipeline":[
        {
            "type":"filters.assign",
 "assignment":"Classification![2:2]=0"
@chambbj
chambbj / py-pdal.md
Last active October 19, 2017 17:45
PDAL + Python in 5 Easy Steps

Get up and running with the PDAL Python package in just five easy steps!

First, from your host, pull and then fire up an alpine:edge container.

$ docker pull alpine:edge
$ docker run -it alpine:edge /bin/sh

Now, within your running container, add the edge/testing repository, install py2-pdal, and verify the imported PDAL version number.

@chambbj
chambbj / hag-nonground.ipynb
Last active August 10, 2017 18:03
HAG of Non-ground Returns
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@chambbj
chambbj / new-hag-kde.ipynb
Last active August 10, 2017 17:35
New HAG KDE
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@chambbj
chambbj / basic-hag-kde.ipynb
Last active August 10, 2017 17:28
Basic HAG KDE
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@chambbj
chambbj / replot-kde-z.ipynb
Created August 10, 2017 17:13
Replot KDE Z
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.