@geoql/v-maplibre 1.11.0 → 2.0.1
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.
- package/README.md +42 -15
- package/dist/arc-XYgM0NpD.js +2 -0
- package/dist/arc-XYgM0NpD.js.map +1 -0
- package/dist/{arrow-4ecDVUFv.js → arrow-B87Hvf8z.js} +1 -1
- package/dist/{arrow-4ecDVUFv.js.map → arrow-B87Hvf8z.js.map} +1 -1
- package/dist/bitmap-CEQZNyod.js +2 -0
- package/dist/bitmap-CEQZNyod.js.map +1 -0
- package/dist/cog-B3kQFMdO.js +2 -0
- package/dist/cog-B3kQFMdO.js.map +1 -0
- package/dist/column-6Alyevco.js +2 -0
- package/dist/column-6Alyevco.js.map +1 -0
- package/dist/contour-D5irVPeN.js +2 -0
- package/dist/contour-D5irVPeN.js.map +1 -0
- package/dist/deckgl.d.ts +47 -0
- package/dist/deckgl.js +2 -0
- package/dist/deckgl.js.map +1 -0
- package/dist/generic-DXw_QGDp.js +2 -0
- package/dist/generic-DXw_QGDp.js.map +1 -0
- package/dist/geoarrow-path-tBmjWKYC.js +2 -0
- package/dist/{geoarrow-path-B2LJ956d.js.map → geoarrow-path-tBmjWKYC.js.map} +1 -1
- package/dist/geoarrow-polygon-C2sWPrq6.js +2 -0
- package/dist/{geoarrow-polygon-C9mZ7552.js.map → geoarrow-polygon-C2sWPrq6.js.map} +1 -1
- package/dist/geoarrow-scatterplot-BvvHZc7E.js +2 -0
- package/dist/{geoarrow-scatterplot-CM5842q_.js.map → geoarrow-scatterplot-BvvHZc7E.js.map} +1 -1
- package/dist/geoarrow-solid-polygon-DPmDfwoY.js +2 -0
- package/dist/{geoarrow-solid-polygon-DIm9mciL.js.map → geoarrow-solid-polygon-DPmDfwoY.js.map} +1 -1
- package/dist/geoarrow-text-DEFcoF0G.js +2 -0
- package/dist/{geoarrow-text-ClY3q_nR.js.map → geoarrow-text-DEFcoF0G.js.map} +1 -1
- package/dist/geoarrow-trips-C9_EXHnn.js +2 -0
- package/dist/{geoarrow-trips-BqbIoMt8.js.map → geoarrow-trips-C9_EXHnn.js.map} +1 -1
- package/dist/geohash-vWnSK76U.js +2 -0
- package/dist/geohash-vWnSK76U.js.map +1 -0
- package/dist/geojson-CqnyNLW0.js +2 -0
- package/dist/geojson-CqnyNLW0.js.map +1 -0
- package/dist/geotiff.d.ts +50 -0
- package/dist/geotiff.js +2 -0
- package/dist/geotiff.js.map +1 -0
- package/dist/great-circle-Bz8TvCiM.js +2 -0
- package/dist/great-circle-Bz8TvCiM.js.map +1 -0
- package/dist/grid-B_D40N2N.js +2 -0
- package/dist/grid-B_D40N2N.js.map +1 -0
- package/dist/grid-cell-fa_NejcO.js +2 -0
- package/dist/grid-cell-fa_NejcO.js.map +1 -0
- package/dist/h3-cluster-Cg0CEA_m.js +2 -0
- package/dist/h3-cluster-Cg0CEA_m.js.map +1 -0
- package/dist/h3-hexagon-DkIZnQEf.js +2 -0
- package/dist/h3-hexagon-DkIZnQEf.js.map +1 -0
- package/dist/heatmap-D7R9nYug.js +2 -0
- package/dist/heatmap-D7R9nYug.js.map +1 -0
- package/dist/hexagon-Bl_UBlOT.js +2 -0
- package/dist/hexagon-Bl_UBlOT.js.map +1 -0
- package/dist/icon-Dm1fyRNM.js +2 -0
- package/dist/icon-Dm1fyRNM.js.map +1 -0
- package/dist/index-2D1oVTKr.d.ts +37 -0
- package/dist/index.d.ts +98 -477
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lidar.d.ts +232 -0
- package/dist/lidar.js +2 -0
- package/dist/lidar.js.map +1 -0
- package/dist/line-B77d8tio.js +2 -0
- package/dist/line-B77d8tio.js.map +1 -0
- package/dist/mosaic-Bm1aKa0Q.js +43 -0
- package/dist/mosaic-Bm1aKa0Q.js.map +1 -0
- package/dist/multi-cog-D2ys9o3u.js +2 -0
- package/dist/multi-cog-D2ys9o3u.js.map +1 -0
- package/dist/mvt-BUVHps3s.js +2 -0
- package/dist/mvt-BUVHps3s.js.map +1 -0
- package/dist/path-CvxVK8wm.js +2 -0
- package/dist/path-CvxVK8wm.js.map +1 -0
- package/dist/point-cloud-CSsO2nuJ.js +2 -0
- package/dist/point-cloud-CSsO2nuJ.js.map +1 -0
- package/dist/polygon-DAVE4LXH.js +2 -0
- package/dist/polygon-DAVE4LXH.js.map +1 -0
- package/dist/quadkey-BAnxuF9T.js +2 -0
- package/dist/quadkey-BAnxuF9T.js.map +1 -0
- package/dist/s2-Bv5MIwa9.js +2 -0
- package/dist/s2-Bv5MIwa9.js.map +1 -0
- package/dist/scatterplot-aZig07ZM.js +2 -0
- package/dist/scatterplot-aZig07ZM.js.map +1 -0
- package/dist/scenegraph-WEtd4Tza.js +2 -0
- package/dist/scenegraph-WEtd4Tza.js.map +1 -0
- package/dist/screen-grid-Cp80FMUf.js +2 -0
- package/dist/screen-grid-Cp80FMUf.js.map +1 -0
- package/dist/simple-mesh-DT1BC-Mz.js +2 -0
- package/dist/simple-mesh-DT1BC-Mz.js.map +1 -0
- package/dist/solid-polygon-BxLiMNAC.js +2 -0
- package/dist/solid-polygon-BxLiMNAC.js.map +1 -0
- package/dist/starfield-Djc5vy6K.js +2 -0
- package/dist/starfield-Djc5vy6K.js.map +1 -0
- package/dist/starfield.d.ts +7 -0
- package/dist/starfield.js +2 -0
- package/dist/starfield.js.map +1 -0
- package/dist/symbols-DXKzIgbY.js +2 -0
- package/dist/symbols-DXKzIgbY.js.map +1 -0
- package/dist/terrain-CPKUswLf.js +2 -0
- package/dist/terrain-CPKUswLf.js.map +1 -0
- package/dist/text-Qf7B4QNZ.js +2 -0
- package/dist/text-Qf7B4QNZ.js.map +1 -0
- package/dist/tile-3d-CbQInXbC.js +2 -0
- package/dist/tile-3d-CbQInXbC.js.map +1 -0
- package/dist/tile-BxWRJ8QY.js +2 -0
- package/dist/tile-BxWRJ8QY.js.map +1 -0
- package/dist/trips-CwzuAg1k.js +2 -0
- package/dist/trips-CwzuAg1k.js.map +1 -0
- package/dist/useDeckOverlay-CI56uIKH.js +2 -0
- package/dist/useDeckOverlay-CI56uIKH.js.map +1 -0
- package/dist/useDeckOverlay-JoRzVQ7g.d.ts +43 -0
- package/dist/wind-particle-D3y-A-W4.js +2 -0
- package/dist/wind-particle-D3y-A-W4.js.map +1 -0
- package/dist/wind.d.ts +9 -0
- package/dist/wind.js +2 -0
- package/dist/wind.js.map +1 -0
- package/dist/wms-BEsf7XG6.js +2 -0
- package/dist/wms-BEsf7XG6.js.map +1 -0
- package/dist/zarr-BWbq3Uwq.js +2 -0
- package/dist/zarr-BWbq3Uwq.js.map +1 -0
- package/package.json +37 -17
- package/dist/arc-oPHfD4K7.js +0 -2
- package/dist/arc-oPHfD4K7.js.map +0 -1
- package/dist/bitmap-C04WgKea.js +0 -2
- package/dist/bitmap-C04WgKea.js.map +0 -1
- package/dist/cog-Cq7xvN9B.js +0 -2
- package/dist/cog-Cq7xvN9B.js.map +0 -1
- package/dist/column-Dx4A711w.js +0 -2
- package/dist/column-Dx4A711w.js.map +0 -1
- package/dist/contour-Dgvb_bGm.js +0 -2
- package/dist/contour-Dgvb_bGm.js.map +0 -1
- package/dist/generic-BKvcZn9n.js +0 -2
- package/dist/generic-BKvcZn9n.js.map +0 -1
- package/dist/geoarrow-path-B2LJ956d.js +0 -2
- package/dist/geoarrow-polygon-C9mZ7552.js +0 -2
- package/dist/geoarrow-scatterplot-CM5842q_.js +0 -2
- package/dist/geoarrow-solid-polygon-DIm9mciL.js +0 -2
- package/dist/geoarrow-text-ClY3q_nR.js +0 -2
- package/dist/geoarrow-trips-BqbIoMt8.js +0 -2
- package/dist/geohash-Pq83atW2.js +0 -2
- package/dist/geohash-Pq83atW2.js.map +0 -1
- package/dist/geojson-cOxJcO-8.js +0 -2
- package/dist/geojson-cOxJcO-8.js.map +0 -1
- package/dist/great-circle-C6GDbX1c.js +0 -2
- package/dist/great-circle-C6GDbX1c.js.map +0 -1
- package/dist/grid-BPfXfID8.js +0 -2
- package/dist/grid-BPfXfID8.js.map +0 -1
- package/dist/grid-cell-T0-xdlk_.js +0 -2
- package/dist/grid-cell-T0-xdlk_.js.map +0 -1
- package/dist/h3-cluster-BsvMbaYv.js +0 -2
- package/dist/h3-cluster-BsvMbaYv.js.map +0 -1
- package/dist/h3-hexagon-Cx1qlgKb.js +0 -2
- package/dist/h3-hexagon-Cx1qlgKb.js.map +0 -1
- package/dist/heatmap-ByafStP6.js +0 -2
- package/dist/heatmap-ByafStP6.js.map +0 -1
- package/dist/hexagon-CWRkTkkj.js +0 -2
- package/dist/hexagon-CWRkTkkj.js.map +0 -1
- package/dist/icon-WggKPJv7.js +0 -2
- package/dist/icon-WggKPJv7.js.map +0 -1
- package/dist/line-B5e9w1td.js +0 -2
- package/dist/line-B5e9w1td.js.map +0 -1
- package/dist/mosaic-Cl7rtAXN.js +0 -43
- package/dist/mosaic-Cl7rtAXN.js.map +0 -1
- package/dist/multi-cog-DAJbnElE.js +0 -2
- package/dist/multi-cog-DAJbnElE.js.map +0 -1
- package/dist/mvt-D0GYYs-Z.js +0 -2
- package/dist/mvt-D0GYYs-Z.js.map +0 -1
- package/dist/path-mcVHjyaA.js +0 -2
- package/dist/path-mcVHjyaA.js.map +0 -1
- package/dist/point-cloud-CNpLW-hf.js +0 -2
- package/dist/point-cloud-CNpLW-hf.js.map +0 -1
- package/dist/polygon-B5mGSTte.js +0 -2
- package/dist/polygon-B5mGSTte.js.map +0 -1
- package/dist/quadkey-DGHCEKmx.js +0 -2
- package/dist/quadkey-DGHCEKmx.js.map +0 -1
- package/dist/s2-MuPaEFbo.js +0 -2
- package/dist/s2-MuPaEFbo.js.map +0 -1
- package/dist/scatterplot-BBeJkOdi.js +0 -2
- package/dist/scatterplot-BBeJkOdi.js.map +0 -1
- package/dist/scenegraph-DTM4oQ_J.js +0 -2
- package/dist/scenegraph-DTM4oQ_J.js.map +0 -1
- package/dist/screen-grid-CxlQC4Kb.js +0 -2
- package/dist/screen-grid-CxlQC4Kb.js.map +0 -1
- package/dist/simple-mesh-BxLUvOJK.js +0 -2
- package/dist/simple-mesh-BxLUvOJK.js.map +0 -1
- package/dist/solid-polygon-DwQBLTy0.js +0 -2
- package/dist/solid-polygon-DwQBLTy0.js.map +0 -1
- package/dist/starfield-D0gIX-34.js +0 -2
- package/dist/starfield-D0gIX-34.js.map +0 -1
- package/dist/symbols-CFCXX1_B.js +0 -2
- package/dist/symbols-CFCXX1_B.js.map +0 -1
- package/dist/terrain-f-XAakfL.js +0 -2
- package/dist/terrain-f-XAakfL.js.map +0 -1
- package/dist/text-BOvG9JHc.js +0 -2
- package/dist/text-BOvG9JHc.js.map +0 -1
- package/dist/tile-3d-DG91zS0N.js +0 -2
- package/dist/tile-3d-DG91zS0N.js.map +0 -1
- package/dist/tile-AhmnAg8V.js +0 -2
- package/dist/tile-AhmnAg8V.js.map +0 -1
- package/dist/trips-DwzBmfe0.js +0 -2
- package/dist/trips-DwzBmfe0.js.map +0 -1
- package/dist/wind-particle-DW0nCMls.js +0 -2
- package/dist/wind-particle-DW0nCMls.js.map +0 -1
- package/dist/wms-vy1yMBNb.js +0 -2
- package/dist/wms-vy1yMBNb.js.map +0 -1
- package/dist/zarr-6SNoX07d.js +0 -2
- package/dist/zarr-6SNoX07d.js.map +0 -1
package/dist/bitmap-C04WgKea.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{BitmapLayer as c}from"@deck.gl/layers";const l=r({__name:`VLayerDeckglBitmap`,props:{id:{},image:{},bounds:{},loadOptions:{},textureParameters:{},desaturate:{default:0},transparentColor:{},tintColor:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,image:u.image,bounds:u.bounds,loadOptions:u.loadOptions,textureParameters:u.textureParameters,desaturate:u.desaturate,transparentColor:u.transparentColor??[0,0,0,0],tintColor:u.tintColor??[255,255,255],opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.image,u.bounds,u.desaturate,u.tintColor,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglBitmap};
|
|
2
|
-
//# sourceMappingURL=bitmap-C04WgKea.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bitmap-C04WgKea.js","names":[],"sources":["../src/layers/deckgl/bitmap/VLayerDeckglBitmap.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Render a single bitmap image at geographic bounds.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { BitmapLayer } from '@deck.gl/layers';\n import type { Color, PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n interface Props {\n id: string;\n image:\n | string\n | HTMLImageElement\n | ImageBitmap\n | HTMLCanvasElement\n | ImageData\n | HTMLVideoElement;\n bounds:\n | [number, number, number, number]\n | [Position, Position, Position, Position];\n loadOptions?: object;\n textureParameters?: object;\n desaturate?: number;\n transparentColor?: Color;\n tintColor?: Color;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n desaturate: 0,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new BitmapLayer({\n id: props.id,\n image: props.image,\n bounds: props.bounds,\n loadOptions: props.loadOptions,\n textureParameters: props.textureParameters,\n desaturate: props.desaturate,\n transparentColor: props.transparentColor ?? [0, 0, 0, 0],\n tintColor: props.tintColor ?? [255, 255, 255],\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as unknown as ConstructorParameters<typeof BitmapLayer>[0]);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.image,\n props.bounds,\n props.desaturate,\n props.tintColor,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"wjBA0CE,IAAM,EAAQ,EAQR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAY,CACrB,GAAI,EAAM,GACV,MAAO,EAAM,MACb,OAAQ,EAAM,OACd,YAAa,EAAM,YACnB,kBAAmB,EAAM,kBACzB,WAAY,EAAM,WAClB,iBAAkB,EAAM,kBAAoB,CAAC,EAAG,EAAG,EAAG,EAAC,CACvD,UAAW,EAAM,WAAa,CAAC,IAAK,IAAK,IAAG,CAC5C,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CACQ,CAAA,CAGxD,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,MACN,EAAM,OACN,EAAM,WACN,EAAM,UACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/cog-Cq7xvN9B.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./symbols-CFCXX1_B.js";import{defineComponent as i,markRaw as a,onBeforeUnmount as o,onMounted as s,renderSlot as c,shallowRef as l,toRaw as u,watch as d}from"vue";const f=`pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj`,p=i({__name:`VLayerDeckglCOG`,props:{id:{},geotiff:{},tileSize:{default:256},maxZoom:{},minZoom:{default:0},maxCacheSize:{},refinementStrategy:{default:`best-available`},maxRequests:{default:6},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{},debug:{type:Boolean,default:!1},debugOpacity:{default:.25}},emits:[`click`,`hover`,`geotiffLoad`],setup(i,{emit:p}){let m=i,h=p,g=e(r),{addLayer:_,removeLayer:v,updateLayer:y}=t(g),b=l(null),x=l(null),S=()=>{if(!b.value)return null;let e={id:u(m.id),geotiff:u(m.geotiff),opacity:u(m.opacity),visible:u(m.visible),pickable:u(m.pickable),autoHighlight:u(m.autoHighlight),debug:u(m.debug),debugOpacity:u(m.debugOpacity)};return x.value&&(e.epsgResolver=x.value),e.onGeoTIFFLoad=(e,t)=>{h(`geotiffLoad`,e,t)},m.tileSize!==256&&(e.tileSize=u(m.tileSize)),m.maxZoom!==void 0&&(e.maxZoom=u(m.maxZoom)),m.minZoom!==0&&(e.minZoom=u(m.minZoom)),m.maxCacheSize!==void 0&&(e.maxCacheSize=u(m.maxCacheSize)),m.refinementStrategy!==`best-available`&&(e.refinementStrategy=u(m.refinementStrategy)),m.maxRequests!==6&&(e.maxRequests=u(m.maxRequests)),m.highlightColor!==void 0&&(e.highlightColor=u(m.highlightColor)),m.beforeId!==void 0&&(e.beforeId=u(m.beforeId)),a(new b.value(e))},C=async()=>{try{let[e,t]=await Promise.all([n(`@developmentseed/deck.gl-geotiff`,()=>import(`@developmentseed/deck.gl-geotiff`),f),n(`@developmentseed/proj`,()=>import(`@developmentseed/proj`),f)]);b.value=a(e.COGLayer),x.value=t.epsgResolver;let r=S();r&&_(r)}catch(e){console.error(`[deck.gl-raster] Error loading COGLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-geotiff is installed`)}};return s(()=>{g.value?.isStyleLoaded()?C():g.value?.once(`style.load`,C)}),d(()=>[m.geotiff,m.tileSize,m.maxZoom,m.minZoom,m.opacity,m.visible,m.debug,m.debugOpacity],()=>{let e=S();e&&y(m.id,e)},{deep:!0}),o(()=>{v(m.id)}),(e,t)=>c(e.$slots,`default`)}});export{p as VLayerDeckglCOG};
|
|
2
|
-
//# sourceMappingURL=cog-Cq7xvN9B.js.map
|
package/dist/cog-Cq7xvN9B.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cog-Cq7xvN9B.js","names":[],"sources":["../src/layers/deckgl/cog/VLayerDeckglCOG.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Single Cloud-Optimized GeoTIFF (COG) viewer with automatic CRS reprojection.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/layers`\n * @requires `@developmentseed/deck.gl-geotiff`\n * @requires `@developmentseed/deck.gl-raster`\n * @requires `@developmentseed/geotiff`\n * @requires `@developmentseed/proj`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj`\n */\n import {\n onMounted,\n onBeforeUnmount,\n watch,\n shallowRef,\n toRaw,\n markRaw,\n } from 'vue';\n import type { Color, PickingInfo } from '@deck.gl/core';\n import { injectStrict, MapKey, requirePeer } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n const COG_PEER_INSTALL =\n 'pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj';\n\n interface Props {\n id: string;\n /**\n * GeoTIFF source - URL string, ArrayBuffer, Blob, or geotiff.js instance\n */\n geotiff: string | ArrayBuffer | Blob | object;\n /**\n * Tile size in pixels\n */\n tileSize?: number;\n /**\n * Maximum zoom level\n */\n maxZoom?: number;\n /**\n * Minimum zoom level\n */\n minZoom?: number;\n /**\n * Maximum number of tiles to cache\n */\n maxCacheSize?: number;\n /**\n * Refinement strategy for tile loading\n */\n refinementStrategy?: 'best-available' | 'no-overlap' | 'never';\n /**\n * Maximum concurrent requests\n */\n maxRequests?: number;\n /**\n * Layer opacity (0-1)\n */\n opacity?: number;\n /**\n * Layer visibility\n */\n visible?: boolean;\n /**\n * Enable picking on this layer\n */\n pickable?: boolean;\n /**\n * Auto highlight on hover\n */\n autoHighlight?: boolean;\n /**\n * Highlight color when autoHighlight is enabled\n */\n highlightColor?: Color;\n /**\n * Insert layer before this layer id\n */\n beforeId?: string;\n /**\n * Show debug overlay on tiles\n */\n debug?: boolean;\n /**\n * Opacity of debug overlay (0-1)\n */\n debugOpacity?: number;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n tileSize: 256,\n minZoom: 0,\n refinementStrategy: 'best-available',\n maxRequests: 6,\n opacity: 1,\n visible: true,\n pickable: false,\n autoHighlight: false,\n debug: false,\n debugOpacity: 0.25,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n geotiffLoad: [\n tiff: unknown,\n options: {\n geographicBounds: {\n west: number;\n south: number;\n east: number;\n north: number;\n };\n },\n ];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n // Store module references\n const COGLayerClass = shallowRef<\n typeof import('@developmentseed/deck.gl-geotiff').COGLayer | null\n >(null);\n const epsgResolverFn = shallowRef<\n typeof import('@developmentseed/proj').epsgResolver | null\n >(null);\n\n const createLayer = () => {\n if (!COGLayerClass.value) return null;\n\n const layerProps: Record<string, unknown> = {\n id: toRaw(props.id),\n geotiff: toRaw(props.geotiff),\n opacity: toRaw(props.opacity),\n visible: toRaw(props.visible),\n pickable: toRaw(props.pickable),\n autoHighlight: toRaw(props.autoHighlight),\n debug: toRaw(props.debug),\n debugOpacity: toRaw(props.debugOpacity),\n };\n\n if (epsgResolverFn.value) {\n layerProps.epsgResolver = epsgResolverFn.value;\n }\n\n layerProps.onGeoTIFFLoad = (\n tiff: unknown,\n options: {\n geographicBounds: {\n west: number;\n south: number;\n east: number;\n north: number;\n };\n },\n ) => {\n emit('geotiffLoad', tiff, options);\n };\n\n if (props.tileSize !== 256) layerProps.tileSize = toRaw(props.tileSize);\n if (props.maxZoom !== undefined) layerProps.maxZoom = toRaw(props.maxZoom);\n if (props.minZoom !== 0) layerProps.minZoom = toRaw(props.minZoom);\n if (props.maxCacheSize !== undefined)\n layerProps.maxCacheSize = toRaw(props.maxCacheSize);\n if (props.refinementStrategy !== 'best-available')\n layerProps.refinementStrategy = toRaw(props.refinementStrategy);\n if (props.maxRequests !== 6)\n layerProps.maxRequests = toRaw(props.maxRequests);\n if (props.highlightColor !== undefined)\n layerProps.highlightColor = toRaw(props.highlightColor);\n if (props.beforeId !== undefined)\n layerProps.beforeId = toRaw(props.beforeId);\n\n const layer = new COGLayerClass.value(layerProps);\n return markRaw(layer);\n };\n\n const initializeLayer = async () => {\n try {\n const [geotiffModule, projModule] = await Promise.all([\n requirePeer(\n '@developmentseed/deck.gl-geotiff',\n () => import('@developmentseed/deck.gl-geotiff'),\n COG_PEER_INSTALL,\n ),\n requirePeer(\n '@developmentseed/proj',\n () => import('@developmentseed/proj'),\n COG_PEER_INSTALL,\n ),\n ]);\n\n COGLayerClass.value = markRaw(geotiffModule.COGLayer);\n epsgResolverFn.value = projModule.epsgResolver;\n\n const layer = createLayer();\n if (layer) {\n addLayer(layer);\n }\n } catch (error) {\n console.error('[deck.gl-raster] Error loading COGLayer:', error);\n console.error('Make sure @developmentseed/deck.gl-geotiff is installed');\n }\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.geotiff,\n props.tileSize,\n props.maxZoom,\n props.minZoom,\n props.opacity,\n props.visible,\n props.debug,\n props.debugOpacity,\n ],\n () => {\n const layer = createLayer();\n if (layer) {\n updateLayer(props.id, layer);\n }\n },\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"4MA2BE,MAAM,EACJ,8nBAkEF,IAAM,EAAQ,EAaR,EAAO,EAgBP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAG3D,EAAgB,EAEpB,KAAI,CACA,EAAiB,EAErB,KAAI,CAEA,MAAoB,CACxB,GAAI,CAAC,EAAc,MAAO,OAAO,KAEjC,IAAM,EAAsC,CAC1C,GAAI,EAAM,EAAM,GAAE,CAClB,QAAS,EAAM,EAAM,QAAO,CAC5B,QAAS,EAAM,EAAM,QAAO,CAC5B,QAAS,EAAM,EAAM,QAAO,CAC5B,SAAU,EAAM,EAAM,SAAQ,CAC9B,cAAe,EAAM,EAAM,cAAa,CACxC,MAAO,EAAM,EAAM,MAAK,CACxB,aAAc,EAAM,EAAM,aAAY,CACxC,CAmCA,OAjCI,EAAe,QACjB,EAAW,aAAe,EAAe,OAG3C,EAAW,eACT,EACA,IAQG,CACH,EAAK,cAAe,EAAM,EAAO,EAG/B,EAAM,WAAa,MAAK,EAAW,SAAW,EAAM,EAAM,SAAQ,EAClE,EAAM,UAAY,IAAA,KAAW,EAAW,QAAU,EAAM,EAAM,QAAO,EACrE,EAAM,UAAY,IAAG,EAAW,QAAU,EAAM,EAAM,QAAO,EAC7D,EAAM,eAAiB,IAAA,KACzB,EAAW,aAAe,EAAM,EAAM,aAAY,EAChD,EAAM,qBAAuB,mBAC/B,EAAW,mBAAqB,EAAM,EAAM,mBAAkB,EAC5D,EAAM,cAAgB,IACxB,EAAW,YAAc,EAAM,EAAM,YAAW,EAC9C,EAAM,iBAAmB,IAAA,KAC3B,EAAW,eAAiB,EAAM,EAAM,eAAc,EACpD,EAAM,WAAa,IAAA,KACrB,EAAW,SAAW,EAAM,EAAM,SAAQ,EAGrC,EAAQ,IADG,EAAc,MAAM,EAClB,CAAA,EAGhB,EAAkB,SAAY,CAClC,GAAI,CACF,GAAM,CAAC,EAAe,GAAc,MAAM,QAAQ,IAAI,CACpD,EACE,uCACM,OAAO,oCACb,EACF,CACA,EACE,4BACM,OAAO,yBACb,EAEJ,CAAC,CAAA,CAED,EAAc,MAAQ,EAAQ,EAAc,SAAQ,CACpD,EAAe,MAAQ,EAAW,aAElC,IAAM,EAAQ,GAAY,CACtB,GACF,EAAS,EAAK,OAET,EAAO,CACd,QAAQ,MAAM,2CAA4C,EAAK,CAC/D,QAAQ,MAAM,0DAAyD,UAI3E,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,QACN,EAAM,SACN,EAAM,QACN,EAAM,QACN,EAAM,QACN,EAAM,QACN,EAAM,MACN,EAAM,aACR,KACM,CACJ,IAAM,EAAQ,GAAY,CACtB,GACF,EAAY,EAAM,GAAI,EAAK,EAG/B,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/column-Dx4A711w.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{ColumnLayer as c}from"@deck.gl/layers";const l=r({__name:`VLayerDeckglColumn`,props:{id:{},data:{},getPosition:{},getFillColor:{},getLineColor:{},getElevation:{},diskResolution:{default:20},radius:{default:1e3},angle:{default:0},vertices:{},offset:{},coverage:{default:1},elevationScale:{default:1},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!1},extruded:{type:Boolean,default:!0},wireframe:{type:Boolean,default:!1},flatShading:{type:Boolean,default:!1},radiusUnits:{default:`meters`},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getPosition:u.getPosition,getFillColor:u.getFillColor??[255,0,0,255],getLineColor:u.getLineColor??[0,0,0,255],getElevation:u.getElevation??1e3,diskResolution:u.diskResolution,radius:u.radius,angle:u.angle,vertices:u.vertices,offset:u.offset,coverage:u.coverage,elevationScale:u.elevationScale,filled:u.filled,stroked:u.stroked,extruded:u.extruded,wireframe:u.wireframe,flatShading:u.flatShading,radiusUnits:u.radiusUnits,lineWidthUnits:u.lineWidthUnits,lineWidthScale:u.lineWidthScale,lineWidthMinPixels:u.lineWidthMinPixels,lineWidthMaxPixels:u.lineWidthMaxPixels,material:u.material,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getPosition,u.getFillColor,u.getElevation,u.radius,u.elevationScale,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglColumn};
|
|
2
|
-
//# sourceMappingURL=column-Dx4A711w.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"column-Dx4A711w.js","names":[],"sources":["../src/layers/deckgl/column/VLayerDeckglColumn.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Extruded hexagonal / cylindrical columns at point positions.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { ColumnLayer } from '@deck.gl/layers';\n import type { ColumnLayerProps } from '@deck.gl/layers';\n import type { Color, PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getPosition: Accessor<D, Position>;\n getFillColor?: Accessor<D, Color>;\n getLineColor?: Accessor<D, Color>;\n getElevation?: Accessor<D, number>;\n diskResolution?: number;\n radius?: number;\n angle?: number;\n vertices?: Position[];\n offset?: [number, number];\n coverage?: number;\n elevationScale?: number;\n filled?: boolean;\n stroked?: boolean;\n extruded?: boolean;\n wireframe?: boolean;\n flatShading?: boolean;\n radiusUnits?: 'meters' | 'common' | 'pixels';\n lineWidthUnits?: 'meters' | 'common' | 'pixels';\n lineWidthScale?: number;\n lineWidthMinPixels?: number;\n lineWidthMaxPixels?: number;\n material?: boolean | object;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n diskResolution: 20,\n radius: 1000,\n angle: 0,\n coverage: 1,\n elevationScale: 1,\n filled: true,\n stroked: false,\n extruded: true,\n wireframe: false,\n flatShading: false,\n radiusUnits: 'meters',\n lineWidthUnits: 'meters',\n lineWidthScale: 1,\n lineWidthMinPixels: 0,\n lineWidthMaxPixels: Number.MAX_SAFE_INTEGER,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new ColumnLayer({\n id: props.id,\n data: props.data,\n getPosition: props.getPosition,\n getFillColor: props.getFillColor ?? [255, 0, 0, 255],\n getLineColor: props.getLineColor ?? [0, 0, 0, 255],\n getElevation: props.getElevation ?? 1000,\n diskResolution: props.diskResolution,\n radius: props.radius,\n angle: props.angle,\n vertices: props.vertices,\n offset: props.offset,\n coverage: props.coverage,\n elevationScale: props.elevationScale,\n filled: props.filled,\n stroked: props.stroked,\n extruded: props.extruded,\n wireframe: props.wireframe,\n flatShading: props.flatShading,\n radiusUnits: props.radiusUnits,\n lineWidthUnits: props.lineWidthUnits,\n lineWidthScale: props.lineWidthScale,\n lineWidthMinPixels: props.lineWidthMinPixels,\n lineWidthMaxPixels: props.lineWidthMaxPixels,\n material: props.material,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as ColumnLayerProps);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getPosition,\n props.getFillColor,\n props.getElevation,\n props.radius,\n props.elevationScale,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"0gCAqDE,IAAM,EAAQ,EAsBR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAY,CACrB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,YAAa,EAAM,YACnB,aAAc,EAAM,cAAgB,CAAC,IAAK,EAAG,EAAG,IAAG,CACnD,aAAc,EAAM,cAAgB,CAAC,EAAG,EAAG,EAAG,IAAG,CACjD,aAAc,EAAM,cAAgB,IACpC,eAAgB,EAAM,eACtB,OAAQ,EAAM,OACd,MAAO,EAAM,MACb,SAAU,EAAM,SAChB,OAAQ,EAAM,OACd,SAAU,EAAM,SAChB,eAAgB,EAAM,eACtB,OAAQ,EAAM,OACd,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,UAAW,EAAM,UACjB,YAAa,EAAM,YACnB,YAAa,EAAM,YACnB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,mBAAoB,EAAM,mBAC1B,mBAAoB,EAAM,mBAC1B,SAAU,EAAM,SAChB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CAC/B,CAAA,CAGjB,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,YACN,EAAM,aACN,EAAM,aACN,EAAM,OACN,EAAM,eACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/contour-Dgvb_bGm.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{ContourLayer as c}from"@deck.gl/aggregation-layers";const l=r({__name:`VLayerDeckglContour`,props:{id:{},data:{},getPosition:{},getWeight:{},cellSize:{default:1e3},contours:{},gpuAggregation:{type:Boolean,default:!1},aggregation:{default:`SUM`},zOffset:{default:.005},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getPosition:u.getPosition,getWeight:u.getWeight??1,cellSize:u.cellSize,contours:u.contours,gpuAggregation:u.gpuAggregation,aggregation:u.aggregation,zOffset:u.zOffset,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getPosition,u.cellSize,u.contours,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglContour};
|
|
2
|
-
//# sourceMappingURL=contour-Dgvb_bGm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contour-Dgvb_bGm.js","names":[],"sources":["../src/layers/deckgl/contour/VLayerDeckglContour.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Generate contour lines or isobands from point aggregations.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/aggregation-layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/aggregation-layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { ContourLayer } from '@deck.gl/aggregation-layers';\n import type { Color, PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface ContourDefinition {\n threshold: number | [number, number];\n color?: Color;\n strokeWidth?: number;\n zIndex?: number;\n }\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getPosition: Accessor<D, Position>;\n getWeight?: Accessor<D, number>;\n cellSize?: number;\n contours: ContourDefinition[];\n gpuAggregation?: boolean;\n aggregation?: 'SUM' | 'MEAN' | 'MIN' | 'MAX';\n zOffset?: number;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n cellSize: 1000,\n gpuAggregation: false,\n aggregation: 'SUM',\n zOffset: 0.005,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new ContourLayer({\n id: props.id,\n data: props.data,\n getPosition: props.getPosition,\n getWeight: props.getWeight ?? 1,\n cellSize: props.cellSize,\n contours: props.contours,\n gpuAggregation: props.gpuAggregation,\n aggregation: props.aggregation,\n zOffset: props.zOffset,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as unknown as ConstructorParameters<typeof ContourLayer>[0]);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getPosition,\n props.cellSize,\n props.contours,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"0nBA4CE,IAAM,EAAQ,EAWR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAa,CACtB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,YAAa,EAAM,YACnB,UAAW,EAAM,WAAa,EAC9B,SAAU,EAAM,SAChB,SAAU,EAAM,SAChB,eAAgB,EAAM,eACtB,YAAa,EAAM,YACnB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CACS,CAAA,CAGzD,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,YACN,EAAM,SACN,EAAM,SACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/generic-BKvcZn9n.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";const c=r({__name:`VLayerDeckgl`,props:{layer:{}},emits:[`click`,`hover`],setup(r,{emit:c}){let l=r,u=e(n),{addLayer:d,removeLayer:f,updateLayer:p}=t(u),m=e=>e.id,h=()=>{d(l.layer)};return a(()=>{u.value?.isStyleLoaded()?h():u.value?.once(`style.load`,h)}),s(()=>l.layer,(e,t)=>{let n=t?m(t):null,r=m(e);n&&n!==r?(f(n),d(e)):p(r,e)},{deep:!0}),i(()=>{f(m(l.layer))}),(e,t)=>o(e.$slots,`default`)}});export{c as VLayerDeckgl};
|
|
2
|
-
//# sourceMappingURL=generic-BKvcZn9n.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generic-BKvcZn9n.js","names":[],"sources":["../src/layers/deckgl/generic/VLayerDeckgl.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Generic deck.gl layer wrapper — supply your own deck.gl Layer instance via the `layer` prop.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import type { PickingInfo } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n interface Props {\n layer: unknown;\n }\n\n const props = defineProps<Props>();\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const getLayerId = (layer: unknown): string => {\n return (layer as { id: string }).id;\n };\n\n const initializeLayer = () => {\n addLayer(props.layer);\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => props.layer,\n (newLayer, oldLayer) => {\n const oldId = oldLayer ? getLayerId(oldLayer) : null;\n const newId = getLayerId(newLayer);\n\n if (oldId && oldId !== newId) {\n removeLayer(oldId);\n addLayer(newLayer);\n } else {\n updateLayer(newId, newLayer);\n }\n },\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(getLayerId(props.layer));\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"yPAmBE,IAAM,EAAQ,EAOR,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,EAAc,GACV,EAAyB,GAG7B,MAAwB,CAC5B,EAAS,EAAM,MAAK,SAGtB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,EAAM,OACX,EAAU,IAAa,CACtB,IAAM,EAAQ,EAAW,EAAW,EAAQ,CAAI,KAC1C,EAAQ,EAAW,EAAQ,CAE7B,GAAS,IAAU,GACrB,EAAY,EAAK,CACjB,EAAS,EAAQ,EAEjB,EAAY,EAAO,EAAQ,EAG/B,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAW,EAAM,MAAM,CAAA,EACpC,QAID,EAAa,EAAA,OAAA,UAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./symbols-CFCXX1_B.js";import{c as i,n as a,o,t as s}from"./arrow-4ecDVUFv.js";import{defineComponent as c,markRaw as l,onBeforeUnmount as u,renderSlot as d,shallowRef as f,watch as p}from"vue";const m=c({__name:`VLayerDeckglGeoArrowPath`,props:{id:{},data:{},getPath:{},getColor:{},getWidth:{},widthUnits:{},widthScale:{},widthMinPixels:{},widthMaxPixels:{},jointRounded:{type:Boolean,default:!1},capRounded:{type:Boolean,default:!1},miterLimit:{},billboard:{type:Boolean,default:!1},opacity:{},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(c,{emit:m}){let h=c,g=m,_=e(r),{addLayer:v,removeLayer:y,updateLayer:b}=t(_),x=f(null),S=new Set([`id`,`data`,`getPath`]),C=()=>{if(!x.value||!h.data)return null;let e=s(h.data)??a(h.data);if(!e)return console.error(`[VLayerDeckglGeoArrowPath] no GeoArrow linestring / multilinestring column found in data`),null;try{return l(new x.value({...o(h,S),id:h.id,data:{length:e.length,startIndices:e.startIndices,attributes:{getPath:{value:e.positions,size:3}}},_pathType:`open`,onClick:e=>g(`click`,e),onHover:e=>g(`hover`,e)}))}catch(e){return console.error(`[VLayerDeckglGeoArrowPath] failed to construct layer:`,e),null}};return i(_,async()=>{x.value=l((await n(`@deck.gl/layers`,()=>import(`@deck.gl/layers`),`pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers apache-arrow`)).PathLayer)}),p(x,e=>{if(!e||!h.data)return;let t=C();t&&v(t)}),p(()=>h.data,()=>{if(!x.value||!h.data)return;let e=C();e&&b(h.id,e)}),p(()=>[h.getColor,h.getWidth,h.widthUnits,h.widthScale,h.widthMinPixels,h.widthMaxPixels,h.jointRounded,h.capRounded,h.miterLimit,h.opacity,h.visible,h.pickable],()=>{if(!x.value||!h.data)return;let e=C();e&&b(h.id,e)}),u(()=>{y(h.id)}),(e,t)=>d(e.$slots,`default`)}});export{m as VLayerDeckglGeoArrowPath};
|
|
2
|
-
//# sourceMappingURL=geoarrow-path-B2LJ956d.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./symbols-CFCXX1_B.js";import{a as i,c as a,o,r as s,s as c}from"./arrow-4ecDVUFv.js";import{defineComponent as l,markRaw as u,onBeforeUnmount as d,renderSlot as f,shallowRef as p,watch as m}from"vue";const h=l({__name:`VLayerDeckglGeoArrowPolygon`,props:{id:{},data:{},getPolygon:{},getFillColor:{},getLineColor:{},getLineWidth:{},getElevation:{},lineWidthUnits:{},lineWidthScale:{},lineWidthMinPixels:{},lineWidthMaxPixels:{},stroked:{type:Boolean,default:!0},filled:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{},opacity:{},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},beforeId:{},earcutWorkerUrl:{},_normalize:{type:Boolean},wrapLongitude:{type:Boolean}},emits:[`click`,`hover`],setup(l,{emit:h}){let g=l,_=h,v=e(r),{addLayer:y,removeLayer:b,updateLayer:x}=t(v),S=p(null),C=new Set([`id`,`data`,`getPolygon`,`earcutWorkerUrl`,`_normalize`]),w=()=>{if(!S.value||!g.data)return null;let e=s(g.data),t=e?null:i(g.data),n=e??t;if(!n)return console.error(`[VLayerDeckglGeoArrowPolygon] no GeoArrow polygon / multipolygon column found in data`),null;let r=c(n);try{return u(new S.value({...o(g,C),id:g.id,data:r,getPolygon:e=>e,onClick:e=>_(`click`,e),onHover:e=>_(`hover`,e)}))}catch(e){return console.error(`[VLayerDeckglGeoArrowPolygon] failed to construct layer:`,e),null}};return a(v,async()=>{S.value=u((await n(`@deck.gl/layers`,()=>import(`@deck.gl/layers`),`pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers apache-arrow`)).PolygonLayer)}),m(S,e=>{if(!e||!g.data)return;let t=w();t&&y(t)}),m(()=>g.data,()=>{if(!S.value||!g.data)return;let e=w();e&&x(g.id,e)}),m(()=>[g.extruded,g.getElevation,g.elevationScale,g.opacity,g.stroked,g.filled,g.wireframe,g.getFillColor,g.getLineColor,g.getLineWidth,g.lineWidthMinPixels,g.lineWidthMaxPixels,g.lineWidthScale,g.visible,g.pickable],()=>{if(!S.value||!g.data)return;let e=w();e&&x(g.id,e)}),d(()=>{b(g.id)}),(e,t)=>f(e.$slots,`default`)}});export{h as VLayerDeckglGeoArrowPolygon};
|
|
2
|
-
//# sourceMappingURL=geoarrow-polygon-C9mZ7552.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./symbols-CFCXX1_B.js";import{c as i,i as a,o}from"./arrow-4ecDVUFv.js";import{defineComponent as s,markRaw as c,onBeforeUnmount as l,renderSlot as u,shallowRef as d,watch as f}from"vue";const p=s({__name:`VLayerDeckglGeoArrowScatterplot`,props:{id:{},data:{},getPosition:{},getRadius:{},getFillColor:{},getLineColor:{},getLineWidth:{},radiusUnits:{},radiusScale:{},radiusMinPixels:{},radiusMaxPixels:{},lineWidthUnits:{},lineWidthScale:{},lineWidthMinPixels:{},lineWidthMaxPixels:{},stroked:{type:Boolean,default:!1},filled:{type:Boolean,default:!0},billboard:{type:Boolean,default:!1},antialiasing:{type:Boolean,default:!0},opacity:{},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(s,{emit:p}){let m=s,h=p,g=e(r),{addLayer:_,removeLayer:v,updateLayer:y}=t(g),b=d(null),x=new Set([`id`,`data`]),S=()=>{if(!b.value||!m.data)return null;let e=a(m.data);if(!e)return console.error(`[VLayerDeckglGeoArrowScatterplot] no GeoArrow point geometry column found in data`),null;try{return c(new b.value({...o(m,x),id:m.id,data:{length:e.length,attributes:{getPosition:{value:e.positions,size:3}}},onClick:e=>h(`click`,e),onHover:e=>h(`hover`,e)}))}catch(e){return console.error(`[VLayerDeckglGeoArrowScatterplot] failed to construct layer:`,e),null}};return i(g,async()=>{b.value=c((await n(`@deck.gl/layers`,()=>import(`@deck.gl/layers`),`pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers apache-arrow`)).ScatterplotLayer)}),f(b,e=>{if(!e||!m.data)return;let t=S();t&&_(t)}),f(()=>m.data,()=>{if(!b.value||!m.data)return;let e=S();e&&y(m.id,e)}),f(()=>[m.getFillColor,m.getLineColor,m.getRadius,m.getLineWidth,m.radiusUnits,m.radiusScale,m.radiusMinPixels,m.radiusMaxPixels,m.lineWidthUnits,m.lineWidthScale,m.stroked,m.filled,m.opacity,m.visible,m.pickable],()=>{if(!b.value||!m.data)return;let e=S();e&&y(m.id,e)}),l(()=>{v(m.id)}),(e,t)=>u(e.$slots,`default`)}});export{p as VLayerDeckglGeoArrowScatterplot};
|
|
2
|
-
//# sourceMappingURL=geoarrow-scatterplot-CM5842q_.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./symbols-CFCXX1_B.js";import{a as i,c as a,o,r as s,s as c}from"./arrow-4ecDVUFv.js";import{defineComponent as l,markRaw as u,onBeforeUnmount as d,renderSlot as f,shallowRef as p,watch as m}from"vue";const h=l({__name:`VLayerDeckglGeoArrowSolidPolygon`,props:{id:{},data:{},getPolygon:{},getFillColor:{},getLineColor:{},getElevation:{},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},filled:{type:Boolean,default:!0},elevationScale:{},opacity:{},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},metrics:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(l,{emit:h}){let g=l,_=h,v=e(r),{addLayer:y,removeLayer:b,updateLayer:x}=t(v),S=p(null),C=new Set([`id`,`data`,`getPolygon`]),w=()=>{if(!S.value||!g.data)return null;let e=s(g.data),t=e?null:i(g.data),n=e??t;if(!n)return console.error(`[VLayerDeckglGeoArrowSolidPolygon] no GeoArrow polygon / multipolygon column found in data`),null;let r=c(n);try{return u(new S.value({...o(g,C),id:g.id,data:r,getPolygon:e=>e,onClick:e=>_(`click`,e),onHover:e=>_(`hover`,e)}))}catch(e){return console.error(`[VLayerDeckglGeoArrowSolidPolygon] failed to construct layer:`,e),null}};return a(v,async()=>{S.value=u((await n(`@deck.gl/layers`,()=>import(`@deck.gl/layers`),`pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers apache-arrow`)).SolidPolygonLayer)}),m(S,e=>{if(!e||!g.data)return;let t=w();t&&y(t)}),m(()=>g.data,()=>{if(!S.value||!g.data)return;let e=w();e&&x(g.id,e)}),m(()=>[g.getFillColor,g.getLineColor,g.getElevation,g.extruded,g.wireframe,g.filled,g.elevationScale,g.opacity,g.visible,g.pickable],()=>{if(!S.value||!g.data)return;let e=w();e&&x(g.id,e)}),d(()=>{b(g.id)}),(e,t)=>f(e.$slots,`default`)}});export{h as VLayerDeckglGeoArrowSolidPolygon};
|
|
2
|
-
//# sourceMappingURL=geoarrow-solid-polygon-DIm9mciL.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./symbols-CFCXX1_B.js";import{c as i,i as a,o}from"./arrow-4ecDVUFv.js";import{defineComponent as s,markRaw as c,onBeforeUnmount as l,renderSlot as u,shallowRef as d,watch as f}from"vue";const p=s({__name:`VLayerDeckglGeoArrowText`,props:{id:{},data:{},textColumn:{},getPosition:{},getText:{},getColor:{},getSize:{},getAngle:{},getTextAnchor:{},getAlignmentBaseline:{},sizeUnits:{},sizeScale:{},sizeMinPixels:{},sizeMaxPixels:{},billboard:{type:Boolean,default:!0},fontFamily:{},fontWeight:{},characterSet:{},background:{type:Boolean,default:!1},backgroundPadding:{},getBackgroundColor:{},getBorderColor:{},getBorderWidth:{},opacity:{},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(s,{emit:p}){let m=s,h=p,g=e(r),{addLayer:_,removeLayer:v,updateLayer:y}=t(g),b=d(null),x=new Set([`id`,`data`,`getPosition`,`getText`,`textColumn`]),S=(e,t)=>{let n=a(e);if(!n)return null;let r=e.getChild(t),i=[];if(r){let e=r.toArray?.();if(e)for(let t=0;t<n.length;t++)i.push(String(e[t]??``));else if(r.get)for(let e=0;e<n.length;e++)i.push(String(r.get(e)??``))}let o=[];for(let e=0;e<n.length;e++)o.push({position:[n.positions[e*3]??0,n.positions[e*3+1]??0],label:i[e]??``});return o},C=()=>{if(!b.value||!m.data)return null;let e=S(m.data,m.textColumn??`name`);if(!e)return console.error(`[VLayerDeckglGeoArrowText] no GeoArrow point geometry column found in data`),null;try{return c(new b.value({...o(m,x),id:m.id,data:e,getPosition:e=>e.position,getText:e=>e.label,onClick:e=>h(`click`,e),onHover:e=>h(`hover`,e)}))}catch(e){return console.error(`[VLayerDeckglGeoArrowText] failed to construct layer:`,e),null}};return i(g,async()=>{b.value=c((await n(`@deck.gl/layers`,()=>import(`@deck.gl/layers`),`pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers apache-arrow`)).TextLayer)}),f(b,e=>{if(!e||!m.data)return;let t=C();t&&_(t)}),f(()=>m.data,()=>{if(!b.value||!m.data)return;let e=C();e&&y(m.id,e)}),f(()=>[m.getText,m.getPosition,m.getColor,m.getSize,m.getAngle,m.getTextAnchor,m.getAlignmentBaseline,m.sizeUnits,m.sizeScale,m.sizeMinPixels,m.sizeMaxPixels,m.billboard,m.fontFamily,m.fontWeight,m.background,m.opacity,m.visible,m.pickable],()=>{if(!b.value||!m.data)return;let e=C();e&&y(m.id,e)}),l(()=>v(m.id)),(e,t)=>u(e.$slots,`default`)}});export{p as VLayerDeckglGeoArrowText};
|
|
2
|
-
//# sourceMappingURL=geoarrow-text-ClY3q_nR.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./symbols-CFCXX1_B.js";import{c as i,o as a,t as o}from"./arrow-4ecDVUFv.js";import{defineComponent as s,markRaw as c,onBeforeUnmount as l,renderSlot as u,shallowRef as d,watch as f}from"vue";const p=s({__name:`VLayerDeckglGeoArrowTrips`,props:{id:{},data:{},timestampsColumn:{},getPath:{},getTimestamps:{},getColor:{},getWidth:{},widthUnits:{},widthScale:{},widthMinPixels:{},widthMaxPixels:{},jointRounded:{type:Boolean,default:!1},capRounded:{type:Boolean,default:!1},miterLimit:{},billboard:{type:Boolean,default:!1},currentTime:{default:0},trailLength:{default:180},fadeTrail:{type:Boolean,default:!0},opacity:{},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(s,{emit:p}){let m=s,h=p,g=e(r),{addLayer:_,removeLayer:v,updateLayer:y}=t(g),b=d(null),x=new Set([`id`,`data`,`getPath`,`getTimestamps`,`timestampsColumn`]),S=(e,t)=>{let n=o(e);if(!n)return null;let r=e.getChild(t)?.data[0],i=r?.valueOffsets,a=r?.values,s=[];for(let e=0;e<n.length;e++){let t=n.startIndices[e]??0,r=n.startIndices[e+1]??0,o=[];for(let e=t;e<r;e++)o.push([n.positions[e*3]??0,n.positions[e*3+1]??0]);let c=[];if(i&&a){let t=i[e]??0,n=i[e+1]??0;for(let e=t;e<n;e++)c.push(Number(a[e]??0))}s.push({path:o,timestamps:c})}return s},C=()=>{if(!b.value||!m.data)return null;let e=S(m.data,m.timestampsColumn??`timestamps`);if(!e)return console.error(`[VLayerDeckglGeoArrowTrips] no GeoArrow linestring column found in data`),null;try{return c(new b.value({...a(m,x),id:m.id,data:e,getPath:e=>e.path,getTimestamps:e=>e.timestamps,onClick:e=>h(`click`,e),onHover:e=>h(`hover`,e)}))}catch(e){return console.error(`[VLayerDeckglGeoArrowTrips] failed to construct layer:`,e),null}};return i(g,async()=>{b.value=c((await n(`@deck.gl/geo-layers`,()=>import(`@deck.gl/geo-layers`),`pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers @deck.gl/geo-layers apache-arrow`)).TripsLayer)}),f(b,e=>{if(!e||!m.data)return;let t=C();t&&_(t)}),f(()=>[m.data,m.currentTime,m.trailLength,m.fadeTrail,m.getPath,m.getTimestamps,m.getColor,m.getWidth,m.widthUnits,m.widthScale,m.widthMinPixels,m.widthMaxPixels,m.opacity,m.visible,m.pickable],()=>{if(!b.value||!m.data)return;let e=C();e&&y(m.id,e)}),l(()=>v(m.id)),(e,t)=>u(e.$slots,`default`)}});export{p as VLayerDeckglGeoArrowTrips};
|
|
2
|
-
//# sourceMappingURL=geoarrow-trips-BqbIoMt8.js.map
|
package/dist/geohash-Pq83atW2.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{GeohashLayer as c}from"@deck.gl/geo-layers";const l=r({__name:`VLayerDeckglGeohash`,props:{id:{},data:{},getGeohash:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getGeohash:u.getGeohash,getFillColor:u.getFillColor??[255,0,0,255],getLineColor:u.getLineColor??[0,0,0,255],getElevation:u.getElevation??1e3,filled:u.filled,stroked:u.stroked,extruded:u.extruded,wireframe:u.wireframe,elevationScale:u.elevationScale,lineWidthUnits:u.lineWidthUnits,lineWidthScale:u.lineWidthScale,lineWidthMinPixels:u.lineWidthMinPixels,lineWidthMaxPixels:u.lineWidthMaxPixels,material:u.material,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getGeohash,u.getFillColor,u.getElevation,u.extruded,u.elevationScale,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglGeohash};
|
|
2
|
-
//# sourceMappingURL=geohash-Pq83atW2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geohash-Pq83atW2.js","names":[],"sources":["../src/layers/deckgl/geohash/VLayerDeckglGeohash.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Render Geohash cells as deck.gl polygons.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/geo-layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/geo-layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { GeohashLayer } from '@deck.gl/geo-layers';\n import type { GeohashLayerProps } from '@deck.gl/geo-layers';\n import type { Color, PickingInfo } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getGeohash: Accessor<D, string>;\n getFillColor?: Accessor<D, Color>;\n getLineColor?: Accessor<D, Color>;\n getElevation?: Accessor<D, number>;\n filled?: boolean;\n stroked?: boolean;\n extruded?: boolean;\n wireframe?: boolean;\n elevationScale?: number;\n lineWidthUnits?: 'meters' | 'common' | 'pixels';\n lineWidthScale?: number;\n lineWidthMinPixels?: number;\n lineWidthMaxPixels?: number;\n material?: boolean | object;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n filled: true,\n stroked: true,\n extruded: false,\n wireframe: false,\n elevationScale: 1,\n lineWidthUnits: 'meters',\n lineWidthScale: 1,\n lineWidthMinPixels: 0,\n lineWidthMaxPixels: Number.MAX_SAFE_INTEGER,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new GeohashLayer({\n id: props.id,\n data: props.data,\n getGeohash: props.getGeohash,\n getFillColor: props.getFillColor ?? [255, 0, 0, 255],\n getLineColor: props.getLineColor ?? [0, 0, 0, 255],\n getElevation: props.getElevation ?? 1000,\n filled: props.filled,\n stroked: props.stroked,\n extruded: props.extruded,\n wireframe: props.wireframe,\n elevationScale: props.elevationScale,\n lineWidthUnits: props.lineWidthUnits,\n lineWidthScale: props.lineWidthScale,\n lineWidthMinPixels: props.lineWidthMinPixels,\n lineWidthMaxPixels: props.lineWidthMaxPixels,\n material: props.material,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as GeohashLayerProps);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getGeohash,\n props.getFillColor,\n props.getElevation,\n props.extruded,\n props.elevationScale,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"41BA6CE,IAAM,EAAQ,EAgBR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAa,CACtB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,WAAY,EAAM,WAClB,aAAc,EAAM,cAAgB,CAAC,IAAK,EAAG,EAAG,IAAG,CACnD,aAAc,EAAM,cAAgB,CAAC,EAAG,EAAG,EAAG,IAAG,CACjD,aAAc,EAAM,cAAgB,IACpC,OAAQ,EAAM,OACd,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,UAAW,EAAM,UACjB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,mBAAoB,EAAM,mBAC1B,mBAAoB,EAAM,mBAC1B,SAAU,EAAM,SAChB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CAC9B,CAAA,CAGlB,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,WACN,EAAM,aACN,EAAM,aACN,EAAM,SACN,EAAM,eACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/geojson-cOxJcO-8.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{GeoJsonLayer as c}from"@deck.gl/layers";const l=r({__name:`VLayerDeckglGeojson`,props:{id:{},data:{},getFillColor:{},getLineColor:{},getLineWidth:{},getPointRadius:{},getElevation:{},getText:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},pointType:{default:`circle`},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},lineJointRounded:{type:Boolean,default:!1},lineCapRounded:{type:Boolean,default:!1},lineMiterLimit:{default:4},pointRadiusUnits:{default:`meters`},pointRadiusScale:{default:1},pointRadiusMinPixels:{default:0},pointRadiusMaxPixels:{default:2**53-1},elevationScale:{default:1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getFillColor:u.getFillColor??[200,200,200,200],getLineColor:u.getLineColor??[0,0,0,255],getLineWidth:u.getLineWidth??1,getPointRadius:u.getPointRadius??1,getElevation:u.getElevation??1e3,getText:u.getText,filled:u.filled,stroked:u.stroked,extruded:u.extruded,wireframe:u.wireframe,pointType:u.pointType,lineWidthUnits:u.lineWidthUnits,lineWidthScale:u.lineWidthScale,lineWidthMinPixels:u.lineWidthMinPixels,lineWidthMaxPixels:u.lineWidthMaxPixels,lineJointRounded:u.lineJointRounded,lineCapRounded:u.lineCapRounded,lineMiterLimit:u.lineMiterLimit,pointRadiusUnits:u.pointRadiusUnits,pointRadiusScale:u.pointRadiusScale,pointRadiusMinPixels:u.pointRadiusMinPixels,pointRadiusMaxPixels:u.pointRadiusMaxPixels,elevationScale:u.elevationScale,material:u.material,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getFillColor,u.getLineColor,u.opacity,u.visible,u.extruded],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglGeojson};
|
|
2
|
-
//# sourceMappingURL=geojson-cOxJcO-8.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geojson-cOxJcO-8.js","names":[],"sources":["../src/layers/deckgl/geojson/VLayerDeckglGeojson.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Render GeoJSON FeatureCollections as deck.gl points/lines/polygons.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { GeoJsonLayer } from '@deck.gl/layers';\n import type { PickingInfo } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n import type { Color } from '../_shared/types';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D | string | Promise<D>;\n getFillColor?: Accessor<D, Color>;\n getLineColor?: Accessor<D, Color>;\n getLineWidth?: Accessor<D, number>;\n getPointRadius?: Accessor<D, number>;\n getElevation?: Accessor<D, number>;\n getText?: Accessor<D, string>;\n filled?: boolean;\n stroked?: boolean;\n extruded?: boolean;\n wireframe?: boolean;\n pointType?: string;\n lineWidthUnits?: 'meters' | 'common' | 'pixels';\n lineWidthScale?: number;\n lineWidthMinPixels?: number;\n lineWidthMaxPixels?: number;\n lineJointRounded?: boolean;\n lineCapRounded?: boolean;\n lineMiterLimit?: number;\n pointRadiusUnits?: 'meters' | 'common' | 'pixels';\n pointRadiusScale?: number;\n pointRadiusMinPixels?: number;\n pointRadiusMaxPixels?: number;\n elevationScale?: number;\n material?: boolean | object;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n filled: true,\n stroked: true,\n extruded: false,\n wireframe: false,\n pointType: 'circle',\n lineWidthUnits: 'meters',\n lineWidthScale: 1,\n lineWidthMinPixels: 0,\n lineWidthMaxPixels: Number.MAX_SAFE_INTEGER,\n lineJointRounded: false,\n lineCapRounded: false,\n lineMiterLimit: 4,\n pointRadiusUnits: 'meters',\n pointRadiusScale: 1,\n pointRadiusMinPixels: 0,\n pointRadiusMaxPixels: Number.MAX_SAFE_INTEGER,\n elevationScale: 1,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new GeoJsonLayer({\n id: props.id,\n data: props.data,\n getFillColor: props.getFillColor ?? [200, 200, 200, 200],\n getLineColor: props.getLineColor ?? [0, 0, 0, 255],\n getLineWidth: props.getLineWidth ?? 1,\n getPointRadius: props.getPointRadius ?? 1,\n getElevation: props.getElevation ?? 1000,\n getText: props.getText,\n filled: props.filled,\n stroked: props.stroked,\n extruded: props.extruded,\n wireframe: props.wireframe,\n pointType: props.pointType,\n lineWidthUnits: props.lineWidthUnits,\n lineWidthScale: props.lineWidthScale,\n lineWidthMinPixels: props.lineWidthMinPixels,\n lineWidthMaxPixels: props.lineWidthMaxPixels,\n lineJointRounded: props.lineJointRounded,\n lineCapRounded: props.lineCapRounded,\n lineMiterLimit: props.lineMiterLimit,\n pointRadiusUnits: props.pointRadiusUnits,\n pointRadiusScale: props.pointRadiusScale,\n pointRadiusMinPixels: props.pointRadiusMinPixels,\n pointRadiusMaxPixels: props.pointRadiusMaxPixels,\n elevationScale: props.elevationScale,\n material: props.material,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as unknown as ConstructorParameters<typeof GeoJsonLayer>[0]);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getFillColor,\n props.getLineColor,\n props.opacity,\n props.visible,\n props.extruded,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"4oCAuDE,IAAM,EAAQ,EAwBR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAa,CACtB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,aAAc,EAAM,cAAgB,CAAC,IAAK,IAAK,IAAK,IAAG,CACvD,aAAc,EAAM,cAAgB,CAAC,EAAG,EAAG,EAAG,IAAG,CACjD,aAAc,EAAM,cAAgB,EACpC,eAAgB,EAAM,gBAAkB,EACxC,aAAc,EAAM,cAAgB,IACpC,QAAS,EAAM,QACf,OAAQ,EAAM,OACd,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,UAAW,EAAM,UACjB,UAAW,EAAM,UACjB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,mBAAoB,EAAM,mBAC1B,mBAAoB,EAAM,mBAC1B,iBAAkB,EAAM,iBACxB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,iBAAkB,EAAM,iBACxB,iBAAkB,EAAM,iBACxB,qBAAsB,EAAM,qBAC5B,qBAAsB,EAAM,qBAC5B,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CACS,CAAA,CAGzD,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,aACN,EAAM,aACN,EAAM,QACN,EAAM,QACN,EAAM,SACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{GreatCircleLayer as c}from"@deck.gl/geo-layers";const l=r({__name:`VLayerDeckglGreatCircle`,props:{id:{},data:{},getSourcePosition:{},getTargetPosition:{},getSourceColor:{},getTargetColor:{},getWidth:{},getHeight:{},getTilt:{},numSegments:{default:50},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getSourcePosition:u.getSourcePosition,getTargetPosition:u.getTargetPosition,getSourceColor:u.getSourceColor??[0,0,255],getTargetColor:u.getTargetColor??[0,255,0],getWidth:u.getWidth??1,getHeight:u.getHeight??1,getTilt:u.getTilt??0,numSegments:u.numSegments,widthUnits:u.widthUnits,widthScale:u.widthScale,widthMinPixels:u.widthMinPixels,widthMaxPixels:u.widthMaxPixels,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getSourcePosition,u.getTargetPosition,u.getSourceColor,u.getTargetColor,u.getWidth,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglGreatCircle};
|
|
2
|
-
//# sourceMappingURL=great-circle-C6GDbX1c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"great-circle-C6GDbX1c.js","names":[],"sources":["../src/layers/deckgl/great-circle/VLayerDeckglGreatCircle.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Render great-circle arcs between coordinate pairs.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/geo-layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/geo-layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { GreatCircleLayer } from '@deck.gl/geo-layers';\n import type { GreatCircleLayerProps } from '@deck.gl/geo-layers';\n import type { Color, PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getSourcePosition: Accessor<D, Position>;\n getTargetPosition: Accessor<D, Position>;\n getSourceColor?: Accessor<D, Color>;\n getTargetColor?: Accessor<D, Color>;\n getWidth?: Accessor<D, number>;\n getHeight?: Accessor<D, number>;\n getTilt?: Accessor<D, number>;\n numSegments?: number;\n widthUnits?: 'meters' | 'common' | 'pixels';\n widthScale?: number;\n widthMinPixels?: number;\n widthMaxPixels?: number;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n numSegments: 50,\n widthUnits: 'pixels',\n widthScale: 1,\n widthMinPixels: 0,\n widthMaxPixels: Number.MAX_SAFE_INTEGER,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new GreatCircleLayer({\n id: props.id,\n data: props.data,\n getSourcePosition: props.getSourcePosition,\n getTargetPosition: props.getTargetPosition,\n getSourceColor: props.getSourceColor ?? [0, 0, 255],\n getTargetColor: props.getTargetColor ?? [0, 255, 0],\n getWidth: props.getWidth ?? 1,\n getHeight: props.getHeight ?? 1,\n getTilt: props.getTilt ?? 0,\n numSegments: props.numSegments,\n widthUnits: props.widthUnits,\n widthScale: props.widthScale,\n widthMinPixels: props.widthMinPixels,\n widthMaxPixels: props.widthMaxPixels,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as GreatCircleLayerProps);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getSourcePosition,\n props.getTargetPosition,\n props.getSourceColor,\n props.getTargetColor,\n props.getWidth,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"2tBA2CE,IAAM,EAAQ,EAYR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAiB,CAC1B,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,kBAAmB,EAAM,kBACzB,kBAAmB,EAAM,kBACzB,eAAgB,EAAM,gBAAkB,CAAC,EAAG,EAAG,IAAG,CAClD,eAAgB,EAAM,gBAAkB,CAAC,EAAG,IAAK,EAAC,CAClD,SAAU,EAAM,UAAY,EAC5B,UAAW,EAAM,WAAa,EAC9B,QAAS,EAAM,SAAW,EAC1B,YAAa,EAAM,YACnB,WAAY,EAAM,WAClB,WAAY,EAAM,WAClB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CAC1B,CAAA,CAGtB,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,kBACN,EAAM,kBACN,EAAM,eACN,EAAM,eACN,EAAM,SACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/grid-BPfXfID8.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{GridLayer as c}from"@deck.gl/aggregation-layers";const l=r({__name:`VLayerDeckglGrid`,props:{id:{},data:{},getPosition:{},getColorWeight:{},getElevationWeight:{},cellSize:{default:1e3},colorRange:{},coverage:{default:1},elevationDomain:{},elevationRange:{},elevationScale:{default:1},extruded:{type:Boolean,default:!1},upperPercentile:{default:100},lowerPercentile:{default:0},elevationUpperPercentile:{default:100},elevationLowerPercentile:{default:0},colorScaleType:{default:`quantize`},colorAggregation:{default:`SUM`},elevationAggregation:{default:`SUM`},gpuAggregation:{type:Boolean,default:!1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getPosition:u.getPosition,getColorWeight:u.getColorWeight??1,getElevationWeight:u.getElevationWeight??1,cellSize:u.cellSize,colorRange:u.colorRange,coverage:u.coverage,elevationDomain:u.elevationDomain,elevationRange:u.elevationRange,elevationScale:u.elevationScale,extruded:u.extruded,upperPercentile:u.upperPercentile,lowerPercentile:u.lowerPercentile,elevationUpperPercentile:u.elevationUpperPercentile,elevationLowerPercentile:u.elevationLowerPercentile,colorScaleType:u.colorScaleType,colorAggregation:u.colorAggregation,elevationAggregation:u.elevationAggregation,gpuAggregation:u.gpuAggregation,material:u.material,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getPosition,u.cellSize,u.colorRange,u.elevationScale,u.extruded,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglGrid};
|
|
2
|
-
//# sourceMappingURL=grid-BPfXfID8.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grid-BPfXfID8.js","names":[],"sources":["../src/layers/deckgl/grid/VLayerDeckglGrid.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Aggregate points into a regular square grid (GPU or CPU).\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/aggregation-layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/aggregation-layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { GridLayer } from '@deck.gl/aggregation-layers';\n import type { Color, PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getPosition: Accessor<D, Position>;\n getColorWeight?: Accessor<D, number>;\n getElevationWeight?: Accessor<D, number>;\n cellSize?: number;\n colorRange?: Color[];\n coverage?: number;\n elevationDomain?: [number, number];\n elevationRange?: [number, number];\n elevationScale?: number;\n extruded?: boolean;\n upperPercentile?: number;\n lowerPercentile?: number;\n elevationUpperPercentile?: number;\n elevationLowerPercentile?: number;\n colorScaleType?: 'quantize' | 'linear' | 'quantile' | 'ordinal';\n colorAggregation?: 'SUM' | 'MEAN' | 'MIN' | 'MAX';\n elevationAggregation?: 'SUM' | 'MEAN' | 'MIN' | 'MAX';\n gpuAggregation?: boolean;\n material?: boolean | object;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n cellSize: 1000,\n coverage: 1,\n elevationScale: 1,\n extruded: false,\n upperPercentile: 100,\n lowerPercentile: 0,\n elevationUpperPercentile: 100,\n elevationLowerPercentile: 0,\n colorScaleType: 'quantize',\n colorAggregation: 'SUM',\n elevationAggregation: 'SUM',\n gpuAggregation: false,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new GridLayer({\n id: props.id,\n data: props.data,\n getPosition: props.getPosition,\n getColorWeight: props.getColorWeight ?? 1,\n getElevationWeight: props.getElevationWeight ?? 1,\n cellSize: props.cellSize,\n colorRange: props.colorRange,\n coverage: props.coverage,\n elevationDomain: props.elevationDomain,\n elevationRange: props.elevationRange,\n elevationScale: props.elevationScale,\n extruded: props.extruded,\n upperPercentile: props.upperPercentile,\n lowerPercentile: props.lowerPercentile,\n elevationUpperPercentile: props.elevationUpperPercentile,\n elevationLowerPercentile: props.elevationLowerPercentile,\n colorScaleType: props.colorScaleType,\n colorAggregation: props.colorAggregation,\n elevationAggregation: props.elevationAggregation,\n gpuAggregation: props.gpuAggregation,\n material: props.material,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as unknown as ConstructorParameters<typeof GridLayer>[0]);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getPosition,\n props.cellSize,\n props.colorRange,\n props.elevationScale,\n props.extruded,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"u+BAiDE,IAAM,EAAQ,EAmBR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAU,CACnB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,YAAa,EAAM,YACnB,eAAgB,EAAM,gBAAkB,EACxC,mBAAoB,EAAM,oBAAsB,EAChD,SAAU,EAAM,SAChB,WAAY,EAAM,WAClB,SAAU,EAAM,SAChB,gBAAiB,EAAM,gBACvB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,gBAAiB,EAAM,gBACvB,gBAAiB,EAAM,gBACvB,yBAA0B,EAAM,yBAChC,yBAA0B,EAAM,yBAChC,eAAgB,EAAM,eACtB,iBAAkB,EAAM,iBACxB,qBAAsB,EAAM,qBAC5B,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CACM,CAAA,CAGtD,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,YACN,EAAM,SACN,EAAM,WACN,EAAM,eACN,EAAM,SACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{GridCellLayer as c}from"@deck.gl/layers";const l=r({__name:`VLayerDeckglGridCell`,props:{id:{},data:{},getPosition:{},getFillColor:{},getElevation:{},cellSize:{default:1e3},coverage:{default:1},elevationScale:{default:1},extruded:{type:Boolean,default:!0},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getPosition:u.getPosition,getFillColor:u.getFillColor??[255,0,0,255],getElevation:u.getElevation??1e3,cellSize:u.cellSize,coverage:u.coverage,elevationScale:u.elevationScale,extruded:u.extruded,material:u.material,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getPosition,u.getFillColor,u.getElevation,u.cellSize,u.elevationScale,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglGridCell};
|
|
2
|
-
//# sourceMappingURL=grid-cell-T0-xdlk_.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grid-cell-T0-xdlk_.js","names":[],"sources":["../src/layers/deckgl/grid-cell/VLayerDeckglGridCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Render arbitrary axis-aligned grid cells with extrusion.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { GridCellLayer } from '@deck.gl/layers';\n import type { GridCellLayerProps } from '@deck.gl/layers';\n import type { Color, PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getPosition: Accessor<D, Position>;\n getFillColor?: Accessor<D, Color>;\n getElevation?: Accessor<D, number>;\n cellSize?: number;\n coverage?: number;\n elevationScale?: number;\n extruded?: boolean;\n material?: boolean | object;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n cellSize: 1000,\n coverage: 1,\n elevationScale: 1,\n extruded: true,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new GridCellLayer({\n id: props.id,\n data: props.data,\n getPosition: props.getPosition,\n getFillColor: props.getFillColor ?? [255, 0, 0, 255],\n getElevation: props.getElevation ?? 1000,\n cellSize: props.cellSize,\n coverage: props.coverage,\n elevationScale: props.elevationScale,\n extruded: props.extruded,\n material: props.material,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as GridCellLayerProps);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getPosition,\n props.getFillColor,\n props.getElevation,\n props.cellSize,\n props.elevationScale,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"+oBAuCE,IAAM,EAAQ,EAWR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAc,CACvB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,YAAa,EAAM,YACnB,aAAc,EAAM,cAAgB,CAAC,IAAK,EAAG,EAAG,IAAG,CACnD,aAAc,EAAM,cAAgB,IACpC,SAAU,EAAM,SAChB,SAAU,EAAM,SAChB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,SAAU,EAAM,SAChB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CAC7B,CAAA,CAGnB,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,YACN,EAAM,aACN,EAAM,aACN,EAAM,SACN,EAAM,eACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{H3ClusterLayer as c}from"@deck.gl/geo-layers";const l=r({__name:`VLayerDeckglH3Cluster`,props:{id:{},data:{},getHexagons:{},getFillColor:{},getLineColor:{},getElevation:{},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getHexagons:u.getHexagons,getFillColor:u.getFillColor??[255,0,0,255],getLineColor:u.getLineColor??[0,0,0,255],getElevation:u.getElevation??1e3,filled:u.filled,stroked:u.stroked,extruded:u.extruded,wireframe:u.wireframe,elevationScale:u.elevationScale,lineWidthUnits:u.lineWidthUnits,lineWidthScale:u.lineWidthScale,lineWidthMinPixels:u.lineWidthMinPixels,lineWidthMaxPixels:u.lineWidthMaxPixels,material:u.material,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getHexagons,u.getFillColor,u.getElevation,u.extruded,u.elevationScale,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglH3Cluster};
|
|
2
|
-
//# sourceMappingURL=h3-cluster-BsvMbaYv.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"h3-cluster-BsvMbaYv.js","names":[],"sources":["../src/layers/deckgl/h3-cluster/VLayerDeckglH3Cluster.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Render groups of contiguous H3 cells as merged polygons.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/geo-layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/geo-layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { H3ClusterLayer } from '@deck.gl/geo-layers';\n import type { H3ClusterLayerProps } from '@deck.gl/geo-layers';\n import type { Color, PickingInfo } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getHexagons: Accessor<D, string[]>;\n getFillColor?: Accessor<D, Color>;\n getLineColor?: Accessor<D, Color>;\n getElevation?: Accessor<D, number>;\n filled?: boolean;\n stroked?: boolean;\n extruded?: boolean;\n wireframe?: boolean;\n elevationScale?: number;\n lineWidthUnits?: 'meters' | 'common' | 'pixels';\n lineWidthScale?: number;\n lineWidthMinPixels?: number;\n lineWidthMaxPixels?: number;\n material?: boolean | object;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n filled: true,\n stroked: true,\n extruded: false,\n wireframe: false,\n elevationScale: 1,\n lineWidthUnits: 'meters',\n lineWidthScale: 1,\n lineWidthMinPixels: 0,\n lineWidthMaxPixels: Number.MAX_SAFE_INTEGER,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new H3ClusterLayer({\n id: props.id,\n data: props.data,\n getHexagons: props.getHexagons,\n getFillColor: props.getFillColor ?? [255, 0, 0, 255],\n getLineColor: props.getLineColor ?? [0, 0, 0, 255],\n getElevation: props.getElevation ?? 1000,\n filled: props.filled,\n stroked: props.stroked,\n extruded: props.extruded,\n wireframe: props.wireframe,\n elevationScale: props.elevationScale,\n lineWidthUnits: props.lineWidthUnits,\n lineWidthScale: props.lineWidthScale,\n lineWidthMinPixels: props.lineWidthMinPixels,\n lineWidthMaxPixels: props.lineWidthMaxPixels,\n material: props.material,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as H3ClusterLayerProps);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getHexagons,\n props.getFillColor,\n props.getElevation,\n props.extruded,\n props.elevationScale,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"i2BA6CE,IAAM,EAAQ,EAgBR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAe,CACxB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,YAAa,EAAM,YACnB,aAAc,EAAM,cAAgB,CAAC,IAAK,EAAG,EAAG,IAAG,CACnD,aAAc,EAAM,cAAgB,CAAC,EAAG,EAAG,EAAG,IAAG,CACjD,aAAc,EAAM,cAAgB,IACpC,OAAQ,EAAM,OACd,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,UAAW,EAAM,UACjB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,mBAAoB,EAAM,mBAC1B,mBAAoB,EAAM,mBAC1B,SAAU,EAAM,SAChB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CAC5B,CAAA,CAGpB,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,YACN,EAAM,aACN,EAAM,aACN,EAAM,SACN,EAAM,eACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{H3HexagonLayer as c}from"@deck.gl/geo-layers";const l=r({__name:`VLayerDeckglH3Hexagon`,props:{id:{},data:{},getHexagon:{},getFillColor:{},getLineColor:{},getElevation:{},highPrecision:{type:[Boolean,String],default:`auto`},coverage:{default:1},elevationScale:{default:1},filled:{type:Boolean,default:!0},stroked:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},material:{type:[Boolean,Object]},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getHexagon:u.getHexagon,getFillColor:u.getFillColor??[255,0,0,255],getLineColor:u.getLineColor??[0,0,0,255],getElevation:u.getElevation??1e3,highPrecision:u.highPrecision,coverage:u.coverage,elevationScale:u.elevationScale,filled:u.filled,stroked:u.stroked,extruded:u.extruded,wireframe:u.wireframe,lineWidthUnits:u.lineWidthUnits,lineWidthScale:u.lineWidthScale,lineWidthMinPixels:u.lineWidthMinPixels,lineWidthMaxPixels:u.lineWidthMaxPixels,material:u.material,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getHexagon,u.getFillColor,u.getElevation,u.extruded,u.elevationScale,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglH3Hexagon};
|
|
2
|
-
//# sourceMappingURL=h3-hexagon-Cx1qlgKb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"h3-hexagon-Cx1qlgKb.js","names":[],"sources":["../src/layers/deckgl/h3-hexagon/VLayerDeckglH3Hexagon.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Render Uber H3 hexagons as individual filled cells.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/geo-layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/geo-layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { H3HexagonLayer } from '@deck.gl/geo-layers';\n import type { H3HexagonLayerProps } from '@deck.gl/geo-layers';\n import type { Color, PickingInfo } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getHexagon: Accessor<D, string>;\n getFillColor?: Accessor<D, Color>;\n getLineColor?: Accessor<D, Color>;\n getElevation?: Accessor<D, number>;\n highPrecision?: boolean | 'auto';\n coverage?: number;\n elevationScale?: number;\n filled?: boolean;\n stroked?: boolean;\n extruded?: boolean;\n wireframe?: boolean;\n lineWidthUnits?: 'meters' | 'common' | 'pixels';\n lineWidthScale?: number;\n lineWidthMinPixels?: number;\n lineWidthMaxPixels?: number;\n material?: boolean | object;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n highPrecision: 'auto',\n coverage: 1,\n elevationScale: 1,\n filled: true,\n stroked: true,\n extruded: false,\n wireframe: false,\n lineWidthUnits: 'meters',\n lineWidthScale: 1,\n lineWidthMinPixels: 0,\n lineWidthMaxPixels: Number.MAX_SAFE_INTEGER,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new H3HexagonLayer({\n id: props.id,\n data: props.data,\n getHexagon: props.getHexagon,\n getFillColor: props.getFillColor ?? [255, 0, 0, 255],\n getLineColor: props.getLineColor ?? [0, 0, 0, 255],\n getElevation: props.getElevation ?? 1000,\n highPrecision: props.highPrecision,\n coverage: props.coverage,\n elevationScale: props.elevationScale,\n filled: props.filled,\n stroked: props.stroked,\n extruded: props.extruded,\n wireframe: props.wireframe,\n lineWidthUnits: props.lineWidthUnits,\n lineWidthScale: props.lineWidthScale,\n lineWidthMinPixels: props.lineWidthMinPixels,\n lineWidthMaxPixels: props.lineWidthMaxPixels,\n material: props.material,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as H3HexagonLayerProps);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getHexagon,\n props.getFillColor,\n props.getElevation,\n props.extruded,\n props.elevationScale,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"06BA+CE,IAAM,EAAQ,EAkBR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAe,CACxB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,WAAY,EAAM,WAClB,aAAc,EAAM,cAAgB,CAAC,IAAK,EAAG,EAAG,IAAG,CACnD,aAAc,EAAM,cAAgB,CAAC,EAAG,EAAG,EAAG,IAAG,CACjD,aAAc,EAAM,cAAgB,IACpC,cAAe,EAAM,cACrB,SAAU,EAAM,SAChB,eAAgB,EAAM,eACtB,OAAQ,EAAM,OACd,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,UAAW,EAAM,UACjB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,mBAAoB,EAAM,mBAC1B,mBAAoB,EAAM,mBAC1B,SAAU,EAAM,SAChB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CAC5B,CAAA,CAGpB,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,WACN,EAAM,aACN,EAAM,aACN,EAAM,SACN,EAAM,eACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/heatmap-ByafStP6.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{HeatmapLayer as c}from"@deck.gl/aggregation-layers";const l=r({__name:`VLayerDeckglHeatmap`,props:{id:{},data:{},getPosition:{},getWeight:{},intensity:{default:1},radiusPixels:{default:30},colorRange:{},threshold:{default:.05},colorDomain:{},aggregation:{default:`SUM`},weightsTextureSize:{default:2048},debounceTimeout:{default:500},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getPosition:u.getPosition,getWeight:u.getWeight??1,intensity:u.intensity,radiusPixels:u.radiusPixels,colorRange:u.colorRange,threshold:u.threshold,colorDomain:u.colorDomain,aggregation:u.aggregation,weightsTextureSize:u.weightsTextureSize,debounceTimeout:u.debounceTimeout,opacity:u.opacity,visible:u.visible,pickable:u.pickable,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getPosition,u.getWeight,u.intensity,u.radiusPixels,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglHeatmap};
|
|
2
|
-
//# sourceMappingURL=heatmap-ByafStP6.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap-ByafStP6.js","names":[],"sources":["../src/layers/deckgl/heatmap/VLayerDeckglHeatmap.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Gaussian-kernel heatmap from point data, GPU-aggregated.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/aggregation-layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/aggregation-layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { HeatmapLayer } from '@deck.gl/aggregation-layers';\n import type { PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n import type { Color } from '../_shared/types';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getPosition: Accessor<D, Position>;\n getWeight?: Accessor<D, number>;\n intensity?: number;\n radiusPixels?: number;\n colorRange?: Color[];\n threshold?: number;\n colorDomain?: [number, number];\n aggregation?: 'SUM' | 'MEAN';\n weightsTextureSize?: number;\n debounceTimeout?: number;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n intensity: 1,\n radiusPixels: 30,\n threshold: 0.05,\n aggregation: 'SUM',\n weightsTextureSize: 2048,\n debounceTimeout: 500,\n opacity: 1,\n visible: true,\n pickable: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new HeatmapLayer({\n id: props.id,\n data: props.data,\n getPosition: props.getPosition,\n getWeight: props.getWeight ?? 1,\n intensity: props.intensity,\n radiusPixels: props.radiusPixels,\n colorRange: props.colorRange,\n threshold: props.threshold,\n colorDomain: props.colorDomain,\n aggregation: props.aggregation,\n weightsTextureSize: props.weightsTextureSize,\n debounceTimeout: props.debounceTimeout,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as unknown as ConstructorParameters<typeof HeatmapLayer>[0]);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getPosition,\n props.getWeight,\n props.intensity,\n props.radiusPixels,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"koBAuCE,IAAM,EAAQ,EAYR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAa,CACtB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,YAAa,EAAM,YACnB,UAAW,EAAM,WAAa,EAC9B,UAAW,EAAM,UACjB,aAAc,EAAM,aACpB,WAAY,EAAM,WAClB,UAAW,EAAM,UACjB,YAAa,EAAM,YACnB,YAAa,EAAM,YACnB,mBAAoB,EAAM,mBAC1B,gBAAiB,EAAM,gBACvB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CACS,CAAA,CAGzD,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,YACN,EAAM,UACN,EAAM,UACN,EAAM,aACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/hexagon-CWRkTkkj.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{HexagonLayer as c}from"@deck.gl/aggregation-layers";const l=r({__name:`VLayerDeckglHexagon`,props:{id:{},data:{},getPosition:{},getColorWeight:{},getElevationWeight:{},gpuAggregation:{type:Boolean,default:!1},radius:{default:1e3},elevationScale:{default:1},elevationRange:{},colorRange:{},colorDomain:{},coverage:{default:1},extruded:{type:Boolean,default:!1},upperPercentile:{default:100},lowerPercentile:{default:0},elevationUpperPercentile:{default:100},elevationLowerPercentile:{default:0},colorScaleType:{default:`quantize`},material:{type:[Boolean,Object]},colorAggregation:{default:`SUM`},elevationAggregation:{default:`SUM`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getPosition:u.getPosition,getColorWeight:u.getColorWeight??(()=>1),getElevationWeight:u.getElevationWeight??(()=>1),gpuAggregation:u.gpuAggregation,radius:u.radius,elevationScale:u.elevationScale,elevationRange:u.elevationRange,colorRange:u.colorRange,colorDomain:u.colorDomain,coverage:u.coverage,extruded:u.extruded,upperPercentile:u.upperPercentile,lowerPercentile:u.lowerPercentile,elevationUpperPercentile:u.elevationUpperPercentile,elevationLowerPercentile:u.elevationLowerPercentile,colorScaleType:u.colorScaleType,material:u.material,colorAggregation:u.colorAggregation,elevationAggregation:u.elevationAggregation,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getPosition,u.radius,u.elevationScale,u.opacity,u.visible,u.extruded],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglHexagon};
|
|
2
|
-
//# sourceMappingURL=hexagon-CWRkTkkj.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hexagon-CWRkTkkj.js","names":[],"sources":["../src/layers/deckgl/hexagon/VLayerDeckglHexagon.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Aggregate points into screen-resolved hexagons with extrusion.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/aggregation-layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/aggregation-layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { HexagonLayer } from '@deck.gl/aggregation-layers';\n import type { PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n import type { Color } from '../_shared/types';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getPosition: Accessor<D, Position>;\n getColorWeight?: Accessor<D, number>;\n getElevationWeight?: Accessor<D, number>;\n gpuAggregation?: boolean;\n radius?: number;\n elevationScale?: number;\n elevationRange?: [number, number];\n colorRange?: Color[];\n colorDomain?: [number, number];\n coverage?: number;\n extruded?: boolean;\n upperPercentile?: number;\n lowerPercentile?: number;\n elevationUpperPercentile?: number;\n elevationLowerPercentile?: number;\n colorScaleType?: 'quantize' | 'linear' | 'quantile' | 'ordinal';\n material?: boolean | object;\n colorAggregation?: 'SUM' | 'MEAN' | 'MIN' | 'MAX' | 'COUNT';\n elevationAggregation?: 'SUM' | 'MEAN' | 'MIN' | 'MAX' | 'COUNT';\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n gpuAggregation: false,\n radius: 1000,\n elevationScale: 1,\n coverage: 1,\n extruded: false,\n upperPercentile: 100,\n lowerPercentile: 0,\n elevationUpperPercentile: 100,\n elevationLowerPercentile: 0,\n colorScaleType: 'quantize',\n colorAggregation: 'SUM',\n elevationAggregation: 'SUM',\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new HexagonLayer({\n id: props.id,\n data: props.data,\n getPosition: props.getPosition,\n getColorWeight: props.getColorWeight ?? (() => 1),\n getElevationWeight: props.getElevationWeight ?? (() => 1),\n gpuAggregation: props.gpuAggregation,\n radius: props.radius,\n elevationScale: props.elevationScale,\n elevationRange: props.elevationRange,\n colorRange: props.colorRange,\n colorDomain: props.colorDomain,\n coverage: props.coverage,\n extruded: props.extruded,\n upperPercentile: props.upperPercentile,\n lowerPercentile: props.lowerPercentile,\n elevationUpperPercentile: props.elevationUpperPercentile,\n elevationLowerPercentile: props.elevationLowerPercentile,\n colorScaleType: props.colorScaleType,\n material: props.material,\n colorAggregation: props.colorAggregation,\n elevationAggregation: props.elevationAggregation,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as unknown as ConstructorParameters<typeof HexagonLayer>[0]);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getPosition,\n props.radius,\n props.elevationScale,\n props.opacity,\n props.visible,\n props.extruded,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"u+BAkDE,IAAM,EAAQ,EAmBR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAa,CACtB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,YAAa,EAAM,YACnB,eAAgB,EAAM,qBAAyB,GAC/C,mBAAoB,EAAM,yBAA6B,GACvD,eAAgB,EAAM,eACtB,OAAQ,EAAM,OACd,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,WAAY,EAAM,WAClB,YAAa,EAAM,YACnB,SAAU,EAAM,SAChB,SAAU,EAAM,SAChB,gBAAiB,EAAM,gBACvB,gBAAiB,EAAM,gBACvB,yBAA0B,EAAM,yBAChC,yBAA0B,EAAM,yBAChC,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,iBAAkB,EAAM,iBACxB,qBAAsB,EAAM,qBAC5B,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CACS,CAAA,CAGzD,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,YACN,EAAM,OACN,EAAM,eACN,EAAM,QACN,EAAM,QACN,EAAM,SACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/icon-WggKPJv7.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{IconLayer as c}from"@deck.gl/layers";const l=r({__name:`VLayerDeckglIcon`,props:{id:{},data:{},getPosition:{},getIcon:{},getSize:{},getColor:{},getAngle:{},iconAtlas:{},iconMapping:{},sizeScale:{default:1},sizeUnits:{default:`pixels`},sizeMinPixels:{default:0},sizeMaxPixels:{default:2**53-1},billboard:{type:Boolean,default:!0},alphaCutoff:{default:.05},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getPosition:u.getPosition,getIcon:u.getIcon??`marker`,getSize:u.getSize??1,getColor:u.getColor??[255,255,255,255],getAngle:u.getAngle??0,iconAtlas:u.iconAtlas,iconMapping:u.iconMapping,sizeScale:u.sizeScale,sizeUnits:u.sizeUnits,sizeMinPixels:u.sizeMinPixels,sizeMaxPixels:u.sizeMaxPixels,billboard:u.billboard,alphaCutoff:u.alphaCutoff,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getPosition,u.getIcon,u.getSize,u.getColor,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglIcon};
|
|
2
|
-
//# sourceMappingURL=icon-WggKPJv7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-WggKPJv7.js","names":[],"sources":["../src/layers/deckgl/icon/VLayerDeckglIcon.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Sprite-sheet icon layer for many marker-like points (cheaper than DOM markers).\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { IconLayer } from '@deck.gl/layers';\n import type { IconLayerProps } from '@deck.gl/layers';\n import type { PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n import type { Color } from '../_shared/types';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface IconMapping {\n [key: string]: {\n x: number;\n y: number;\n width: number;\n height: number;\n anchorX?: number;\n anchorY?: number;\n mask?: boolean;\n };\n }\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getPosition: Accessor<D, Position>;\n getIcon?: Accessor<D, string | object>;\n getSize?: Accessor<D, number>;\n getColor?: Accessor<D, Color>;\n getAngle?: Accessor<D, number>;\n iconAtlas?: string;\n iconMapping?: IconMapping | string;\n sizeScale?: number;\n sizeUnits?: 'meters' | 'common' | 'pixels';\n sizeMinPixels?: number;\n sizeMaxPixels?: number;\n billboard?: boolean;\n alphaCutoff?: number;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n sizeScale: 1,\n sizeUnits: 'pixels',\n sizeMinPixels: 0,\n sizeMaxPixels: Number.MAX_SAFE_INTEGER,\n billboard: true,\n alphaCutoff: 0.05,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new IconLayer({\n id: props.id,\n data: props.data,\n getPosition: props.getPosition,\n getIcon: props.getIcon ?? 'marker',\n getSize: props.getSize ?? 1,\n getColor: props.getColor ?? [255, 255, 255, 255],\n getAngle: props.getAngle ?? 0,\n iconAtlas: props.iconAtlas,\n iconMapping: props.iconMapping,\n sizeScale: props.sizeScale,\n sizeUnits: props.sizeUnits,\n sizeMinPixels: props.sizeMinPixels,\n sizeMaxPixels: props.sizeMaxPixels,\n billboard: props.billboard,\n alphaCutoff: props.alphaCutoff,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as IconLayerProps);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getPosition,\n props.getIcon,\n props.getSize,\n props.getColor,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"itBAyDE,IAAM,EAAQ,EAaR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAU,CACnB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,YAAa,EAAM,YACnB,QAAS,EAAM,SAAW,SAC1B,QAAS,EAAM,SAAW,EAC1B,SAAU,EAAM,UAAY,CAAC,IAAK,IAAK,IAAK,IAAG,CAC/C,SAAU,EAAM,UAAY,EAC5B,UAAW,EAAM,UACjB,YAAa,EAAM,YACnB,UAAW,EAAM,UACjB,UAAW,EAAM,UACjB,cAAe,EAAM,cACrB,cAAe,EAAM,cACrB,UAAW,EAAM,UACjB,YAAa,EAAM,YACnB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CACjC,CAAA,CAGf,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,YACN,EAAM,QACN,EAAM,QACN,EAAM,SACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/line-B5e9w1td.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{LineLayer as c}from"@deck.gl/layers";const l=r({__name:`VLayerDeckglLine`,props:{id:{},data:{},getSourcePosition:{},getTargetPosition:{},getColor:{},getWidth:{},widthUnits:{default:`pixels`},widthScale:{default:1},widthMinPixels:{default:0},widthMaxPixels:{default:2**53-1},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,getSourcePosition:u.getSourcePosition,getTargetPosition:u.getTargetPosition,getColor:u.getColor??[0,0,0,255],getWidth:u.getWidth??1,widthUnits:u.widthUnits,widthScale:u.widthScale,widthMinPixels:u.widthMinPixels,widthMaxPixels:u.widthMaxPixels,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getSourcePosition,u.getTargetPosition,u.getColor,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglLine};
|
|
2
|
-
//# sourceMappingURL=line-B5e9w1td.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"line-B5e9w1td.js","names":[],"sources":["../src/layers/deckgl/line/VLayerDeckglLine.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Render flat straight lines between coordinate pairs.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/layers`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers`\n */\n import { onMounted, onBeforeUnmount, watch } from 'vue';\n import { LineLayer } from '@deck.gl/layers';\n import type { LineLayerProps } from '@deck.gl/layers';\n import type { PickingInfo, Position } from '@deck.gl/core';\n import { injectStrict, MapKey } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n import type { Color } from '../_shared/types';\n\n type Accessor<In, Out> = Out | ((object: In) => Out);\n\n interface Props<D = unknown> {\n id: string;\n data: D[] | string | Promise<D[]>;\n getSourcePosition: Accessor<D, Position>;\n getTargetPosition: Accessor<D, Position>;\n getColor?: Accessor<D, Color>;\n getWidth?: Accessor<D, number>;\n widthUnits?: 'meters' | 'common' | 'pixels';\n widthScale?: number;\n widthMinPixels?: number;\n widthMaxPixels?: number;\n opacity?: number;\n visible?: boolean;\n pickable?: boolean;\n autoHighlight?: boolean;\n highlightColor?: Color;\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n widthUnits: 'pixels',\n widthScale: 1,\n widthMinPixels: 0,\n widthMaxPixels: Number.MAX_SAFE_INTEGER,\n opacity: 1,\n visible: true,\n pickable: true,\n autoHighlight: false,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const createLayer = () => {\n return new LineLayer({\n id: props.id,\n data: props.data,\n getSourcePosition: props.getSourcePosition,\n getTargetPosition: props.getTargetPosition,\n getColor: props.getColor ?? [0, 0, 0, 255],\n getWidth: props.getWidth ?? 1,\n widthUnits: props.widthUnits,\n widthScale: props.widthScale,\n widthMinPixels: props.widthMinPixels,\n widthMaxPixels: props.widthMaxPixels,\n opacity: props.opacity,\n visible: props.visible,\n pickable: props.pickable,\n autoHighlight: props.autoHighlight,\n highlightColor: props.highlightColor,\n beforeId: props.beforeId,\n onClick: (info: PickingInfo) => emit('click', info),\n onHover: (info: PickingInfo) => emit('hover', info),\n } as LineLayerProps);\n };\n\n const initializeLayer = () => {\n addLayer(createLayer());\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.data,\n props.getSourcePosition,\n props.getTargetPosition,\n props.getColor,\n props.opacity,\n props.visible,\n ],\n () => updateLayer(props.id, createLayer()),\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"goBAwCE,IAAM,EAAQ,EAWR,EAAO,EAKP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,MACG,IAAI,EAAU,CACnB,GAAI,EAAM,GACV,KAAM,EAAM,KACZ,kBAAmB,EAAM,kBACzB,kBAAmB,EAAM,kBACzB,SAAU,EAAM,UAAY,CAAC,EAAG,EAAG,EAAG,IAAG,CACzC,SAAU,EAAM,UAAY,EAC5B,WAAY,EAAM,WAClB,WAAY,EAAM,WAClB,eAAgB,EAAM,eACtB,eAAgB,EAAM,eACtB,QAAS,EAAM,QACf,QAAS,EAAM,QACf,SAAU,EAAM,SAChB,cAAe,EAAM,cACrB,eAAgB,EAAM,eACtB,SAAU,EAAM,SAChB,QAAU,GAAsB,EAAK,QAAS,EAAI,CAClD,QAAU,GAAsB,EAAK,QAAS,EAAI,CACjC,CAAA,CAGf,MAAwB,CAC5B,EAAS,GAAa,CAAA,SAGxB,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,KACN,EAAM,kBACN,EAAM,kBACN,EAAM,SACN,EAAM,QACN,EAAM,QACR,KACM,EAAY,EAAM,GAAI,GAAa,CAAA,CACzC,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/mosaic-Cl7rtAXN.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./symbols-CFCXX1_B.js";import{defineComponent as i,markRaw as a,onBeforeUnmount as o,onMounted as s,renderSlot as c,shallowRef as l,toRaw as u,watch as d}from"vue";const f=`pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj`,p=i({__name:`VLayerDeckglMosaic`,props:{id:{},sources:{},renderMode:{default:`trueColor`},customRenderModules:{},colormapData:{},maxCacheSize:{default:1/0},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},highlightColor:{},ndviRange:{default:()=>[-1,1]},beforeId:{}},emits:[`click`,`hover`,`sourceLoad`,`error`],setup(i,{emit:p}){let m=i,h=p,g=e(r),{addLayer:_,removeLayer:v}=t(g),y=``,b=l(null),x={name:`set-alpha-1`,inject:{"fs:DECKGL_FILTER_COLOR":`color = vec4(color.rgb, 1.0);`}},S={name:`false-color-infrared`,inject:{"fs:DECKGL_FILTER_COLOR":`
|
|
2
|
-
float nir = color[3];
|
|
3
|
-
float red = color[0];
|
|
4
|
-
float green = color[1];
|
|
5
|
-
color.rgb = vec3(nir, red, green);
|
|
6
|
-
`}},C={name:`ndvi-compute`,inject:{"fs:DECKGL_FILTER_COLOR":`
|
|
7
|
-
float nir_c = color[3];
|
|
8
|
-
float red_c = color[0];
|
|
9
|
-
float sum_c = nir_c + red_c;
|
|
10
|
-
float ndvi_c = sum_c > 0.001 ? (nir_c - red_c) / sum_c : 0.0;
|
|
11
|
-
color = vec4(ndvi_c, ndvi_c, ndvi_c, 1.0);
|
|
12
|
-
`}},w={name:`ndviFilter`,fs:`uniform ndviFilterUniforms {
|
|
13
|
-
float ndviMin;
|
|
14
|
-
float ndviMax;
|
|
15
|
-
} ndviFilter;
|
|
16
|
-
`,inject:{"fs:DECKGL_FILTER_COLOR":`
|
|
17
|
-
if (color.r < ndviFilter.ndviMin || color.r > ndviFilter.ndviMax) {
|
|
18
|
-
discard;
|
|
19
|
-
}
|
|
20
|
-
`},uniformTypes:{ndviMin:`f32`,ndviMax:`f32`},getUniforms:e=>({ndviMin:e.ndviMin??-1,ndviMax:e.ndviMax??1})},T={name:`ndvi-colormap`,inject:{"fs:DECKGL_FILTER_COLOR":`
|
|
21
|
-
float t = clamp((color.r + 1.0) / 2.0, 0.0, 1.0);
|
|
22
|
-
|
|
23
|
-
vec3 result;
|
|
24
|
-
if (t < 0.4) {
|
|
25
|
-
float localT = t / 0.4;
|
|
26
|
-
result = mix(vec3(0.0, 0.0, 0.5), vec3(0.5, 0.8, 0.9), localT);
|
|
27
|
-
} else if (t < 0.5) {
|
|
28
|
-
float localT = (t - 0.4) / 0.1;
|
|
29
|
-
result = mix(vec3(0.5, 0.8, 0.9), vec3(0.9, 0.9, 0.4), localT);
|
|
30
|
-
} else if (t < 0.6) {
|
|
31
|
-
float localT = (t - 0.5) / 0.1;
|
|
32
|
-
result = mix(vec3(0.9, 0.9, 0.4), vec3(0.6, 0.8, 0.2), localT);
|
|
33
|
-
} else if (t < 0.75) {
|
|
34
|
-
float localT = (t - 0.6) / 0.15;
|
|
35
|
-
result = mix(vec3(0.6, 0.8, 0.2), vec3(0.1, 0.6, 0.1), localT);
|
|
36
|
-
} else {
|
|
37
|
-
float localT = (t - 0.75) / 0.25;
|
|
38
|
-
result = mix(vec3(0.1, 0.6, 0.1), vec3(0.0, 0.3, 0.0), localT);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
color.rgb = result;
|
|
42
|
-
`}};function E(e,t,n,r,i){if(e===`custom`&&i)return i(t);let a=[{module:n.CreateTexture,props:{textureName:t}}];return e===`trueColor`?[...a,{module:x}]:e===`falseColor`?[...a,{module:S},{module:x}]:[...a,{module:C},{module:w,props:{ndviMin:r[0],ndviMax:r[1]}},{module:T},{module:x}]}function D(){let e=b.value;if(!e||!m.sources.length)return null;let{MosaicLayer:t,COGLayer:n,CreateTexture:r,fromUrl:i,resolveEpsg:a}=e,o=u(m.sources),s=u(m.renderMode),c=u(m.ndviRange),l=m.customRenderModules;return new t({id:`${u(m.id)}-mosaic`,sources:o,maxCacheSize:u(m.maxCacheSize),getSource:async e=>{try{let t=await i(e.assets.image.href);return h(`sourceLoad`,e),t}catch(t){throw h(`error`,t,e),t}},renderSource:(e,{data:t,signal:i})=>t?new n({id:`cog-${e.assets.image.href}-${s}`,geotiff:t,epsgResolver:a,getTileData:async(e,t)=>{let{device:n,x:r,y:a}=t,{array:o}=await e.fetchTile(r,a,{signal:i,boundless:!1});if(o.layout===`band-separate`)throw Error(`Band-separate COGs are not supported`);return{texture:n.createTexture({data:o.data,format:`rgba8unorm`,width:o.width,height:o.height}),width:o.width,height:o.height}},renderTile:e=>({image:e.texture,renderPipeline:E(s,e.texture,{CreateTexture:r},c,l)}),signal:i}):null})}async function O(){try{let[e,t,r,i]=await Promise.all([n(`@developmentseed/deck.gl-geotiff`,()=>import(`@developmentseed/deck.gl-geotiff`),f),n(`@developmentseed/deck.gl-raster`,()=>import(`@developmentseed/deck.gl-raster/gpu-modules`),f),n(`@developmentseed/geotiff`,()=>import(`@developmentseed/geotiff`),f),n(`@developmentseed/proj`,()=>import(`@developmentseed/proj`),f)]);b.value=a({MosaicLayer:e.MosaicLayer,COGLayer:e.COGLayer,CreateTexture:t.CreateTexture,fromUrl:r.GeoTIFF.fromUrl,resolveEpsg:i.epsgResolver});let o=D();o&&(y=o.id,_(o))}catch(e){console.error(`[deck.gl-mosaic] Error loading MosaicLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-geotiff, @developmentseed/deck.gl-raster, and @developmentseed/geotiff are installed`),h(`error`,e)}}return s(()=>{g.value?.isStyleLoaded()?O():g.value?.once(`style.load`,O)}),d(()=>[m.sources,m.renderMode,m.ndviRange,m.opacity,m.visible],()=>{if(b.value){let e=D();e&&(y=e.id,_(e))}},{deep:!0}),o(()=>{y&&v(y)}),(e,t)=>c(e.$slots,`default`)}});export{p as VLayerDeckglMosaic};
|
|
43
|
-
//# sourceMappingURL=mosaic-Cl7rtAXN.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mosaic-Cl7rtAXN.js","names":[],"sources":["../src/layers/deckgl/mosaic/VLayerDeckglMosaic.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Client-side COG mosaic for STAC items — GPU-rendered, no tile server required.\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/layers`\n * @requires `@developmentseed/deck.gl-geotiff`\n * @requires `@developmentseed/deck.gl-raster`\n * @requires `@developmentseed/geotiff`\n * @requires `@developmentseed/proj`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj`\n */\n /**\n * VLayerDeckglMosaic - Client-side COG mosaic layer for STAC items\n *\n * Uses @developmentseed/deck.gl-geotiff v0.3.0 MosaicLayer for efficient\n * client-side rendering of multiple COGs from STAC APIs.\n *\n * @see https://github.com/developmentseed/deck.gl-raster/blob/main/examples/naip-mosaic/src/App.tsx\n */\n import {\n onMounted,\n onBeforeUnmount,\n watch,\n shallowRef,\n markRaw,\n toRaw,\n } from 'vue';\n import type { Color, PickingInfo } from '@deck.gl/core';\n import type { GeoTIFF, Overview } from '@developmentseed/geotiff';\n import type { Texture } from '@luma.gl/core';\n import type { RasterModule } from '@developmentseed/deck.gl-raster';\n import type { ShaderModule } from '@luma.gl/shadertools';\n import type {\n COGLayerProps,\n GetTileDataOptions,\n MosaicLayerProps,\n MosaicSource as BaseMosaicSource,\n } from '@developmentseed/deck.gl-geotiff';\n import type { EpsgResolver } from '@developmentseed/proj';\n import { injectStrict, MapKey, requirePeer } from '../../../utils';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n const MOSAIC_PEER_INSTALL =\n 'pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj';\n\n /**\n * A STAC-like item with bounding box and COG asset URL\n * Extends the base MosaicSource from deck.gl-geotiff with asset info\n */\n export interface MosaicSource extends BaseMosaicSource {\n /** Asset containing the COG URL */\n assets: {\n image: { href: string };\n };\n }\n\n /**\n * Render mode for the mosaic layer\n */\n export type MosaicRenderMode = 'trueColor' | 'falseColor' | 'ndvi' | 'custom';\n\n /**\n * Custom render module for advanced band manipulation\n */\n export interface RenderModule {\n module: { name: string; inject?: Record<string, string> };\n props?: Record<string, unknown>;\n }\n\n interface Props {\n id: string;\n /**\n * Array of STAC-like items with bbox and COG asset URLs\n */\n sources: MosaicSource[];\n /**\n * Render mode: trueColor (RGB), falseColor (NIR-R-G), ndvi (with colormap)\n */\n renderMode?: MosaicRenderMode;\n /**\n * Custom render modules (only used when renderMode is 'custom')\n */\n customRenderModules?: (texture: Texture) => RenderModule[];\n /**\n * Custom colormap data for NDVI (Uint8ClampedArray of RGBA values, 256 colors)\n * @reserved Currently not implemented - NDVI uses built-in cfastie colormap.\n */\n colormapData?: Uint8ClampedArray;\n /**\n * Maximum number of tiles to cache\n */\n maxCacheSize?: number;\n /**\n * Layer opacity (0-1)\n */\n opacity?: number;\n /**\n * Layer visibility\n */\n visible?: boolean;\n /**\n * Enable picking on this layer\n */\n pickable?: boolean;\n /**\n * Auto highlight on hover\n */\n autoHighlight?: boolean;\n /**\n * Highlight color when autoHighlight is enabled\n */\n highlightColor?: Color;\n /**\n * NDVI range filter: pixels outside [min, max] are discarded.\n * Only applies when renderMode is 'ndvi'. Range: [-1, 1].\n */\n ndviRange?: [number, number];\n /**\n * Insert layer before this layer id\n */\n beforeId?: string;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n renderMode: 'trueColor',\n maxCacheSize: Infinity,\n opacity: 1,\n visible: true,\n pickable: false,\n autoHighlight: false,\n ndviRange: () => [-1, 1] as [number, number],\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n sourceLoad: [source: MosaicSource];\n error: [error: Error, source?: MosaicSource];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer } = useDeckOverlay(map);\n let activeLayerId = '';\n\n interface TextureData {\n texture: Texture;\n width: number;\n height: number;\n }\n\n interface LoadedModules {\n MosaicLayer: typeof import('@developmentseed/deck.gl-geotiff').MosaicLayer;\n COGLayer: typeof import('@developmentseed/deck.gl-geotiff').COGLayer;\n CreateTexture: RasterModule['module'];\n fromUrl: typeof GeoTIFF.fromUrl;\n resolveEpsg: EpsgResolver;\n }\n\n const modules = shallowRef<LoadedModules | null>(null);\n\n // Shader modules for different render modes\n const SetAlpha1 = {\n name: 'set-alpha-1',\n inject: { 'fs:DECKGL_FILTER_COLOR': `color = vec4(color.rgb, 1.0);` },\n };\n\n const FalseColorInfrared = {\n name: 'false-color-infrared',\n inject: {\n 'fs:DECKGL_FILTER_COLOR': `\n float nir = color[3];\n float red = color[0];\n float green = color[1];\n color.rgb = vec3(nir, red, green);\n `,\n },\n };\n\n // --- NDVI Pipeline: 3 separate modules matching upstream pattern ---\n // Uniforms update per-draw via MeshTextureLayer.draw() → setProps() without\n // re-rendering tiles. Baked constants don't work because renderTile only runs\n // when tiles are FIRST FETCHED — cached tiles keep old shader modules.\n\n // Step 1: Compute NDVI from raw RGBA bands, store in color.r\n const NDVICompute = {\n name: 'ndvi-compute',\n inject: {\n 'fs:DECKGL_FILTER_COLOR': `\n float nir_c = color[3];\n float red_c = color[0];\n float sum_c = nir_c + red_c;\n float ndvi_c = sum_c > 0.001 ? (nir_c - red_c) / sum_c : 0.0;\n color = vec4(ndvi_c, ndvi_c, ndvi_c, 1.0);\n `,\n },\n };\n\n // Step 2: Filter by NDVI range — uniforms update per-draw without tile re-render\n const ndviFilterUniformBlock = `\\\nuniform ndviFilterUniforms {\n float ndviMin;\n float ndviMax;\n} ndviFilter;\n`;\n\n const NDVIFilter = {\n name: 'ndviFilter',\n fs: ndviFilterUniformBlock,\n inject: {\n 'fs:DECKGL_FILTER_COLOR': `\n if (color.r < ndviFilter.ndviMin || color.r > ndviFilter.ndviMax) {\n discard;\n }\n `,\n },\n uniformTypes: {\n ndviMin: 'f32',\n ndviMax: 'f32',\n },\n getUniforms: (uniformProps: Record<string, unknown>) => ({\n ndviMin: (uniformProps.ndviMin as number) ?? -1.0,\n ndviMax: (uniformProps.ndviMax as number) ?? 1.0,\n }),\n } as const satisfies ShaderModule<{ ndviMin: number; ndviMax: number }>;\n\n // Step 3: Apply cfastie-inspired colormap gradient from color.r (NDVI value)\n const NDVIColormap = {\n name: 'ndvi-colormap',\n inject: {\n 'fs:DECKGL_FILTER_COLOR': `\n float t = clamp((color.r + 1.0) / 2.0, 0.0, 1.0);\n \n vec3 result;\n if (t < 0.4) {\n float localT = t / 0.4;\n result = mix(vec3(0.0, 0.0, 0.5), vec3(0.5, 0.8, 0.9), localT);\n } else if (t < 0.5) {\n float localT = (t - 0.4) / 0.1;\n result = mix(vec3(0.5, 0.8, 0.9), vec3(0.9, 0.9, 0.4), localT);\n } else if (t < 0.6) {\n float localT = (t - 0.5) / 0.1;\n result = mix(vec3(0.9, 0.9, 0.4), vec3(0.6, 0.8, 0.2), localT);\n } else if (t < 0.75) {\n float localT = (t - 0.6) / 0.15;\n result = mix(vec3(0.6, 0.8, 0.2), vec3(0.1, 0.6, 0.1), localT);\n } else {\n float localT = (t - 0.75) / 0.25;\n result = mix(vec3(0.1, 0.6, 0.1), vec3(0.0, 0.3, 0.0), localT);\n }\n \n color.rgb = result;\n `,\n },\n };\n\n function getRenderModules(\n mode: MosaicRenderMode,\n texture: Texture,\n mods: {\n CreateTexture: RasterModule['module'];\n },\n ndviRange: [number, number],\n customModules?: (texture: Texture) => RenderModule[],\n ): RasterModule[] {\n if (mode === 'custom' && customModules) {\n return customModules(texture) as RasterModule[];\n }\n\n const base: RasterModule[] = [\n { module: mods.CreateTexture, props: { textureName: texture } },\n ];\n\n if (mode === 'trueColor') {\n return [...base, { module: SetAlpha1 }];\n }\n\n if (mode === 'falseColor') {\n return [...base, { module: FalseColorInfrared }, { module: SetAlpha1 }];\n }\n\n // NDVI pipeline: compute → filter → colormap → alpha\n // NDVIFilter uses uniformTypes + getUniforms so uniform values update\n // per-draw via MeshTextureLayer.draw() WITHOUT re-rendering tiles.\n return [\n ...base,\n { module: NDVICompute },\n {\n module: NDVIFilter,\n props: { ndviMin: ndviRange[0], ndviMax: ndviRange[1] },\n },\n { module: NDVIColormap },\n { module: SetAlpha1 },\n ];\n }\n\n function createLayer() {\n const mods = modules.value;\n if (!mods || !props.sources.length) return null;\n\n const { MosaicLayer, COGLayer, CreateTexture, fromUrl, resolveEpsg } = mods;\n\n const rawSources = toRaw(props.sources);\n const renderMode = toRaw(props.renderMode);\n const ndviRange = toRaw(props.ndviRange) as [number, number];\n const customRenderModules = props.customRenderModules;\n\n // Fixed ID matching upstream pattern — deck.gl diffs old vs new layer\n // via setProps, detecting changed renderSource/renderTile callbacks.\n const newId = `${toRaw(props.id)}-mosaic`;\n const layer = new MosaicLayer<MosaicSource, GeoTIFF>({\n id: newId,\n sources: rawSources,\n maxCacheSize: toRaw(props.maxCacheSize),\n\n getSource: async (source) => {\n try {\n const tiff = await fromUrl(source.assets.image.href);\n emit('sourceLoad', source);\n return tiff;\n } catch (error) {\n emit('error', error as Error, source);\n throw error;\n }\n },\n\n renderSource: (source, { data, signal }) => {\n if (!data) return null;\n\n return new COGLayer<TextureData>({\n id: `cog-${source.assets.image.href}-${renderMode}`,\n geotiff: data,\n epsgResolver: resolveEpsg,\n getTileData: async (\n image: GeoTIFF | Overview,\n options: GetTileDataOptions,\n ) => {\n const { device, x, y } = options;\n const tile = await image.fetchTile(x, y, {\n signal,\n boundless: false,\n });\n const { array } = tile;\n if (array.layout === 'band-separate') {\n throw new Error('Band-separate COGs are not supported');\n }\n const texture = device.createTexture({\n data: array.data,\n format: 'rgba8unorm',\n width: array.width,\n height: array.height,\n });\n return {\n texture,\n width: array.width,\n height: array.height,\n };\n },\n renderTile: (tileData: TextureData) => ({\n image: tileData.texture,\n renderPipeline: getRenderModules(\n renderMode,\n tileData.texture,\n { CreateTexture },\n ndviRange,\n customRenderModules,\n ),\n }),\n signal,\n } as COGLayerProps<TextureData>);\n },\n } as MosaicLayerProps<MosaicSource, GeoTIFF>);\n\n return layer;\n }\n\n async function initializeLayer() {\n try {\n const [geotiffModule, rasterModule, devGeotiff, projModule] =\n await Promise.all([\n requirePeer(\n '@developmentseed/deck.gl-geotiff',\n () => import('@developmentseed/deck.gl-geotiff'),\n MOSAIC_PEER_INSTALL,\n ),\n requirePeer(\n '@developmentseed/deck.gl-raster',\n () => import('@developmentseed/deck.gl-raster/gpu-modules'),\n MOSAIC_PEER_INSTALL,\n ),\n requirePeer(\n '@developmentseed/geotiff',\n () => import('@developmentseed/geotiff'),\n MOSAIC_PEER_INSTALL,\n ),\n requirePeer(\n '@developmentseed/proj',\n () => import('@developmentseed/proj'),\n MOSAIC_PEER_INSTALL,\n ),\n ]);\n\n modules.value = markRaw({\n MosaicLayer: geotiffModule.MosaicLayer,\n COGLayer: geotiffModule.COGLayer,\n CreateTexture: rasterModule.CreateTexture,\n fromUrl: devGeotiff.GeoTIFF.fromUrl,\n resolveEpsg: projModule.epsgResolver,\n });\n\n const layer = createLayer();\n if (layer) {\n activeLayerId = (layer as { id: string }).id;\n addLayer(layer);\n }\n } catch (error) {\n console.error('[deck.gl-mosaic] Error loading MosaicLayer:', error);\n console.error(\n 'Make sure @developmentseed/deck.gl-geotiff, @developmentseed/deck.gl-raster, and @developmentseed/geotiff are installed',\n );\n emit('error', error as Error);\n }\n }\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.sources,\n props.renderMode,\n props.ndviRange,\n props.opacity,\n props.visible,\n ],\n () => {\n if (modules.value) {\n const layer = createLayer();\n if (layer) {\n activeLayerId = (layer as { id: string }).id;\n addLayer(layer);\n }\n }\n },\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n if (activeLayerId) {\n removeLayer(activeLayerId);\n }\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"4MA8CE,MAAM,EACJ,mkBAgFF,IAAM,EAAQ,EAUR,EAAO,EAOP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,eAAgB,EAAe,EAAG,CAChD,EAAgB,GAgBd,EAAU,EAAiC,KAAI,CAG/C,EAAY,CAChB,KAAM,cACN,OAAQ,CAAE,yBAA0B,gCAAgC,CACtE,CAEM,EAAqB,CACzB,KAAM,uBACN,OAAQ,CACN,yBAA0B;;;;;QAM5B,CACF,CAQM,EAAc,CAClB,KAAM,eACN,OAAQ,CACN,yBAA0B;;;;;;QAO5B,CACF,CAUM,EAAa,CACjB,KAAM,aACN,GAAI;;;;EACJ,OAAQ,CACN,yBAA0B;;;;QAK5B,CACA,aAAc,CACZ,QAAS,MACT,QAAS,MACX,CACA,YAAc,IAA2C,CACvD,QAAU,EAAa,SAAsB,GAC7C,QAAU,EAAa,SAAsB,EAC/C,EACF,CAGM,EAAe,CACnB,KAAM,gBACN,OAAQ,CACN,yBAA0B;;;;;;;;;;;;;;;;;;;;;;QAuB5B,CACF,CAEA,SAAS,EACP,EACA,EACA,EAGA,EACA,EACgB,CAChB,GAAI,IAAS,UAAY,EACvB,OAAO,EAAc,EAAO,CAG9B,IAAM,EAAuB,CAC3B,CAAE,OAAQ,EAAK,cAAe,MAAO,CAAE,YAAa,EAAQ,CAC9D,CAAA,CAaA,OAXI,IAAS,YACJ,CAAC,GAAG,EAAM,CAAE,OAAQ,EAAW,CAAA,CAGpC,IAAS,aACJ,CAAC,GAAG,EAAM,CAAE,OAAQ,EAAmB,CAAG,CAAE,OAAQ,EAAU,CAAC,CAMjE,CACL,GAAG,EACH,CAAE,OAAQ,EAAY,CACtB,CACE,OAAQ,EACR,MAAO,CAAE,QAAS,EAAU,GAAI,QAAS,EAAU,GAAG,CACxD,CACA,CAAE,OAAQ,EAAa,CACvB,CAAE,OAAQ,EAAU,CACtB,CAGF,SAAS,GAAc,CACrB,IAAM,EAAO,EAAQ,MACrB,GAAI,CAAC,GAAQ,CAAC,EAAM,QAAQ,OAAQ,OAAO,KAE3C,GAAM,CAAE,cAAa,WAAU,gBAAe,UAAS,eAAgB,EAEjE,EAAa,EAAM,EAAM,QAAO,CAChC,EAAa,EAAM,EAAM,WAAU,CACnC,EAAY,EAAM,EAAM,UAAS,CACjC,EAAsB,EAAM,oBAoElC,OAAO,IA/DW,EAAmC,CACnD,GAAI,GAFW,EAAM,EAAM,GAAE,CAAE,SAG/B,QAAS,EACT,aAAc,EAAM,EAAM,aAAY,CAEtC,UAAW,KAAO,IAAW,CAC3B,GAAI,CACF,IAAM,EAAO,MAAM,EAAQ,EAAO,OAAO,MAAM,KAAI,CAEnD,OADA,EAAK,aAAc,EAAM,CAClB,QACA,EAAO,CAEd,MADA,EAAK,QAAS,EAAgB,EAAM,CAC9B,IAIV,cAAe,EAAQ,CAAE,OAAM,YACxB,EAEE,IAAI,EAAsB,CAC/B,GAAI,OAAO,EAAO,OAAO,MAAM,KAAK,GAAG,IACvC,QAAS,EACT,aAAc,EACd,YAAa,MACX,EACA,IACG,CACH,GAAM,CAAE,SAAQ,IAAG,KAAM,EAKnB,CAAE,SAAU,MAJC,EAAM,UAAU,EAAG,EAAG,CACvC,SACA,UAAW,GACZ,CAAA,CAED,GAAI,EAAM,SAAW,gBACnB,MAAU,MAAM,uCAAsC,CAQxD,MAAO,CACL,QAPc,EAAO,cAAc,CACnC,KAAM,EAAM,KACZ,OAAQ,aACR,MAAO,EAAM,MACb,OAAQ,EAAM,OACf,CAEC,CACA,MAAO,EAAM,MACb,OAAQ,EAAM,OAChB,EAEF,WAAa,IAA2B,CACtC,MAAO,EAAS,QAChB,eAAgB,EACd,EACA,EAAS,QACT,CAAE,gBAAc,CAChB,EACA,EACF,CACF,EACA,SAC6B,CAAA,CA1Cb,KA4CsB,CAErC,CAGT,eAAe,GAAkB,CAC/B,GAAI,CACF,GAAM,CAAC,EAAe,EAAc,EAAY,GAC9C,MAAM,QAAQ,IAAI,CAChB,EACE,uCACM,OAAO,oCACb,EACF,CACA,EACE,sCACM,OAAO,+CACb,EACF,CACA,EACE,+BACM,OAAO,4BACb,EACF,CACA,EACE,4BACM,OAAO,yBACb,EACF,CACD,CAAA,CAEH,EAAQ,MAAQ,EAAQ,CACtB,YAAa,EAAc,YAC3B,SAAU,EAAc,SACxB,cAAe,EAAa,cAC5B,QAAS,EAAW,QAAQ,QAC5B,YAAa,EAAW,aACzB,CAAA,CAED,IAAM,EAAQ,GAAY,CACtB,IACF,EAAiB,EAAyB,GAC1C,EAAS,EAAK,QAET,EAAO,CACd,QAAQ,MAAM,8CAA+C,EAAK,CAClE,QAAQ,MACN,0HACF,CACA,EAAK,QAAS,EAAc,SAIhC,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,QACN,EAAM,WACN,EAAM,UACN,EAAM,QACN,EAAM,QACR,KACM,CACJ,GAAI,EAAQ,MAAO,CACjB,IAAM,EAAQ,GAAY,CACtB,IACF,EAAiB,EAAyB,GAC1C,EAAS,EAAK,IAIpB,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CAChB,GACF,EAAY,EAAa,EAE5B,QAID,EAAa,EAAA,OAAA,UAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./symbols-CFCXX1_B.js";import{defineComponent as i,markRaw as a,onBeforeUnmount as o,onMounted as s,renderSlot as c,shallowRef as l,toRaw as u,watch as d}from"vue";const f=`pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj`,p=i({__name:`VLayerDeckglMultiCOG`,props:{id:{},sources:{},composite:{},renderPipeline:{},maxError:{default:.125},maxCacheSize:{},maxCacheByteSize:{},maxRequests:{default:6},debounceTime:{},refinementStrategy:{default:`best-available`},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!1},autoHighlight:{type:Boolean,default:!1},beforeId:{},debug:{type:Boolean,default:!1},debugOpacity:{default:.5},debugLevel:{default:1}},emits:[`click`,`hover`,`geotiffLoad`],setup(i,{emit:p}){let m=i,h=p,g=e(r),{addLayer:_,removeLayer:v,updateLayer:y}=t(g),b=l(null),x=l(null),S=()=>{if(!b.value)return null;let e={id:u(m.id),sources:u(m.sources),opacity:u(m.opacity),visible:u(m.visible),pickable:u(m.pickable),autoHighlight:u(m.autoHighlight),debug:u(m.debug),debugOpacity:u(m.debugOpacity),debugLevel:u(m.debugLevel),maxError:u(m.maxError)};return x.value&&(e.epsgResolver=x.value),m.composite&&(e.composite=u(m.composite)),m.renderPipeline&&(e.renderPipeline=u(m.renderPipeline)),m.maxCacheSize!==void 0&&(e.maxCacheSize=u(m.maxCacheSize)),m.maxCacheByteSize!==void 0&&(e.maxCacheByteSize=u(m.maxCacheByteSize)),m.maxRequests!==6&&(e.maxRequests=u(m.maxRequests)),m.debounceTime!==void 0&&(e.debounceTime=u(m.debounceTime)),m.refinementStrategy!==`best-available`&&(e.refinementStrategy=u(m.refinementStrategy)),m.beforeId!==void 0&&(e.beforeId=u(m.beforeId)),e.onGeoTIFFLoad=(e,t)=>{h(`geotiffLoad`,e,t)},a(new b.value(e))},C=async()=>{try{let[e,t]=await Promise.all([n(`@developmentseed/deck.gl-geotiff`,()=>import(`@developmentseed/deck.gl-geotiff`),f),n(`@developmentseed/proj`,()=>import(`@developmentseed/proj`),f)]);b.value=a(e.MultiCOGLayer),x.value=t.epsgResolver;let r=S();r&&_(r)}catch(e){console.error(`[deck.gl-raster] Error loading MultiCOGLayer:`,e),console.error(`Make sure @developmentseed/deck.gl-geotiff and @developmentseed/proj are installed`)}};return s(()=>{g.value?.isStyleLoaded()?C():g.value?.once(`style.load`,C)}),d(()=>[m.sources,m.composite,m.renderPipeline,m.opacity,m.visible,m.debug,m.debugOpacity,m.debugLevel,m.maxError],()=>{let e=S();e&&y(m.id,e)},{deep:!0}),o(()=>{v(m.id)}),(e,t)=>c(e.$slots,`default`)}});export{p as VLayerDeckglMultiCOG};
|
|
2
|
-
//# sourceMappingURL=multi-cog-DAJbnElE.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multi-cog-DAJbnElE.js","names":[],"sources":["../src/layers/deckgl/multi-cog/VLayerDeckglMultiCOG.vue"],"sourcesContent":["<script setup lang=\"ts\">\n /**\n * Multi-band split-resolution COG compositor (e.g. Sentinel-2 band combinations).\n *\n * @requires `@deck.gl/core`\n * @requires `@deck.gl/mapbox`\n * @requires `@deck.gl/layers`\n * @requires `@developmentseed/deck.gl-geotiff`\n * @requires `@developmentseed/deck.gl-raster`\n * @requires `@developmentseed/geotiff`\n * @requires `@developmentseed/proj`\n *\n * Install with:\n * `pnpm add @deck.gl/core @deck.gl/mapbox @deck.gl/layers @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj`\n */\n /**\n * VLayerDeckglMultiCOG — multi-band split-resolution COG compositing.\n *\n * Wraps @developmentseed/deck.gl-geotiff MultiCOGLayer.\n * Use case: render Sentinel-2 or other multi-band imagery where bands live in\n * separate COGs at different native resolutions. The layer opens all sources\n * in parallel, picks the finest as the primary tileset, and the GPU\n * resamples lower-resolution bands to match.\n *\n * @see https://github.com/developmentseed/deck.gl-raster/blob/main/examples/sentinel-2/src/App.tsx\n */\n import {\n onMounted,\n onBeforeUnmount,\n watch,\n shallowRef,\n markRaw,\n toRaw,\n } from 'vue';\n import type { PickingInfo } from '@deck.gl/core';\n import type { RasterModule } from '@developmentseed/deck.gl-raster';\n import type { MultiCOGSourceConfig } from '@developmentseed/deck.gl-geotiff';\n import type { GeoTIFF } from '@developmentseed/geotiff';\n import { injectStrict, MapKey, requirePeer } from '../../../utils';\n\n const MULTICOG_PEER_INSTALL =\n 'pnpm add @deck.gl/core @deck.gl/layers @deck.gl/mapbox @developmentseed/deck.gl-geotiff @developmentseed/deck.gl-raster @developmentseed/geotiff @developmentseed/proj';\n import { useDeckOverlay } from '../_shared/useDeckOverlay';\n\n /**\n * Maps source band names to RGB(A) output channels for the compositing step.\n */\n export interface MultiCOGComposite {\n r: string;\n g?: string;\n b?: string;\n a?: string;\n }\n\n interface Props {\n id: string;\n /**\n * Named sources — each key is the band name. Pass at least one entry per\n * band referenced in `composite`.\n */\n sources: Record<string, MultiCOGSourceConfig>;\n /**\n * Map source band names to RGB(A) output channels. Defaults to passing\n * the first source through to all channels (greyscale) if omitted.\n */\n composite?: MultiCOGComposite;\n /**\n * Post-processing render pipeline modules applied after band compositing\n * (e.g. LinearRescale, ColormapSprite, NDVI).\n */\n renderPipeline?: RasterModule[];\n /** Max reprojection error in pixels for mesh refinement. */\n maxError?: number;\n /** Maximum number of tiles to cache. */\n maxCacheSize?: number;\n /** Maximum cached tile byte size. */\n maxCacheByteSize?: number;\n /** Maximum concurrent tile requests. */\n maxRequests?: number;\n /** Tile fetch debounce (ms). */\n debounceTime?: number;\n /** Tile refinement strategy. */\n refinementStrategy?: 'best-available' | 'no-overlap' | 'never';\n /** Layer opacity (0-1). */\n opacity?: number;\n /** Layer visibility. */\n visible?: boolean;\n /** Enable picking. */\n pickable?: boolean;\n /** Auto-highlight on hover. */\n autoHighlight?: boolean;\n /** Insert layer before this layer id. */\n beforeId?: string;\n /** Show debug overlay on tiles. */\n debug?: boolean;\n /** Debug overlay opacity (0-1). */\n debugOpacity?: number;\n /** Debug verbosity: 1=coords, 2=+uv/tiles, 3=+stitched-size/meters/px. */\n debugLevel?: 1 | 2 | 3;\n }\n\n const props = withDefaults(defineProps<Props>(), {\n maxError: 0.125,\n maxRequests: 6,\n refinementStrategy: 'best-available',\n opacity: 1,\n visible: true,\n pickable: false,\n autoHighlight: false,\n debug: false,\n debugOpacity: 0.5,\n debugLevel: 1,\n });\n\n const emit = defineEmits<{\n click: [info: PickingInfo];\n hover: [info: PickingInfo];\n geotiffLoad: [\n sources: Map<string, GeoTIFF>,\n options: {\n primaryKey: string;\n geographicBounds: {\n west: number;\n south: number;\n east: number;\n north: number;\n };\n },\n ];\n }>();\n\n const map = injectStrict(MapKey);\n const { addLayer, removeLayer, updateLayer } = useDeckOverlay(map);\n\n const MultiCOGLayerClass = shallowRef<\n typeof import('@developmentseed/deck.gl-geotiff').MultiCOGLayer | null\n >(null);\n const epsgResolverFn = shallowRef<\n typeof import('@developmentseed/proj').epsgResolver | null\n >(null);\n\n const createLayer = () => {\n if (!MultiCOGLayerClass.value) return null;\n\n const layerProps: Record<string, unknown> = {\n id: toRaw(props.id),\n sources: toRaw(props.sources),\n opacity: toRaw(props.opacity),\n visible: toRaw(props.visible),\n pickable: toRaw(props.pickable),\n autoHighlight: toRaw(props.autoHighlight),\n debug: toRaw(props.debug),\n debugOpacity: toRaw(props.debugOpacity),\n debugLevel: toRaw(props.debugLevel),\n maxError: toRaw(props.maxError),\n };\n\n if (epsgResolverFn.value) {\n layerProps.epsgResolver = epsgResolverFn.value;\n }\n\n if (props.composite) {\n layerProps.composite = toRaw(props.composite);\n }\n if (props.renderPipeline) {\n layerProps.renderPipeline = toRaw(props.renderPipeline);\n }\n if (props.maxCacheSize !== undefined)\n layerProps.maxCacheSize = toRaw(props.maxCacheSize);\n if (props.maxCacheByteSize !== undefined)\n layerProps.maxCacheByteSize = toRaw(props.maxCacheByteSize);\n if (props.maxRequests !== 6)\n layerProps.maxRequests = toRaw(props.maxRequests);\n if (props.debounceTime !== undefined)\n layerProps.debounceTime = toRaw(props.debounceTime);\n if (props.refinementStrategy !== 'best-available')\n layerProps.refinementStrategy = toRaw(props.refinementStrategy);\n if (props.beforeId !== undefined)\n layerProps.beforeId = toRaw(props.beforeId);\n\n layerProps.onGeoTIFFLoad = (\n sources: Map<string, GeoTIFF>,\n options: {\n primaryKey: string;\n geographicBounds: {\n west: number;\n south: number;\n east: number;\n north: number;\n };\n },\n ) => {\n emit('geotiffLoad', sources, options);\n };\n\n const layer = new MultiCOGLayerClass.value(layerProps);\n return markRaw(layer);\n };\n\n const initializeLayer = async () => {\n try {\n const [geotiffModule, projModule] = await Promise.all([\n requirePeer(\n '@developmentseed/deck.gl-geotiff',\n () => import('@developmentseed/deck.gl-geotiff'),\n MULTICOG_PEER_INSTALL,\n ),\n requirePeer(\n '@developmentseed/proj',\n () => import('@developmentseed/proj'),\n MULTICOG_PEER_INSTALL,\n ),\n ]);\n\n MultiCOGLayerClass.value = markRaw(geotiffModule.MultiCOGLayer);\n epsgResolverFn.value = projModule.epsgResolver;\n\n const layer = createLayer();\n if (layer) {\n addLayer(layer);\n }\n } catch (error) {\n console.error('[deck.gl-raster] Error loading MultiCOGLayer:', error);\n console.error(\n 'Make sure @developmentseed/deck.gl-geotiff and @developmentseed/proj are installed',\n );\n }\n };\n\n onMounted(() => {\n if (map.value?.isStyleLoaded()) {\n initializeLayer();\n } else {\n map.value?.once('style.load', initializeLayer);\n }\n });\n\n watch(\n () => [\n props.sources,\n props.composite,\n props.renderPipeline,\n props.opacity,\n props.visible,\n props.debug,\n props.debugOpacity,\n props.debugLevel,\n props.maxError,\n ],\n () => {\n const layer = createLayer();\n if (layer) {\n updateLayer(props.id, layer);\n }\n },\n { deep: true },\n );\n\n onBeforeUnmount(() => {\n removeLayer(props.id);\n });\n</script>\n\n<template>\n <slot></slot>\n</template>\n"],"mappings":"4MAwCE,MAAM,EACJ,4qBA4DF,IAAM,EAAQ,EAaR,EAAO,EAiBP,EAAM,EAAa,EAAM,CACzB,CAAE,WAAU,cAAa,eAAgB,EAAe,EAAG,CAE3D,EAAqB,EAEzB,KAAI,CACA,EAAiB,EAErB,KAAI,CAEA,MAAoB,CACxB,GAAI,CAAC,EAAmB,MAAO,OAAO,KAEtC,IAAM,EAAsC,CAC1C,GAAI,EAAM,EAAM,GAAE,CAClB,QAAS,EAAM,EAAM,QAAO,CAC5B,QAAS,EAAM,EAAM,QAAO,CAC5B,QAAS,EAAM,EAAM,QAAO,CAC5B,SAAU,EAAM,EAAM,SAAQ,CAC9B,cAAe,EAAM,EAAM,cAAa,CACxC,MAAO,EAAM,EAAM,MAAK,CACxB,aAAc,EAAM,EAAM,aAAY,CACtC,WAAY,EAAM,EAAM,WAAU,CAClC,SAAU,EAAM,EAAM,SAAQ,CAChC,CAyCA,OAvCI,EAAe,QACjB,EAAW,aAAe,EAAe,OAGvC,EAAM,YACR,EAAW,UAAY,EAAM,EAAM,UAAS,EAE1C,EAAM,iBACR,EAAW,eAAiB,EAAM,EAAM,eAAc,EAEpD,EAAM,eAAiB,IAAA,KACzB,EAAW,aAAe,EAAM,EAAM,aAAY,EAChD,EAAM,mBAAqB,IAAA,KAC7B,EAAW,iBAAmB,EAAM,EAAM,iBAAgB,EACxD,EAAM,cAAgB,IACxB,EAAW,YAAc,EAAM,EAAM,YAAW,EAC9C,EAAM,eAAiB,IAAA,KACzB,EAAW,aAAe,EAAM,EAAM,aAAY,EAChD,EAAM,qBAAuB,mBAC/B,EAAW,mBAAqB,EAAM,EAAM,mBAAkB,EAC5D,EAAM,WAAa,IAAA,KACrB,EAAW,SAAW,EAAM,EAAM,SAAQ,EAE5C,EAAW,eACT,EACA,IASG,CACH,EAAK,cAAe,EAAS,EAAO,EAI/B,EAAQ,IADG,EAAmB,MAAM,EACvB,CAAA,EAGhB,EAAkB,SAAY,CAClC,GAAI,CACF,GAAM,CAAC,EAAe,GAAc,MAAM,QAAQ,IAAI,CACpD,EACE,uCACM,OAAO,oCACb,EACF,CACA,EACE,4BACM,OAAO,yBACb,EAEJ,CAAC,CAAA,CAED,EAAmB,MAAQ,EAAQ,EAAc,cAAa,CAC9D,EAAe,MAAQ,EAAW,aAElC,IAAM,EAAQ,GAAY,CACtB,GACF,EAAS,EAAK,OAET,EAAO,CACd,QAAQ,MAAM,gDAAiD,EAAK,CACpE,QAAQ,MACN,qFACF,UAIJ,MAAgB,CACV,EAAI,OAAO,eAAc,CAC3B,GAAgB,CAEhB,EAAI,OAAO,KAAK,aAAc,EAAe,EAEhD,CAED,MACQ,CACJ,EAAM,QACN,EAAM,UACN,EAAM,eACN,EAAM,QACN,EAAM,QACN,EAAM,MACN,EAAM,aACN,EAAM,WACN,EAAM,SACR,KACM,CACJ,IAAM,EAAQ,GAAY,CACtB,GACF,EAAY,EAAM,GAAI,EAAK,EAG/B,CAAE,KAAM,GACV,CAAA,CAEA,MAAsB,CACpB,EAAY,EAAM,GAAE,EACrB,QAID,EAAa,EAAA,OAAA,UAAA"}
|
package/dist/mvt-D0GYYs-Z.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,t as n}from"./symbols-CFCXX1_B.js";import{defineComponent as r,onBeforeUnmount as i,onMounted as a,renderSlot as o,watch as s}from"vue";import{MVTLayer as c}from"@deck.gl/geo-layers";const l=r({__name:`VLayerDeckglMVT`,props:{id:{},data:{},minZoom:{default:0},maxZoom:{default:23},uniqueIdProperty:{},highlightedFeatureId:{},binary:{type:Boolean,default:!0},loadOptions:{},getFillColor:{},getLineColor:{},getLineWidth:{},getPointRadius:{},getElevation:{},lineWidthUnits:{default:`meters`},lineWidthScale:{default:1},lineWidthMinPixels:{default:0},lineWidthMaxPixels:{default:2**53-1},pointRadiusUnits:{default:`meters`},pointRadiusScale:{default:1},pointRadiusMinPixels:{default:0},pointRadiusMaxPixels:{default:2**53-1},stroked:{type:Boolean,default:!0},filled:{type:Boolean,default:!0},extruded:{type:Boolean,default:!1},wireframe:{type:Boolean,default:!1},elevationScale:{default:1},pointType:{},opacity:{default:1},visible:{type:Boolean,default:!0},pickable:{type:Boolean,default:!0},autoHighlight:{type:Boolean,default:!1},highlightColor:{},beforeId:{}},emits:[`click`,`hover`,`tileLoad`,`tileError`],setup(r,{emit:l}){let u=r,d=l,f=e(n),{addLayer:p,removeLayer:m,updateLayer:h}=t(f),g=()=>new c({id:u.id,data:u.data,minZoom:u.minZoom,maxZoom:u.maxZoom,uniqueIdProperty:u.uniqueIdProperty,highlightedFeatureId:u.highlightedFeatureId,binary:u.binary,loadOptions:u.loadOptions,getFillColor:u.getFillColor??[255,0,0,255],getLineColor:u.getLineColor??[0,0,0,255],getLineWidth:u.getLineWidth??1,getPointRadius:u.getPointRadius??1,getElevation:u.getElevation??1e3,lineWidthUnits:u.lineWidthUnits,lineWidthScale:u.lineWidthScale,lineWidthMinPixels:u.lineWidthMinPixels,lineWidthMaxPixels:u.lineWidthMaxPixels,pointRadiusUnits:u.pointRadiusUnits,pointRadiusScale:u.pointRadiusScale,pointRadiusMinPixels:u.pointRadiusMinPixels,pointRadiusMaxPixels:u.pointRadiusMaxPixels,stroked:u.stroked,filled:u.filled,extruded:u.extruded,wireframe:u.wireframe,elevationScale:u.elevationScale,pointType:u.pointType,opacity:u.opacity,visible:u.visible,pickable:u.pickable,autoHighlight:u.autoHighlight,highlightColor:u.highlightColor,beforeId:u.beforeId,onClick:e=>d(`click`,e),onHover:e=>d(`hover`,e),onTileLoad:e=>d(`tileLoad`,e),onTileError:(e,t)=>d(`tileError`,e,t)}),_=()=>{p(g())};return a(()=>{f.value?.isStyleLoaded()?_():f.value?.once(`style.load`,_)}),s(()=>[u.data,u.getFillColor,u.getLineColor,u.highlightedFeatureId,u.extruded,u.opacity,u.visible],()=>h(u.id,g()),{deep:!0}),i(()=>{m(u.id)}),(e,t)=>o(e.$slots,`default`)}});export{l as VLayerDeckglMVT};
|
|
2
|
-
//# sourceMappingURL=mvt-D0GYYs-Z.js.map
|