A CLI tool for processing LiDAR data from Nova Scotia and PEI using QGIS
Project description
QGIS Nova Scotia & PEI LiDAR Processing Tool
A command-line tool for processing LiDAR data from Nova Scotia and Prince Edward Island using QGIS. This tool allows you to:
- Geocode addresses in Nova Scotia and PEI
- Download and process LiDAR point cloud data
- Extract building footprints from LiDAR data
- Generate satellite imagery for the location
- Visualize 3D point clouds
Features
- Address geocoding using OpenStreetMap Nominatim API
- Coordinate transformation between different CRS (WGS84, NAD83(CSRS), MTM zone 5)
- LiDAR point cloud processing using laspy
- Building point extraction
- 3D visualization capabilities
- Satellite imagery retrieval from Mapbox
Prerequisites
- Python 3.8 or higher
- QGIS 3.22.0 or higher
- Conda (required for QGIS installation)
Installation
The installation process has three steps: setting up QGIS, installing dependencies, and installing this package.
1. Install QGIS using Conda
First, create a new conda environment with QGIS installed:
# Create a new environment with QGIS and Python 3.8
conda create -n qgis-env -c conda-forge qgis python=3.8
# Activate the environment
conda activate qgis-env
2. Install Dependencies
Install required dependencies using conda:
conda install -c conda-forge pyproj numpy matplotlib
conda install -c conda-forge laspy lazrs
3. Install qgis-ns-pe
After activating the conda environment and installing dependencies, install this package:
# For users: install from PyPI (not yet available)
# pip install qgis-ns-pe
# For developers: install in editable mode from source
git clone https://github.com/amadgakkhar/qgis-ns-pe.git
cd qgis-ns-pe
pip install -e .
Package Structure
The package should have the following structure:
qgis-ns-pe/
├── qgis_ns_pe/
│ ├── __init__.py
│ └── cli.py
├── setup.py
└── README.md
Verification
To verify the installation:
# Make sure you're in the conda environment
conda activate qgis-env
# Try running the tool with --help
qgis-ns-pe --help
Usage
The tool can be used from the command line with the following syntax:
qgis-ns-pe --address "Your Address" --index_path "/path/to/lidar_index.gpkg" [--show_3d]
Example:
qgis-ns-pe --address "8 Alderwood Dr, Halifax, NS B3N 1S7" --index_path "/path/to/Index_LiDARtiles_tuileslidar.gpkg" --show_3d
Arguments
--address: The address to process (required)--index_path: Path to the LiDAR index GPKG file (required)--show_3d: Optional flag to show 3D visualizations of the point clouds
Output
The tool creates two directories:
lidar_tiles/: Contains downloaded LiDAR tilesoutput/: Contains processed files:sat.png: Satellite image of the locationlidar_cropped.laz: Cropped LiDAR point cloudbuildings.laz: Extracted building points
Troubleshooting
Common issues and solutions:
- QGIS not found: Make sure you've activated the conda environment with
conda activate qgis-env - Import errors: Ensure you're running the tool from the conda environment where QGIS is installed
- Missing dependencies: If you encounter any missing dependency errors, try installing them with conda first:
conda install -c conda-forge <package-name>
Data Sources
- LiDAR data: Nova Scotia and PEI government open data portals
- Geocoding: OpenStreetMap Nominatim API
- Satellite imagery: Mapbox Static Images API
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Authors
- Amad Gakkhar - Initial work
Acknowledgments
- QGIS Development Team
- laspy contributors
- OpenStreetMap contributors
- Mapbox
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qgis_ns_pe-0.1.1.tar.gz.
File metadata
- Download URL: qgis_ns_pe-0.1.1.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
795f2ae3dd6163d3eb827e9dc717812725148e51b72a961de07d8a9a286b54b5
|
|
| MD5 |
9058c5bb54b1ec030e296de208ae8d22
|
|
| BLAKE2b-256 |
77cb8f81a57e8afec37f01d66d4534841015686bf28dae9fb357260e7025e7fa
|
File details
Details for the file qgis_ns_pe-0.1.1-py3-none-any.whl.
File metadata
- Download URL: qgis_ns_pe-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9901123f687c96a238e75fd27799fc4bee86029d04c2eee0cc066e97ec84c410
|
|
| MD5 |
9412b89ef8afff1e127c367a57f10ed1
|
|
| BLAKE2b-256 |
f218164ea1cf9fea0bc014fc09c7c73db154e6a535cb038cd8081a7d6c3285af
|