maplibre-gl-lidar 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +31 -0
  2. package/dist/{LidarLayerAdapter-zXSROe7Q.cjs → LidarLayerAdapter-CHu9adLN.cjs} +1266 -89
  3. package/dist/LidarLayerAdapter-CHu9adLN.cjs.map +1 -0
  4. package/dist/{LidarLayerAdapter-ZG9A0pFN.js → LidarLayerAdapter-_Y5U5uBB.js} +1266 -89
  5. package/dist/LidarLayerAdapter-_Y5U5uBB.js.map +1 -0
  6. package/dist/index.cjs +2 -1
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.mjs +2 -1
  9. package/dist/react.cjs +7 -2
  10. package/dist/react.cjs.map +1 -1
  11. package/dist/react.mjs +8 -3
  12. package/dist/react.mjs.map +1 -1
  13. package/dist/types/index.d.ts +2 -0
  14. package/dist/types/index.d.ts.map +1 -1
  15. package/dist/types/lib/core/LidarControl.d.ts +29 -0
  16. package/dist/types/lib/core/LidarControl.d.ts.map +1 -1
  17. package/dist/types/lib/core/types.d.ts +12 -0
  18. package/dist/types/lib/core/types.d.ts.map +1 -1
  19. package/dist/types/lib/gui/PanelBuilder.d.ts +6 -0
  20. package/dist/types/lib/gui/PanelBuilder.d.ts.map +1 -1
  21. package/dist/types/lib/hooks/useLidarState.d.ts +1 -0
  22. package/dist/types/lib/hooks/useLidarState.d.ts.map +1 -1
  23. package/dist/types/lib/loaders/EptStreamingLoader.d.ts +240 -0
  24. package/dist/types/lib/loaders/EptStreamingLoader.d.ts.map +1 -0
  25. package/dist/types/lib/loaders/ept-types.d.ts +98 -0
  26. package/dist/types/lib/loaders/ept-types.d.ts.map +1 -0
  27. package/dist/types/lib/loaders/index.d.ts +2 -0
  28. package/dist/types/lib/loaders/index.d.ts.map +1 -1
  29. package/dist/types/lib/loaders/streaming-types.d.ts +1 -1
  30. package/dist/types/lib/loaders/streaming-types.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/LidarLayerAdapter-ZG9A0pFN.js.map +0 -1
  33. package/dist/LidarLayerAdapter-zXSROe7Q.cjs.map +0 -1
package/README.md CHANGED
@@ -9,6 +9,7 @@ A MapLibre GL JS plugin for visualizing LiDAR point clouds using deck.gl.
9
9
 
10
10
  - Load and visualize LAS/LAZ/COPC point cloud files (LAS 1.0 - 1.4)
11
11
  - **Dynamic COPC streaming** - viewport-based loading for large cloud-optimized point clouds
12
+ - **EPT (Entwine Point Tile) support** - stream large point cloud datasets from EPT servers
12
13
  - Multiple color schemes: elevation, intensity, classification, RGB
13
14
  - **Classification legend with toggle** - interactive legend to show/hide individual classification types
14
15
  - **Percentile-based coloring** - use 2-98% percentile range for better color distribution (clips outliers)
@@ -410,6 +411,35 @@ control.loadPointCloud(url, { loadingMode: 'dynamic' }); // Force streaming
410
411
 
411
412
  **Note:** Non-COPC files (regular LAS/LAZ) always use full loading mode since they don't have the octree structure required for streaming.
412
413
 
414
+ ### EPT (Entwine Point Tile) Support
415
+
416
+ maplibre-gl-lidar supports [Entwine Point Tile (EPT)](https://entwine.io/en/latest/entwine-point-tile.html) datasets, a widely-used format for serving large point clouds over HTTP with viewport-based streaming.
417
+
418
+ **Key features:**
419
+ - **Directory-based format** - Metadata in ept.json, hierarchy in ept-hierarchy/, data in ept-data/
420
+ - **Viewport-based streaming** - Points load dynamically based on current map view
421
+ - **LAZ compression** - Efficient data transfer using LAZ compression
422
+ - **Automatic CRS transformation** - Coordinates transformed from source CRS to WGS84
423
+
424
+ **Loading EPT data:**
425
+
426
+ ```typescript
427
+ // Load EPT dataset by URL (automatically detected via ept.json)
428
+ lidarControl.loadPointCloud('https://na-c.entwine.io/dublin/ept.json');
429
+
430
+ // Or load programmatically
431
+ lidarControl.loadPointCloudEptStreaming('https://na-c.entwine.io/dublin/ept.json', {
432
+ pointBudget: 5_000_000, // Max points in memory
433
+ });
434
+ ```
435
+
436
+ **Sample EPT datasets:**
437
+ - Dublin, Ireland: `https://na-c.entwine.io/dublin/ept.json`
438
+ - New York City (4.7B points): `https://na-c.entwine.io/nyc/ept.json`
439
+ - Red Rocks: `https://na-c.entwine.io/red-rocks/ept.json`
440
+
441
+ **Note:** EPT datasets require CORS support from the server. The sample datasets from entwine.io are CORS-enabled.
442
+
413
443
  ### React Hooks
414
444
 
415
445
  #### useLidarState
@@ -445,6 +475,7 @@ console.log(`Loaded ${data.pointCount} points`);
445
475
  - LAS 1.0 - 1.4 (all versions supported via copc.js + loaders.gl fallback)
446
476
  - LAZ (compressed LAS)
447
477
  - COPC (Cloud Optimized Point Cloud) - with dynamic streaming support
478
+ - EPT (Entwine Point Tile) - viewport-based streaming from HTTP servers
448
479
 
449
480
  **Note:** LAS 1.2 and 1.4 are loaded using copc.js for optimal performance. LAS 1.0, 1.1, and 1.3 files automatically fall back to @loaders.gl/las.
450
481