@geoql/v-maplibre 1.2.4 → 1.4.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 (53) hide show
  1. package/README.md +7 -0
  2. package/dist/controls/index.d.ts +2 -0
  3. package/dist/controls/lidar/VControlLidar.vue.d.ts +56 -0
  4. package/dist/controls/lidar/events.d.ts +1 -0
  5. package/dist/controls/lidar/index.d.ts +3 -0
  6. package/dist/controls/lidar/types.d.ts +81 -0
  7. package/dist/index.d.ts +4 -3
  8. package/dist/index.js +4275 -55
  9. package/dist/index.js.map +1 -1
  10. package/dist/layers/deckgl/arc/VLayerDeckglArc.vue.d.ts +1 -1
  11. package/dist/layers/deckgl/bitmap/VLayerDeckglBitmap.vue.d.ts +1 -1
  12. package/dist/layers/deckgl/cog/VLayerDeckglCOG.vue.d.ts +166 -0
  13. package/dist/layers/deckgl/cog/index.d.ts +1 -0
  14. package/dist/layers/deckgl/column/VLayerDeckglColumn.vue.d.ts +2 -2
  15. package/dist/layers/deckgl/contour/VLayerDeckglContour.vue.d.ts +2 -2
  16. package/dist/layers/deckgl/geohash/VLayerDeckglGeohash.vue.d.ts +2 -2
  17. package/dist/layers/deckgl/geojson/VLayerDeckglGeojson.vue.d.ts +2 -2
  18. package/dist/layers/deckgl/great-circle/VLayerDeckglGreatCircle.vue.d.ts +1 -1
  19. package/dist/layers/deckgl/grid/VLayerDeckglGrid.vue.d.ts +1 -1
  20. package/dist/layers/deckgl/grid-cell/VLayerDeckglGridCell.vue.d.ts +1 -1
  21. package/dist/layers/deckgl/h3-cluster/VLayerDeckglH3Cluster.vue.d.ts +2 -2
  22. package/dist/layers/deckgl/h3-hexagon/VLayerDeckglH3Hexagon.vue.d.ts +2 -2
  23. package/dist/layers/deckgl/heatmap/VLayerDeckglHeatmap.vue.d.ts +2 -2
  24. package/dist/layers/deckgl/hexagon/VLayerDeckglHexagon.vue.d.ts +1 -1
  25. package/dist/layers/deckgl/icon/VLayerDeckglIcon.vue.d.ts +2 -2
  26. package/dist/layers/deckgl/index.d.ts +1 -0
  27. package/dist/layers/deckgl/line/VLayerDeckglLine.vue.d.ts +1 -1
  28. package/dist/layers/deckgl/mvt/VLayerDeckglMVT.vue.d.ts +2 -2
  29. package/dist/layers/deckgl/path/VLayerDeckglPath.vue.d.ts +2 -2
  30. package/dist/layers/deckgl/point-cloud/VLayerDeckglPointCloud.vue.d.ts +2 -2
  31. package/dist/layers/deckgl/polygon/VLayerDeckglPolygon.vue.d.ts +2 -2
  32. package/dist/layers/deckgl/quadkey/VLayerDeckglQuadkey.vue.d.ts +2 -2
  33. package/dist/layers/deckgl/s2/VLayerDeckglS2.vue.d.ts +2 -2
  34. package/dist/layers/deckgl/scatterplot/VLayerDeckglScatterplot.vue.d.ts +2 -2
  35. package/dist/layers/deckgl/scenegraph/VLayerDeckglScenegraph.vue.d.ts +7 -1
  36. package/dist/layers/deckgl/screen-grid/VLayerDeckglScreenGrid.vue.d.ts +1 -1
  37. package/dist/layers/deckgl/simple-mesh/VLayerDeckglSimpleMesh.vue.d.ts +1 -1
  38. package/dist/layers/deckgl/solid-polygon/VLayerDeckglSolidPolygon.vue.d.ts +2 -2
  39. package/dist/layers/deckgl/terrain/VLayerDeckglTerrain.vue.d.ts +1 -1
  40. package/dist/layers/deckgl/text/VLayerDeckglText.vue.d.ts +2 -2
  41. package/dist/layers/deckgl/tile/VLayerDeckglTile.vue.d.ts +2 -2
  42. package/dist/layers/deckgl/tile-3d/VLayerDeckglTile3D.vue.d.ts +3 -2
  43. package/dist/layers/deckgl/trips/VLayerDeckglTrips.vue.d.ts +2 -2
  44. package/dist/layers/deckgl/wms/VLayerDeckglWMS.vue.d.ts +1 -1
  45. package/dist/layers/index.d.ts +1 -0
  46. package/dist/layers/maplibre/route/VLayerMaplibreRoute.vue.d.ts +64 -0
  47. package/dist/layers/maplibre/route/index.d.ts +1 -0
  48. package/dist/markers/VMarker.vue.d.ts +1 -1
  49. package/package.json +15 -2
  50. package/dist/index-kNnO8_Zs.js +0 -56222
  51. package/dist/index-kNnO8_Zs.js.map +0 -1
  52. package/dist/index-m5ZKPBwA.js +0 -5106
  53. package/dist/index-m5ZKPBwA.js.map +0 -1
package/README.md CHANGED
@@ -46,6 +46,9 @@ bun add @deck.gl/core @deck.gl/layers @deck.gl/mapbox
46
46
  bun add @deck.gl/aggregation-layers # Heatmap, Hexagon, Grid
47
47
  bun add @deck.gl/geo-layers # Trips, MVT, Tile, H3
48
48
  bun add @deck.gl/mesh-layers # SimpleMesh, Scenegraph
49
+
50
+ # Raster layers (COG/GeoTIFF)
51
+ bun add @developmentseed/deck.gl-geotiff
49
52
  ```
50
53
 
51
54
  ## Quick Start
@@ -129,6 +132,10 @@ High-performance WebGL visualization layers powered by deck.gl:
129
132
  - `VLayerDeckglSimpleMesh` - 3D meshes
130
133
  - `VLayerDeckglScenegraph` - glTF/GLB models
131
134
 
135
+ **Raster Layers** (requires `@developmentseed/deck.gl-geotiff`)
136
+
137
+ - `VLayerDeckglCOG` - Cloud-Optimized GeoTIFF visualization
138
+
132
139
  ### Control Components
133
140
 
134
141
  - **`VControlNavigation`** - Navigation controls (zoom, rotate)
@@ -3,3 +3,5 @@ export { FullscreenControl as VControlFullscreen } from './fullscreen';
3
3
  export { GeolocateControl as VControlGeolocate } from './geolocate';
4
4
  export { NavigationControl as VControlNavigation } from './navigation';
5
5
  export { ScaleControl as VControlScale } from './scale';
6
+ export { LidarControl as VControlLidar } from './lidar';
7
+ export type { LidarControlOptions, ColorScheme, CopcLoadingMode, PointCloudInfo, PointCloudBounds, StreamingProgress, LidarLoadEventData, LidarErrorEventData, LidarUnloadEventData, } from './lidar';
@@ -0,0 +1,56 @@
1
+ import type { ControlPosition, LidarControlOptions, ColorScheme, PointCloudInfo } from './types';
2
+ type __VLS_Props = {
3
+ options?: LidarControlOptions;
4
+ position?: ControlPosition;
5
+ defaultUrl?: string;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
8
+ loadPointCloud: (source: string | File | ArrayBuffer) => Promise<PointCloudInfo> | undefined;
9
+ unloadPointCloud: (id?: string) => void | undefined;
10
+ flyToPointCloud: (id?: string) => void | undefined;
11
+ setPointSize: (size: number) => void | undefined;
12
+ setColorScheme: (scheme: ColorScheme) => void | undefined;
13
+ setOpacity: (opacity: number) => void | undefined;
14
+ setPickable: (pickable: boolean) => void | undefined;
15
+ setUsePercentile: (use: boolean) => void | undefined;
16
+ setElevationRange: (min: number, max: number) => void | undefined;
17
+ clearElevationRange: () => void | undefined;
18
+ setZOffset: (offset: number) => void | undefined;
19
+ setZOffsetEnabled: (enabled: boolean) => void | undefined;
20
+ toggle: () => void | undefined;
21
+ expand: () => void | undefined;
22
+ collapse: () => void | undefined;
23
+ getState: () => unknown;
24
+ getPointClouds: () => PointCloudInfo[] | undefined;
25
+ stopStreaming: (id?: string) => void | undefined;
26
+ isStreaming: (id?: string) => boolean | undefined;
27
+ getControl: () => {
28
+ on: (event: string, handler: (data?: unknown) => void) => void;
29
+ off: (event: string, handler: (data?: unknown) => void) => void;
30
+ loadPointCloud: (source: string | File | ArrayBuffer) => Promise<PointCloudInfo>;
31
+ unloadPointCloud: (id?: string) => void;
32
+ flyToPointCloud: (id?: string) => void;
33
+ setPointSize: (size: number) => void;
34
+ setColorScheme: (scheme: ColorScheme) => void;
35
+ setOpacity: (opacity: number) => void;
36
+ setPickable: (pickable: boolean) => void;
37
+ setUsePercentile: (use: boolean) => void;
38
+ setElevationRange: (min: number, max: number) => void;
39
+ clearElevationRange: () => void;
40
+ setZOffset: (offset: number) => void;
41
+ setZOffsetEnabled: (enabled: boolean) => void;
42
+ toggle: () => void;
43
+ expand: () => void;
44
+ collapse: () => void;
45
+ getState: () => unknown;
46
+ getPointClouds: () => PointCloudInfo[];
47
+ stopStreaming: (id?: string) => void;
48
+ isStreaming: (id?: string) => boolean;
49
+ } | null;
50
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
51
+ options: LidarControlOptions;
52
+ position: ControlPosition;
53
+ defaultUrl: string;
54
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
55
+ declare const _default: typeof __VLS_export;
56
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare const lidarControlEvents: string[];
@@ -0,0 +1,3 @@
1
+ export { default as LidarControl } from './VControlLidar.vue';
2
+ export * from './types';
3
+ export * from './events';
@@ -0,0 +1,81 @@
1
+ export type { ControlPosition } from 'maplibre-gl';
2
+ export type ColorScheme = 'elevation' | 'intensity' | 'classification' | 'rgb';
3
+ export type CopcLoadingMode = 'full' | 'dynamic';
4
+ export interface PointCloudBounds {
5
+ minX: number;
6
+ minY: number;
7
+ minZ: number;
8
+ maxX: number;
9
+ maxY: number;
10
+ maxZ: number;
11
+ }
12
+ export interface PointCloudInfo {
13
+ id: string;
14
+ name: string;
15
+ pointCount: number;
16
+ bounds: PointCloudBounds;
17
+ hasRGB: boolean;
18
+ hasIntensity: boolean;
19
+ hasClassification: boolean;
20
+ source: string;
21
+ wkt?: string;
22
+ }
23
+ export interface StreamingProgress {
24
+ loadedNodes: number;
25
+ loadedPoints: number;
26
+ queueSize: number;
27
+ isLoading: boolean;
28
+ }
29
+ export interface LidarControlOptions {
30
+ /** Start collapsed (default: true) */
31
+ collapsed?: boolean;
32
+ /** Panel title (default: 'LiDAR Viewer') */
33
+ title?: string;
34
+ /** Panel width in pixels (default: 365) */
35
+ panelWidth?: number;
36
+ /** Panel max height with scrollbar (default: 500) */
37
+ panelMaxHeight?: number;
38
+ /** Custom CSS class */
39
+ className?: string;
40
+ /** Point size in pixels (default: 2) */
41
+ pointSize?: number;
42
+ /** Opacity 0-1 (default: 1.0) */
43
+ opacity?: number;
44
+ /** Color scheme (default: 'elevation') */
45
+ colorScheme?: ColorScheme;
46
+ /** Use 2-98% percentile for coloring (default: true) */
47
+ usePercentile?: boolean;
48
+ /** Max points to display (default: 1000000) */
49
+ pointBudget?: number;
50
+ /** Elevation filter range */
51
+ elevationRange?: [number, number] | null;
52
+ /** Enable Z offset adjustment (default: false) */
53
+ zOffsetEnabled?: boolean;
54
+ /** Z offset in meters (default: 0) */
55
+ zOffset?: number;
56
+ /** Enable point picking/hover tooltips (default: false) */
57
+ pickable?: boolean;
58
+ /** Fields to show in tooltip (default: all) */
59
+ pickInfoFields?: string[];
60
+ /** Auto zoom to data after loading (default: true) */
61
+ autoZoom?: boolean;
62
+ /** Loading mode for COPC files (default: 'dynamic') */
63
+ copcLoadingMode?: CopcLoadingMode;
64
+ /** Max points for streaming (default: 5000000) */
65
+ streamingPointBudget?: number;
66
+ /** Concurrent node requests (default: 4) */
67
+ streamingMaxConcurrentRequests?: number;
68
+ /** Viewport change debounce (default: 150) */
69
+ streamingViewportDebounceMs?: number;
70
+ }
71
+ export interface LidarLoadEventData {
72
+ pointCloud: PointCloudInfo;
73
+ }
74
+ export interface LidarErrorEventData {
75
+ error: Error;
76
+ }
77
+ export interface LidarUnloadEventData {
78
+ pointCloud: {
79
+ id: string;
80
+ };
81
+ }
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- import { VControlAttribution, VControlFullscreen, VControlGeolocate, VControlNavigation, VControlScale } from './controls';
2
- import { VLayerMaplibreCanvas, VLayerMaplibreGeojson, VLayerMaplibreCluster, VLayerMaplibreImage, VLayerMaplibreRaster, VLayerMaplibreVector, VLayerMaplibreVideo, VLayerMaplibrePmtile } from './layers';
1
+ import { VControlAttribution, VControlFullscreen, VControlGeolocate, VControlNavigation, VControlScale, VControlLidar } from './controls';
2
+ import { VLayerMaplibreCanvas, VLayerMaplibreGeojson, VLayerMaplibreCluster, VLayerMaplibreImage, VLayerMaplibreRaster, VLayerMaplibreVector, VLayerMaplibreVideo, VLayerMaplibrePmtile, VLayerMaplibreRoute } from './layers';
3
3
  import VMap from './map/VMap.vue';
4
4
  import VMarker from './markers/VMarker.vue';
5
5
  import VPopup from './popups/VPopup.vue';
6
- export { VMap, VMarker, VPopup, VLayerMaplibreCanvas, VLayerMaplibreGeojson, VLayerMaplibreCluster, VLayerMaplibreImage, VLayerMaplibreRaster, VLayerMaplibreVector, VLayerMaplibreVideo, VLayerMaplibrePmtile, VControlAttribution, VControlFullscreen, VControlGeolocate, VControlNavigation, VControlScale, };
6
+ export { VMap, VMarker, VPopup, VLayerMaplibreCanvas, VLayerMaplibreGeojson, VLayerMaplibreCluster, VLayerMaplibreImage, VLayerMaplibreRaster, VLayerMaplibreVector, VLayerMaplibreVideo, VLayerMaplibrePmtile, VLayerMaplibreRoute, VControlAttribution, VControlFullscreen, VControlGeolocate, VControlNavigation, VControlScale, VControlLidar, };
7
+ export type { LidarControlOptions, ColorScheme, CopcLoadingMode, PointCloudInfo, PointCloudBounds, StreamingProgress, } from './controls';
7
8
  export * from './layers/deckgl';
8
9
  export default VMap;