m4-w-fast 1.0.13 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +54 -1
  2. package/dist/index.cjs +1 -6533
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.js +1 -1
  5. package/dist/index.mjs +1 -6531
  6. package/dist/intersect.worker.js +9 -9
  7. package/dist/isoBands.worker.js +1 -1
  8. package/dist/leaflet/leafletLayer.d.ts +8 -0
  9. package/dist/leaflet/leafletLayer.js +1 -0
  10. package/dist/leaflet/types.d.ts +42 -0
  11. package/dist/leaflet/types.js +1 -0
  12. package/dist/m4-w-fast.umd.js +1 -1
  13. package/dist/raster-overlay/color.d.ts +11 -0
  14. package/dist/raster-overlay/color.js +1 -0
  15. package/dist/raster-overlay/core.d.ts +31 -0
  16. package/dist/raster-overlay/core.js +1 -0
  17. package/dist/raster-overlay/index.cjs +2 -0
  18. package/dist/raster-overlay/index.d.ts +4 -0
  19. package/dist/raster-overlay/index.js +1 -0
  20. package/dist/raster-overlay/index.mjs +2 -0
  21. package/dist/raster-overlay/leaflet-renderers/cpuRenderer.d.ts +0 -0
  22. package/dist/raster-overlay/leaflet-renderers/cpuRenderer.js +1 -0
  23. package/dist/raster-overlay/leaflet-renderers/createRenderer.d.ts +3 -0
  24. package/dist/raster-overlay/leaflet-renderers/createRenderer.js +1 -0
  25. package/dist/raster-overlay/leaflet-renderers/renderer.d.ts +51 -0
  26. package/dist/raster-overlay/leaflet-renderers/renderer.js +1 -0
  27. package/dist/raster-overlay/leaflet-renderers/webgl2Renderer.d.ts +74 -0
  28. package/dist/raster-overlay/leaflet-renderers/webgl2Renderer.js +1 -0
  29. package/dist/raster-overlay/leaflet-renderers/webglRenderer.d.ts +0 -0
  30. package/dist/raster-overlay/leaflet-renderers/webglRenderer.js +1 -0
  31. package/dist/raster-overlay/leaflet-renderers/webgpuRenderer.d.ts +0 -0
  32. package/dist/raster-overlay/leaflet-renderers/webgpuRenderer.js +1 -0
  33. package/dist/raster-overlay/leafletLayer.d.ts +48 -0
  34. package/dist/raster-overlay/leafletLayer.js +1 -0
  35. package/dist/raster-overlay/m4-w-raster-overlay.umd.js +2 -0
  36. package/dist/raster-overlay/types.d.ts +114 -0
  37. package/dist/raster-overlay/types.js +1 -0
  38. package/dist/readFile.d.ts +7 -1
  39. package/dist/readFile.js +1 -1
  40. package/dist/types.d.ts +6 -0
  41. package/package.json +12 -4
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # m4文件绘图程序
2
2
 
3
+ ![img.png](img.png)
4
+
3
5
  ### 更新说明
4
6
  - v1.0.1: 修复了安装在vite环境打包时woker不正常工作的问题
5
7
  - v1.0.2: 新增了一个可以单独获取某一个break的等值面方法 `getIsoBandsByLayerBreak(breaks: number[], break: number)`
@@ -39,7 +41,11 @@
39
41
  - 修复了在 `vite8` 环境下的验证问题, 导出更加严格
40
42
  - v1.0.12
41
43
  - 新增 `getIsoBandsFastByMask(breaks: number[])` 方法, 和`getIsoBandsFast()`方法类似, 区别在于他做了数据挖孔, 可以给图层设置透明度而不影响图层的叠加效果
42
-
44
+ - v1.0.13
45
+ - 新增了基于`leaflet` + `webgl2`的绘图方案, 这个方案可以使用`tif`, `micaps4`, `setParams()`的方式获取到一个图层, 图层在变化的时候会进行重采样和插值, 理论上可以流畅的过滤数据或者放大不虚
46
+ - 后续计划增加`AMap`, `webgl`, `webgpu`方案.
47
+ - 裁剪数据也在计划中, 目前已知裁图在边界上会有锯齿状的边缘
48
+
43
49
  ### 类型参照
44
50
  > ReadConfig
45
51
 
@@ -201,5 +207,52 @@ read.setParams({
201
207
 
202
208
  ```
203
209
 
210
+ ### leaflet图层
211
+ - 理论上可以流畅的过滤数据或者放大不虚, 这可能是当前包体中显示最优的方案
212
+
213
+ ```ts
214
+ const grid = await loadRasterGrid({
215
+ type: 'tif',
216
+ url: 'xxx'
217
+ })
218
+
219
+ // micaps4
220
+ // const grid = await loadRasterGrid({
221
+ // type: 'micaps4',
222
+ // url: 'xxx'
223
+ // })
224
+
225
+ // params
226
+ // const grid = await loadRasterGrid({
227
+ // type: 'params',
228
+ // params: {
229
+ // values: Array.from({ length: 512 * 256 }, () => Math.random() * 60 - 30),
230
+ // nx: 512,
231
+ // ny: 256,
232
+ // minLng: 70,
233
+ // minLat: 15,
234
+ // gjLng: 0.1,
235
+ // gjLat: 0.1,
236
+ // flipY: true, //是否翻转数据
237
+ // valueScale: 1
238
+ // }
239
+ // })
240
+
241
+ const layer = createRasterLeafletLayer({
242
+ rendererType: 'webgl2',
243
+ grid,
244
+ colorStops: legend, // {min: number, max:number, color: string}[]
245
+ colorRange: {
246
+ minValue: Number(minInput.value), // 过滤的最小值
247
+ maxValue: Number(maxInput.value) // 过滤的最大值
248
+ },
249
+ opacity: 1,
250
+ renderMode: 'step',
251
+ pane: 'raster-pane'
252
+ })
253
+
254
+ // layer.setColorRange({ minValue, maxValue }) 动态变化
255
+ ```
256
+
204
257
  #### @author: wangrl
205
258
  #### 维护随缘