potree / PotreeConverter

Create multi res point cloud to use with potree
http://potree.org
BSD 2-Clause "Simplified" License
670 stars 417 forks source link

New single-file Potree format #648

Open m-schuetz opened 7 months ago

m-schuetz commented 7 months ago

About

Overview

The format comprises four main sections

Metadata

Metadata contains descriptions of point attributes, byte offsets to the hierarchy and geometry blocks, bounding box, and several other infos about the point cloud.

Example metadata JSON
{
    "version": "2.0",
    "name": "2024.01",
    "description": "",
    "points": 1417800187,
    "projection": "",
    "hierarchy": {
        "firstChunkSize": 168682,
        "stepSize": 6,
        "depth": 10
    },
    "offset": [ 2545704.252, 1210377.936, 872.639],
    "scale": [0.001, 0.001, 0.001],
    "spacing": 26.396867187500903,
    "boundingBox": {
        "min": [ 2545704.252, 1210377.936, 872.639],
        "max": [ 2549083.051, 1213756.735, 4251.438000000116]
    },
    "encoding": "DEFAULT",
    "pointBuffer": {
        "offset": 102400,
        "size": 32761429277
    },
    "hierarchyBuffer": {
        "offset": 32761531677,
        "size": 168682
    },
    "attributes": [
        {
            "name": "position",
            "description": "",
            "size": 12,
            "numElements": 3,
            "elementSize": 4,
            "type": "int32",
            "min": [2545704.252,1210377.936,872.639],
            "max": [2548500.008,1213756.735,1566.392],
            "scale": [1,1,1],
            "offset": [0,0,0]
        },{
            "name": "intensity",
            "description": "",
            "size": 2,
            "numElements": 1,
            "elementSize": 2,
            "type": "uint16",
            "min": [0],
            "max": [65535],
            "scale": [1],
            "offset": [0]
        },{
            "name": "rgb",
            "description": "",
            "size": 6,
            "numElements": 3,
            "elementSize": 2,
            "type": "uint16",
            "min": [0,0,0],
            "max": [65535,65535,65535],
            "scale": [1,1,1],
            "offset": [0,0,0]
        }
    ]
}

Hierarchy

Geometry

TODOs

Rdataflow commented 3 months ago

@m-schuetz is this maybe obsolete thanks to COPC support added in potree? https://github.com/potree/potree/pull/1381

Jipwox commented 1 week ago

@Rdataflow could you please elaborate on why COPC support would make this obsolete? I am new to potree