Pycon NL: 3D data science with Python - Sergio Peral

Tags: python, pycon

(One of my summaries of the 2026 one-day Pycon NL conference in Utrecht, NL).

Why Python for 3D? It often used to be done in C++. He showed an example in C++ and Python: the Python example was much shorter. But: Python is often only the interface, behind the scenes the library you use is often written in C/C++/Rust/etc.

The library landscape. There are many libraries you can use. Loading and storing: laspy, pdal, pyproj. Arays and speed; numpy, scipy, numba, dask. Processing: open3d, trimesh. Visualisation: pyvista, vtk. Learning: scikit-learn, pytorch3d.

One real pipeline. He used a pointcloud of part of the Jaarbeurs complex (where the conference was taking place), sourced from the Dutch public https://ahn.nl data source. The density is about 18 points per square meter and it uses some Dutch coordinate system (“RD New”).

A point cloud is just a set of points in 3D space. You can also represent it as a mesh (3d areas). A “voxel grid” is also often handy: you convert what you’re seeing into small stacked cubes.

What you need to do in a project: acquisition, preparation, exploration, analysis, visualisation.

No single library does the whole job. A partial exception is numpy: every step uses numpy vectors internally. He loaded the data with “laspy”. Then voxel downsampling with open3d (he took the average of all points in a cubic meter). 700k points turned into 200k points this way: much more manageable. He then did a bit of clustering and colored the clusters by data from a land use database.

Making it fast. Using numpy’s array operations is key. Don’t iterate over a loop in Python, but let numpy do its work. That way, there’s highly optimised compiled C++ code doing the work.

Some takeaways. Think in arrays, not points. Look befor you compute (so: check your data for obvious errors or problems). Make it small first. Let compiled code do the work.

His presentation is at https://github.com/Sloppy1999/pycon-nl-2026-3d-data-science

https://reinout.vanrees.org/images/2026/pyconnl-2.jpeg

Unrelated photo from our Nelen&Schuurmans company trip to Cologne/Köln in Germany. Railway tracks (‘linksrheinische’) behind the hotel, at the site of the former ‘Köln Gereon’ goods yard.