Skip to content

GEOAI_3D

Geospatial-first AI workflows for 3D data. LiDAR point clouds, with coordinate reference systems, vertical datums, provenance, and GIS export treated as first-class concerns rather than afterthoughts.

Most 3D tooling forgets your data has a coordinate system. GEOAI_3D keeps a CRS and a provenance record attached to every cloud and every output, handles the ellipsoidal-versus-orthometric height distinction explicitly, and processes clouds larger than memory with a tested tile-seam guarantee — then closes the loop to a classified GeoPackage a GIS analyst can open.

Install

pip install geoai3d

The base install is CPU-only and needs no compiler. Optional extras add compressed-LAZ IO, the 3D viewer, and GIS raster/vector export:

pip install "geoai3d[laz,viz,gis]"

A first workflow

Read a tile, describe its geometry, decompose the scene without any labels, and write a GIS layer — a handful of lines, all on a CPU:

import geoai3d as g3d

cloud = g3d.read_lidar("scan.laz")            # CRS read from the file header
cloud = g3d.geometric_features(cloud, radius=1.0)
segments = g3d.segment(cloud)                 # ground + objects, unsupervised
g3d.to_geopackage(segments, "segments.gpkg")  # CRS + lineage travel with it

See Getting started for the supervised classification workflow, and the Tutorials for runnable notebooks on real data.

Where it is

GEOAI_3D is built in stages, each shipping something installable and useful on its own. The current release delivers the out-of-core georeferenced foundation, frugal (label-free) segmentation, classical classification with honest spatially-blocked evaluation, and GIS raster/vector export. Deep-learning models and metric Gaussian splatting come later. See the roadmap.

Getting involved

The project is developed in the open and welcomes early involvement — especially from anyone holding point-cloud data with independently surveyed control. See Contributing.