Skip to content

Explore Cesium Point Clouds for large-scale geospatial visualization #21

@rdhyee

Description

@rdhyee

Current Limitation

The existing Cesium tutorials use PointPrimitiveCollection which is CPU-based and limited to ~200K-500K points before performance degrades significantly. For the full iSamples dataset (6M+ points), this approach doesn't scale.

Proposed Solution: Cesium Point Clouds via 3D Tiles

Cesium supports GPU-accelerated point cloud rendering through 3D Tiles that could handle millions of points with:

  • GPU acceleration - significantly better performance
  • Level-of-detail - automatic optimization based on zoom level
  • Streaming - progressive data loading
  • Native Cesium integration - no external dependencies

Key Question: Direct Parquet Loading?

deck.gl can load points directly from data sources (including Parquet via DuckDB-WASM) without preprocessing - you just pass an array of points and it handles GPU batching internally.

Can Cesium Point Clouds work similarly? Or do they require preprocessing Parquet data into 3D Tiles format first?

Implementation Scenarios

Scenario A: Direct Loading (Preferred)

Hypothetical - load points directly from Parquet query results without preprocessing

Scenario B: Preprocessing Required

Current requirement - need to create 3D Tiles first

Research Needed

  1. Investigate if Cesium supports direct point loading without 3D Tiles preprocessing
  2. Compare with deck.gl approach - can we achieve similar workflow simplicity?
  3. Evaluate preprocessing complexity if tiles are required
  4. Performance testing with 1M+ points from iSamples dataset

Impact

If direct loading is possible, this could enable:

  • Full 6M+ point iSamples visualizations in Cesium
  • Better performance than current PointPrimitiveCollection
  • Maintain tutorial simplicity (no preprocessing pipeline)
  • GPU acceleration benefits

Priority

Medium - current approach works for demonstration purposes, but this could significantly enhance the tutorial capabilities for real-world dataset sizes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions