Skip to main content

ign-pdal-tools

Python utilities for working with LiDAR point clouds and LAS/LAZ files with PDAL. The tools were developed for the LidarHD project at IGN. The library is maintained to meet the team's needs and may change over time.

What it does

Imagery

  • color.py adds RGB, infrared, or vegetation-index values to a point cloud using imagery from Geoplateforme or a local raster.
  • download_image.py downloads georeferenced GeoTIFF imagery from Geoplateforme and combines tiled requests for large extents.

Point-cloud editing

LAS/LAZ information and quality checks

Format and pipeline utilities

  • standardize_format.py rewrites a LAS/LAZ file in the library's standard format.
  • run_pdal_pipeline.py runs a PDAL pipeline provided as JSON against an input file and writes the output file.
  • unlock_file.py works around malformed TerraSolid LAS 1.4 files with point formats 6-10 that lack the global-encoding WKT flag.
  • create_random_laz.py generates synthetic LAZ files with configurable point format, CRS, classifications, and extra dimensions for testing.

Neighboring tiles

  • las_merge.py merges a tile with its neighboring tiles.
  • las_add_buffer.py adds points from neighboring tiles along a tile's border.
  • Both tools use filenames to determine tile extents and locate neighbors. The expected pattern is {prefix1}_{prefix2}_{xcoord}_{ycoord}_{postfix}, for example Semis_2021_0770_6278_LA93_IGN69.laz. By default, coordinates are in kilometers and tiles are 1 km by 1 km.

Python examples

Read LAS metadata:

from pdaltools import las_info

metadata = las_info.las_info_metadata("input.laz")

Infer a tile origin from point-cloud bounds:

from pdaltools import las_info, pcd_info

metadata = las_info.las_info_metadata("input.laz")
bounds = las_info.get_bounds_from_header_info(metadata)
origin_x, origin_y = pcd_info.infer_tile_origin(*bounds, tile_width=1000)

Install and use

Install from PyPI:

pip install ign-pdal-tools

For development, make install creates or updates the pdaltools mamba environment from environment.yml.

To build and run the tools in Docker, see Dockerfile and the Makefile targets below.

Development

  • Create or update the environment: make install
  • Run the standard test suite: make testing (excludes tests marked geopf)
  • Run all tests, including geopf tests: make testing_full
  • Install pre-commit hooks: make install-precommit
  • Record changes in CHANGELOG.md and update the version in pdaltools/_version.py when appropriate.

Build and package commands are defined in the Makefile:

  • make build builds the Python package.
  • make deploy uploads the built package to PyPI.
  • make docker-build builds the Docker image.
  • make docker-test runs the tests in Docker.
  • make docker-build-custom-pdal builds an image with the custom PDAL version configured in the Makefile.

Metadata

Release files for ign-pdal-tools 1.18.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ign-pdal-tools 1.18.1
File Size Uploaded Provenance Actions
ign_pdal_tools-1.18.1.tar.gz 70.6 kB With provenance Details for ign_pdal_tools-1.18.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ign-pdal-tools 1.18.1
File Interpreter ABI Platform Actions
ign_pdal_tools-1.18.1-py3-none-any.whl Python 3 none any Details for ign_pdal_tools-1.18.1-py3-none-any.whl

Total release size: 119.9 kB

Release files / ign_pdal_tools-1.18.1.tar.gz

Download URL ign_pdal_tools-1.18.1.tar.gz
Size 70.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ec81e96a7551778aa35cfeb67e9e8dee38225426e9fff68fe41877c0dee5ff73
BLAKE2b-256 checksum
How to use checksums
7e6d940c623a28d88ad26ba53321c2b7fa54622cf76065eb5af4cd1fa94c3b46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / ign_pdal_tools-1.18.1-py3-none-any.whl

Download URL ign_pdal_tools-1.18.1-py3-none-any.whl
Size 49.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81866a307a93365955ecbbe234ef8975fb326fd6d9a5ce7919c7d5835e62c4e5
BLAKE2b-256 checksum
How to use checksums
95ab9a88faed1ed3dcadf0bdc2ebd3d61d1755769a722852ef8be921b39f3fe4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Security for ign-pdal-tools 1.18.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ign_pdal_tools-1.18.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.18.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page