m4-w-fast 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/README.md +6 -0
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.mjs +1 -1
  6. package/dist/intersect.worker.js +2 -2
  7. package/dist/isoBands.worker.js +1 -1
  8. package/dist/m4-w-fast.umd.js +1 -1
  9. package/dist/raster-leaflet/index.cjs +2 -0
  10. package/dist/raster-leaflet/index.d.ts +5 -0
  11. package/dist/raster-leaflet/index.js +1 -0
  12. package/dist/raster-leaflet/index.mjs +2 -0
  13. package/dist/raster-leaflet/m4-w-raster-leaflet.umd.js +2 -0
  14. package/dist/raster-mars3d/cesiumRasterPlaneRenderer.d.ts +28 -0
  15. package/dist/raster-mars3d/cesiumRasterPlaneRenderer.js +1 -0
  16. package/dist/raster-mars3d/cesiumRasterTextureAdapter.d.ts +14 -0
  17. package/dist/raster-mars3d/cesiumRasterTextureAdapter.js +1 -0
  18. package/dist/raster-mars3d/index.cjs +2 -0
  19. package/dist/raster-mars3d/index.d.ts +6 -0
  20. package/dist/raster-mars3d/index.js +1 -0
  21. package/dist/raster-mars3d/index.mjs +2 -0
  22. package/dist/raster-mars3d/m4-w-raster-mars3d.umd.js +2 -0
  23. package/dist/raster-mars3d/mars3dRasterImageryProvider.d.ts +30 -0
  24. package/dist/raster-mars3d/mars3dRasterImageryProvider.js +1 -0
  25. package/dist/raster-mars3d/mars3dRasterPlaneLayer.d.ts +3 -0
  26. package/dist/raster-mars3d/mars3dRasterPlaneLayer.js +1 -0
  27. package/dist/raster-mars3d/rasterPlaneCesiumTypes.d.ts +95 -0
  28. package/dist/raster-mars3d/rasterPlaneCesiumTypes.js +1 -0
  29. package/dist/raster-mars3d/rasterPlaneGeometry.d.ts +5 -0
  30. package/dist/raster-mars3d/rasterPlaneGeometry.js +1 -0
  31. package/dist/raster-mars3d/rasterPlaneGridChunks.d.ts +4 -0
  32. package/dist/raster-mars3d/rasterPlaneGridChunks.js +1 -0
  33. package/dist/raster-mars3d/rasterPlaneMaterial.d.ts +21 -0
  34. package/dist/raster-mars3d/rasterPlaneMaterial.js +1 -0
  35. package/dist/raster-mars3d/rasterPlaneTypes.d.ts +33 -0
  36. package/dist/raster-mars3d/rasterPlaneTypes.js +1 -0
  37. package/dist/raster-mars3d/types.d.ts +30 -0
  38. package/dist/raster-mars3d/types.js +1 -0
  39. package/dist/raster-overlay/color.d.ts +1 -1
  40. package/dist/raster-overlay/color.js +1 -1
  41. package/dist/raster-overlay/core.d.ts +1 -1
  42. package/dist/raster-overlay/core.js +1 -1
  43. package/dist/raster-overlay/index.cjs +2 -2
  44. package/dist/raster-overlay/index.d.ts +5 -2
  45. package/dist/raster-overlay/index.js +1 -1
  46. package/dist/raster-overlay/index.mjs +2 -2
  47. package/dist/raster-overlay/leaflet-renderers/createRenderer.d.ts +3 -7
  48. package/dist/raster-overlay/leaflet-renderers/createRenderer.js +1 -1
  49. package/dist/raster-overlay/leaflet-renderers/renderer.d.ts +1 -59
  50. package/dist/raster-overlay/leafletLayer.d.ts +4 -0
  51. package/dist/raster-overlay/leafletLayer.js +1 -1
  52. package/dist/raster-overlay/leafletTypes.d.ts +21 -0
  53. package/dist/raster-overlay/leafletTypes.js +1 -0
  54. package/dist/raster-overlay/m4-w-raster-overlay.umd.js +2 -2
  55. package/dist/raster-overlay/query.d.ts +1 -1
  56. package/dist/raster-overlay/query.js +1 -1
  57. package/dist/raster-overlay/rasterTypes.d.ts +73 -0
  58. package/dist/raster-overlay/rasterTypes.js +1 -0
  59. package/dist/raster-overlay/rendering/createRasterRenderer.d.ts +4 -0
  60. package/dist/raster-overlay/rendering/createRasterRenderer.js +1 -0
  61. package/dist/raster-overlay/rendering/index.d.ts +5 -0
  62. package/dist/raster-overlay/rendering/index.js +1 -0
  63. package/dist/raster-overlay/rendering/rasterRenderState.d.ts +27 -0
  64. package/dist/raster-overlay/rendering/rasterRenderState.js +1 -0
  65. package/dist/raster-overlay/rendering/renderer.d.ts +15 -0
  66. package/dist/raster-overlay/rendering/renderer.js +1 -0
  67. package/dist/raster-overlay/rendering/webgl2RasterRenderer.d.ts +34 -0
  68. package/dist/raster-overlay/rendering/webgl2RasterRenderer.js +1 -0
  69. package/dist/raster-overlay/rendering/webgpuRasterRenderer.d.ts +42 -0
  70. package/dist/raster-overlay/rendering/webgpuRasterRenderer.js +1 -0
  71. package/dist/raster-overlay/types.d.ts +2 -235
  72. package/dist/raster-rendering/index.cjs +2 -0
  73. package/dist/raster-rendering/index.d.ts +8 -0
  74. package/dist/raster-rendering/index.js +1 -0
  75. package/dist/raster-rendering/index.mjs +2 -0
  76. package/dist/raster-rendering/m4-w-raster-rendering.umd.js +2 -0
  77. package/dist/raster-rendering/types.d.ts +13 -0
  78. package/dist/raster-rendering/types.js +1 -0
  79. package/dist/raster-rendering/webgpuRasterTileRenderer.d.ts +29 -0
  80. package/dist/raster-rendering/webgpuRasterTileRenderer.js +1 -0
  81. package/dist/readFile.d.ts +2 -2
  82. package/dist/readFile.js +1 -1
  83. package/dist/rendering/index.d.ts +6 -0
  84. package/dist/rendering/index.js +1 -0
  85. package/dist/rendering/renderer.d.ts +35 -0
  86. package/dist/rendering/renderer.js +1 -0
  87. package/dist/rendering/types.d.ts +20 -0
  88. package/dist/rendering/types.js +1 -0
  89. package/dist/rendering/webgl2/baseWebgl2Renderer.d.ts +37 -0
  90. package/dist/rendering/webgl2/baseWebgl2Renderer.js +1 -0
  91. package/dist/rendering/webgl2/index.d.ts +4 -0
  92. package/dist/rendering/webgl2/index.js +1 -0
  93. package/dist/rendering/webgl2/types.d.ts +24 -0
  94. package/dist/rendering/webgl2/types.js +1 -0
  95. package/dist/rendering/webgl2/webgl2CoverageResources.d.ts +29 -0
  96. package/dist/rendering/webgl2/webgl2CoverageResources.js +1 -0
  97. package/dist/rendering/webgl2/webgl2VisualizationResources.d.ts +33 -0
  98. package/dist/rendering/webgl2/webgl2VisualizationResources.js +1 -0
  99. package/dist/rendering/webgpu/baseWebgpuRenderer.d.ts +181 -0
  100. package/dist/rendering/webgpu/baseWebgpuRenderer.js +1 -0
  101. package/dist/rendering/webgpu/index.d.ts +3 -0
  102. package/dist/rendering/webgpu/index.js +1 -0
  103. package/dist/rendering/webgpu/types.d.ts +33 -0
  104. package/dist/rendering/webgpu/types.js +1 -0
  105. package/dist/rendering/webgpu/visualizationParams.d.ts +25 -0
  106. package/dist/rendering/webgpu/visualizationParams.js +1 -0
  107. package/dist/rendering/webgpu/visualizationResources.d.ts +50 -0
  108. package/dist/rendering/webgpu/visualizationResources.js +1 -0
  109. package/dist/rendering/webgpu/webgpuCoverageResources.d.ts +36 -0
  110. package/dist/rendering/webgpu/webgpuCoverageResources.js +1 -0
  111. package/dist/road-overlay/coordinateTransform.js +1 -1
  112. package/dist/road-overlay/index.cjs +2 -2
  113. package/dist/road-overlay/index.d.ts +3 -1
  114. package/dist/road-overlay/index.js +1 -1
  115. package/dist/road-overlay/index.mjs +2 -2
  116. package/dist/road-overlay/leaflet-renderers/createRenderer.d.ts +3 -7
  117. package/dist/road-overlay/leaflet-renderers/createRenderer.js +1 -1
  118. package/dist/road-overlay/leaflet-renderers/renderer.d.ts +1 -82
  119. package/dist/road-overlay/leafletLayer.d.ts +2 -0
  120. package/dist/road-overlay/leafletLayer.js +1 -1
  121. package/dist/road-overlay/m4-w-road-overlay.umd.js +2 -2
  122. package/dist/road-overlay/options.d.ts +5 -1
  123. package/dist/road-overlay/options.js +1 -1
  124. package/dist/road-overlay/rendering/index.d.ts +4 -0
  125. package/dist/road-overlay/rendering/index.js +1 -0
  126. package/dist/road-overlay/rendering/renderer.d.ts +54 -0
  127. package/dist/road-overlay/rendering/renderer.js +1 -0
  128. package/dist/road-overlay/rendering/roadRenderState.d.ts +137 -0
  129. package/dist/road-overlay/rendering/roadRenderState.js +1 -0
  130. package/dist/road-overlay/rendering/webgl2RoadRenderer.d.ts +38 -0
  131. package/dist/road-overlay/rendering/webgl2RoadRenderer.js +1 -0
  132. package/dist/road-overlay/rendering/webgpuRoadRenderer.d.ts +134 -0
  133. package/dist/road-overlay/rendering/webgpuRoadRenderer.js +1 -0
  134. package/dist/road-overlay/roadData.d.ts +3 -2
  135. package/dist/road-overlay/roadData.js +1 -1
  136. package/dist/road-overlay/roadGeometry.d.ts +2 -2
  137. package/dist/road-overlay/roadGeometry.js +1 -1
  138. package/dist/road-overlay/roadMesh.d.ts +7 -5
  139. package/dist/road-overlay/roadMesh.js +1 -1
  140. package/dist/road-overlay/types.d.ts +10 -2
  141. package/dist/shared/coordinate-shader/webgl2/index.d.ts +3 -0
  142. package/dist/shared/coordinate-shader/webgl2/index.js +1 -0
  143. package/dist/shared/coordinate-shader/webgpu/index.d.ts +5 -0
  144. package/dist/shared/coordinate-shader/webgpu/index.js +1 -0
  145. package/dist/shared/coverage/index.d.ts +1 -0
  146. package/dist/shared/coverage/index.js +1 -0
  147. package/dist/shared/coverage/types.d.ts +8 -0
  148. package/dist/shared/coverage/types.js +1 -0
  149. package/dist/shared/map/index.d.ts +2 -0
  150. package/dist/shared/map/index.js +1 -0
  151. package/dist/shared/map/leaflet.d.ts +7 -0
  152. package/dist/shared/map/leaflet.js +1 -0
  153. package/dist/shared/map/types.d.ts +19 -0
  154. package/dist/shared/map/types.js +1 -0
  155. package/dist/shared/polygon/contains.d.ts +3 -0
  156. package/dist/shared/polygon/contains.js +1 -0
  157. package/dist/shared/polygon/index.d.ts +3 -0
  158. package/dist/shared/polygon/index.js +1 -0
  159. package/dist/shared/polygon/polygonMesh.d.ts +3 -0
  160. package/dist/shared/polygon/polygonMesh.js +1 -0
  161. package/dist/shared/polygon/types.d.ts +11 -0
  162. package/dist/shared/polygon/types.js +1 -0
  163. package/dist/shared/shader/assemble.d.ts +5 -0
  164. package/dist/shared/shader/assemble.js +1 -0
  165. package/dist/shared/visualization/index.d.ts +2 -0
  166. package/dist/shared/visualization/index.js +1 -0
  167. package/dist/shared/visualization/shader/webgl2/index.d.ts +1 -0
  168. package/dist/shared/visualization/shader/webgl2/index.js +1 -0
  169. package/dist/shared/visualization/shader/webgpu/index.d.ts +10 -0
  170. package/dist/shared/visualization/shader/webgpu/index.js +1 -0
  171. package/dist/shared/visualization/types.d.ts +68 -0
  172. package/dist/shared/visualization/types.js +1 -0
  173. package/dist/shared/visualization/utils.d.ts +46 -0
  174. package/dist/shared/visualization/utils.js +1 -0
  175. package/dist/volume-mars3d/createMars3dVolumeScene.d.ts +3 -0
  176. package/dist/volume-mars3d/createMars3dVolumeScene.js +1 -0
  177. package/dist/volume-mars3d/index.cjs +1 -0
  178. package/dist/volume-mars3d/index.d.ts +2 -0
  179. package/dist/volume-mars3d/index.js +1 -0
  180. package/dist/volume-mars3d/index.mjs +1 -0
  181. package/dist/volume-mars3d/m4-w-volume-mars3d.umd.js +1 -0
  182. package/dist/volume-mars3d/mars3dCanvasCompensation.d.ts +22 -0
  183. package/dist/volume-mars3d/mars3dCanvasCompensation.js +1 -0
  184. package/dist/volume-mars3d/mars3dRaymarchShader.d.ts +1 -0
  185. package/dist/volume-mars3d/mars3dRaymarchShader.js +1 -0
  186. package/dist/volume-mars3d/mars3dVolumeLayer.d.ts +2 -0
  187. package/dist/volume-mars3d/mars3dVolumeLayer.js +1 -0
  188. package/dist/volume-mars3d/mars3dVolumeRenderer.d.ts +56 -0
  189. package/dist/volume-mars3d/mars3dVolumeRenderer.js +1 -0
  190. package/dist/volume-mars3d/volumeMars3dTypes.d.ts +85 -0
  191. package/dist/volume-mars3d/volumeMars3dTypes.js +1 -0
  192. package/dist/volume-mars3d-native/index.cjs +1 -0
  193. package/dist/volume-mars3d-native/index.d.ts +4 -0
  194. package/dist/volume-mars3d-native/index.js +1 -0
  195. package/dist/volume-mars3d-native/index.mjs +1 -0
  196. package/dist/volume-mars3d-native/liveUpdateScheduler.d.ts +10 -0
  197. package/dist/volume-mars3d-native/liveUpdateScheduler.js +1 -0
  198. package/dist/volume-mars3d-native/m4-w-volume-mars3d-native.umd.js +1 -0
  199. package/dist/volume-mars3d-native/mars3dNativeSliceLayer.d.ts +2 -0
  200. package/dist/volume-mars3d-native/mars3dNativeSliceLayer.js +1 -0
  201. package/dist/volume-mars3d-native/mars3dNativeSliceRenderer.d.ts +56 -0
  202. package/dist/volume-mars3d-native/mars3dNativeSliceRenderer.js +1 -0
  203. package/dist/volume-mars3d-native/mars3dNativeVolumeLayer.d.ts +2 -0
  204. package/dist/volume-mars3d-native/mars3dNativeVolumeLayer.js +1 -0
  205. package/dist/volume-mars3d-native/mars3dNativeVolumeRenderer.d.ts +34 -0
  206. package/dist/volume-mars3d-native/mars3dNativeVolumeRenderer.js +1 -0
  207. package/dist/volume-mars3d-native/nativeAxisSliceRenderer.d.ts +40 -0
  208. package/dist/volume-mars3d-native/nativeAxisSliceRenderer.js +1 -0
  209. package/dist/volume-mars3d-native/nativeSliceAtlas.d.ts +50 -0
  210. package/dist/volume-mars3d-native/nativeSliceAtlas.js +1 -0
  211. package/dist/volume-mars3d-native/nativeSliceRuntimeTypes.d.ts +17 -0
  212. package/dist/volume-mars3d-native/nativeSliceRuntimeTypes.js +1 -0
  213. package/dist/volume-mars3d-native/nativeTypes.d.ts +174 -0
  214. package/dist/volume-mars3d-native/nativeTypes.js +1 -0
  215. package/dist/volume-mars3d-native/nativeVoxelProvider.d.ts +6 -0
  216. package/dist/volume-mars3d-native/nativeVoxelProvider.js +1 -0
  217. package/dist/volume-mars3d-native/nativeVoxelShader.d.ts +2 -0
  218. package/dist/volume-mars3d-native/nativeVoxelShader.js +1 -0
  219. package/dist/volume-mars3d-native/voxelData.d.ts +9 -0
  220. package/dist/volume-mars3d-native/voxelData.js +1 -0
  221. package/dist/volume-scene/brickLayout.d.ts +75 -0
  222. package/dist/volume-scene/brickLayout.js +1 -0
  223. package/dist/volume-scene/brickResidency.d.ts +54 -0
  224. package/dist/volume-scene/brickResidency.js +1 -0
  225. package/dist/volume-scene/camera.d.ts +22 -0
  226. package/dist/volume-scene/camera.js +1 -0
  227. package/dist/volume-scene/cameraTypes.d.ts +37 -0
  228. package/dist/volume-scene/cameraTypes.js +1 -0
  229. package/dist/volume-scene/createVolumeScene.d.ts +4 -0
  230. package/dist/volume-scene/createVolumeScene.js +1 -0
  231. package/dist/volume-scene/geographicTypes.d.ts +16 -0
  232. package/dist/volume-scene/geographicTypes.js +1 -0
  233. package/dist/volume-scene/geographicVolume.d.ts +4 -0
  234. package/dist/volume-scene/geographicVolume.js +1 -0
  235. package/dist/volume-scene/inMemoryVolumeSource.d.ts +3 -0
  236. package/dist/volume-scene/inMemoryVolumeSource.js +1 -0
  237. package/dist/volume-scene/index.cjs +1 -0
  238. package/dist/volume-scene/index.d.ts +12 -0
  239. package/dist/volume-scene/index.js +1 -0
  240. package/dist/volume-scene/index.mjs +1 -0
  241. package/dist/volume-scene/m4-w-volume-scene.umd.js +1 -0
  242. package/dist/volume-scene/matrix.d.ts +11 -0
  243. package/dist/volume-scene/matrix.js +1 -0
  244. package/dist/volume-scene/profileTypes.d.ts +20 -0
  245. package/dist/volume-scene/profileTypes.js +1 -0
  246. package/dist/volume-scene/rendering/webgpu/index.d.ts +2 -0
  247. package/dist/volume-scene/rendering/webgpu/index.js +1 -0
  248. package/dist/volume-scene/rendering/webgpu/webgpuBrickAtlas.d.ts +59 -0
  249. package/dist/volume-scene/rendering/webgpu/webgpuBrickAtlas.js +1 -0
  250. package/dist/volume-scene/rendering/webgpu/webgpuSceneAttachments.d.ts +11 -0
  251. package/dist/volume-scene/rendering/webgpu/webgpuSceneAttachments.js +1 -0
  252. package/dist/volume-scene/rendering/webgpu/webgpuSceneMeshResources.d.ts +12 -0
  253. package/dist/volume-scene/rendering/webgpu/webgpuSceneMeshResources.js +1 -0
  254. package/dist/volume-scene/rendering/webgpu/webgpuSliceResources.d.ts +21 -0
  255. package/dist/volume-scene/rendering/webgpu/webgpuSliceResources.js +1 -0
  256. package/dist/volume-scene/rendering/webgpu/webgpuTransferResources.d.ts +16 -0
  257. package/dist/volume-scene/rendering/webgpu/webgpuTransferResources.js +1 -0
  258. package/dist/volume-scene/rendering/webgpu/webgpuVolumeSceneRenderer.d.ts +126 -0
  259. package/dist/volume-scene/rendering/webgpu/webgpuVolumeSceneRenderer.js +1 -0
  260. package/dist/volume-scene/rendering/webgpu/webgpuVolumeTypes.d.ts +108 -0
  261. package/dist/volume-scene/rendering/webgpu/webgpuVolumeTypes.js +1 -0
  262. package/dist/volume-scene/routeProfileMesh.d.ts +7 -0
  263. package/dist/volume-scene/routeProfileMesh.js +1 -0
  264. package/dist/volume-scene/sceneTypes.d.ts +136 -0
  265. package/dist/volume-scene/sceneTypes.js +1 -0
  266. package/dist/volume-scene/sliceInteractionController.d.ts +27 -0
  267. package/dist/volume-scene/sliceInteractionController.js +1 -0
  268. package/dist/volume-scene/sliceMarkerOverlay.d.ts +28 -0
  269. package/dist/volume-scene/sliceMarkerOverlay.js +1 -0
  270. package/dist/volume-scene/sliceState.d.ts +34 -0
  271. package/dist/volume-scene/sliceState.js +1 -0
  272. package/dist/volume-scene/sliceTypes.d.ts +52 -0
  273. package/dist/volume-scene/sliceTypes.js +1 -0
  274. package/dist/volume-scene/sourceTypes.d.ts +47 -0
  275. package/dist/volume-scene/sourceTypes.js +1 -0
  276. package/dist/volume-scene/transferTypes.d.ts +12 -0
  277. package/dist/volume-scene/transferTypes.js +1 -0
  278. package/dist/volume-scene/volumeBrickData.d.ts +3 -0
  279. package/dist/volume-scene/volumeBrickData.js +1 -0
  280. package/dist/volume-scene/volumeScene.d.ts +103 -0
  281. package/dist/volume-scene/volumeScene.js +1 -0
  282. package/dist/volume-scene/volumeTransfer.d.ts +8 -0
  283. package/dist/volume-scene/volumeTransfer.js +1 -0
  284. package/dist/volume-scene/volumeValidation.d.ts +27 -0
  285. package/dist/volume-scene/volumeValidation.js +1 -0
  286. package/package.json +6 -3
  287. package/dist/raster-overlay/leaflet-renderers/cpuRenderer.d.ts +0 -0
  288. package/dist/raster-overlay/leaflet-renderers/cpuRenderer.js +0 -1
  289. package/dist/raster-overlay/leaflet-renderers/rasterRendererUtils.d.ts +0 -52
  290. package/dist/raster-overlay/leaflet-renderers/rasterRendererUtils.js +0 -1
  291. package/dist/raster-overlay/leaflet-renderers/webgl2Renderer.d.ts +0 -111
  292. package/dist/raster-overlay/leaflet-renderers/webgl2Renderer.js +0 -1
  293. package/dist/raster-overlay/leaflet-renderers/webglRenderer.d.ts +0 -0
  294. package/dist/raster-overlay/leaflet-renderers/webglRenderer.js +0 -1
  295. package/dist/raster-overlay/leaflet-renderers/webgpuRenderer.d.ts +0 -114
  296. package/dist/raster-overlay/leaflet-renderers/webgpuRenderer.js +0 -1
  297. package/dist/road-overlay/leaflet-renderers/webgpuRenderer.d.ts +0 -55
  298. package/dist/road-overlay/leaflet-renderers/webgpuRenderer.js +0 -1
@@ -0,0 +1,30 @@
1
+ import { WebgpuRasterTileRenderer } from '../raster-rendering';
2
+ import type { CesiumEventLike, CesiumGeographicTilingSchemeLike, CesiumRectangleLike, CesiumRequestLike, CesiumRuntime, Mars3dRasterImageryProviderOptions } from './types';
3
+ /**
4
+ * 为 Mars3D/Cesium 提供透明 WebGPU 栅格瓦片。
5
+ * 该对象只实现 ImageryProvider 协议,不持有 Mars3D 地图实例。
6
+ */
7
+ export declare class Mars3dRasterImageryProvider {
8
+ readonly tileWidth: number;
9
+ readonly tileHeight: number;
10
+ readonly minimumLevel: number;
11
+ readonly maximumLevel: number | undefined;
12
+ readonly tilingScheme: CesiumGeographicTilingSchemeLike;
13
+ readonly rectangle: CesiumRectangleLike;
14
+ readonly errorEvent: CesiumEventLike;
15
+ readonly credit: unknown;
16
+ readonly hasAlphaChannel = true;
17
+ readonly ready = true;
18
+ readonly readyPromise: Promise<boolean>;
19
+ private readonly tileRenderer;
20
+ private destroyed;
21
+ constructor(Cesium: CesiumRuntime, options: Mars3dRasterImageryProviderOptions);
22
+ requestImage(x: number, y: number, level: number, request?: CesiumRequestLike): Promise<HTMLCanvasElement> | undefined;
23
+ getTileCredits(): unknown[] | undefined;
24
+ pickFeatures(): undefined;
25
+ destroy(): void;
26
+ get renderer(): WebgpuRasterTileRenderer;
27
+ private validateOptions;
28
+ }
29
+ /** 创建可交给 Mars3D BaseTileLayer 的 Cesium ImageryProvider。 */
30
+ export declare const createMars3dRasterImageryProvider: (Cesium: CesiumRuntime, options: Mars3dRasterImageryProviderOptions) => Mars3dRasterImageryProvider;
@@ -0,0 +1 @@
1
+ const _0xb34860=_0x3ecf;(function(_0x507f9a,_0x71b9c7){const _0x2327c2=_0x3ecf,_0x2e7cca=_0x507f9a();while(!![]){try{const _0x84f932=-parseInt(_0x2327c2(0x91))/0x1*(parseInt(_0x2327c2(0xb5))/0x2)+-parseInt(_0x2327c2(0xa4))/0x3*(parseInt(_0x2327c2(0x9b))/0x4)+parseInt(_0x2327c2(0xb1))/0x5*(parseInt(_0x2327c2(0x8d))/0x6)+parseInt(_0x2327c2(0xa1))/0x7+-parseInt(_0x2327c2(0x84))/0x8+-parseInt(_0x2327c2(0xae))/0x9*(parseInt(_0x2327c2(0x89))/0xa)+-parseInt(_0x2327c2(0x86))/0xb*(-parseInt(_0x2327c2(0x8b))/0xc);if(_0x84f932===_0x71b9c7)break;else _0x2e7cca['push'](_0x2e7cca['shift']());}catch(_0xd81ca2){_0x2e7cca['push'](_0x2e7cca['shift']());}}}(_0x51ad,0x51d59));import{WebgpuRasterTileRenderer}from'../raster-rendering';const DEFAULT_TILE_SIZE=0x100;function _0x3ecf(_0x83e080,_0x1a379b){const _0x51ad1b=_0x51ad();return _0x3ecf=function(_0x3ecf7a,_0xedf524){_0x3ecf7a=_0x3ecf7a-0x84;let _0x53508d=_0x51ad1b[_0x3ecf7a];return _0x53508d;},_0x3ecf(_0x83e080,_0x1a379b);}export class Mars3dRasterImageryProvider{['tileWidth'];[_0xb34860(0xa0)];[_0xb34860(0x9d)];[_0xb34860(0x98)];['tilingScheme'];[_0xb34860(0x8f)];['errorEvent'];[_0xb34860(0xb4)];[_0xb34860(0x97)]=!![];[_0xb34860(0x85)]=!![];['readyPromise']=Promise[_0xb34860(0xa5)](!![]);['tileRenderer'];['destroyed']=![];constructor(_0x42f9ce,_0x97bf1e){const _0x16edd4=_0xb34860;this[_0x16edd4(0x9e)](_0x97bf1e),this[_0x16edd4(0xab)]=_0x97bf1e['tileWidth']??DEFAULT_TILE_SIZE,this[_0x16edd4(0xa0)]=_0x97bf1e[_0x16edd4(0xa0)]??DEFAULT_TILE_SIZE,this[_0x16edd4(0x9d)]=_0x97bf1e[_0x16edd4(0x9d)]??0x0,this['maximumLevel']=_0x97bf1e['maximumLevel'],this[_0x16edd4(0x8a)]=new _0x42f9ce[(_0x16edd4(0xa8))]({'ellipsoid':_0x97bf1e['ellipsoid']}),this[_0x16edd4(0x8f)]=_0x97bf1e['rectangle']??_0x42f9ce['Rectangle']['fromDegrees'](_0x97bf1e['grid'][_0x16edd4(0xa9)],_0x97bf1e['grid'][_0x16edd4(0x9c)],_0x97bf1e[_0x16edd4(0xaf)][_0x16edd4(0xac)],_0x97bf1e['grid'][_0x16edd4(0x8e)]),this[_0x16edd4(0xa6)]=new _0x42f9ce[(_0x16edd4(0xa2))](),this[_0x16edd4(0xb4)]=typeof _0x97bf1e[_0x16edd4(0xb4)]===_0x16edd4(0x92)&&_0x42f9ce[_0x16edd4(0xaa)]?new _0x42f9ce[(_0x16edd4(0xaa))](_0x97bf1e[_0x16edd4(0xb4)]):_0x97bf1e['credit'],this[_0x16edd4(0x8c)]=new WebgpuRasterTileRenderer(_0x97bf1e);}[_0xb34860(0xa3)](_0x687c16,_0x1a691b,_0x5558e1,_0x1d48fd){const _0x1d1615=_0xb34860;if(_0x1d48fd?.[_0x1d1615(0xb0)])return undefined;if(this[_0x1d1615(0x99)])return Promise[_0x1d1615(0x95)](new Error(_0x1d1615(0x94)));return this[_0x1d1615(0x8c)][_0x1d1615(0x93)]({'x':_0x687c16,'y':_0x1a691b,'level':_0x5558e1,'width':this[_0x1d1615(0xab)],'height':this[_0x1d1615(0xa0)]})[_0x1d1615(0xad)](_0x296447=>{const _0x1d74a9=_0x1d1615;this['errorEvent'][_0x1d74a9(0x9f)](_0x296447);throw _0x296447;});}[_0xb34860(0x96)](){const _0x2c72be=_0xb34860;return this[_0x2c72be(0xb4)]?[this['credit']]:undefined;}['pickFeatures'](){return undefined;}['destroy'](){const _0xdbc98=_0xb34860;if(this['destroyed'])return;this[_0xdbc98(0x99)]=!![],this[_0xdbc98(0x8c)][_0xdbc98(0x88)]();}get['renderer'](){const _0x3296ce=_0xb34860;return this[_0x3296ce(0x8c)];}[_0xb34860(0x9e)](_0x59223a){const _0x15c302=_0xb34860,_0x4eb022=_0x59223a[_0x15c302(0xab)]??DEFAULT_TILE_SIZE,_0x4cbb9c=_0x59223a['tileHeight']??DEFAULT_TILE_SIZE;if(!Number[_0x15c302(0xb3)](_0x4eb022)||_0x4eb022<=0x0||!Number[_0x15c302(0xb3)](_0x4cbb9c)||_0x4cbb9c<=0x0)throw new Error(_0x15c302(0xb2));if(_0x4eb022!==_0x4cbb9c)throw new Error(_0x15c302(0x9a));if(_0x59223a[_0x15c302(0x9d)]!==undefined&&(!Number[_0x15c302(0xb3)](_0x59223a['minimumLevel'])||_0x59223a[_0x15c302(0x9d)]<0x0))throw new Error(_0x15c302(0xa7));if(_0x59223a[_0x15c302(0x98)]!==undefined&&(!Number['isInteger'](_0x59223a[_0x15c302(0x98)])||_0x59223a[_0x15c302(0x98)]<0x0))throw new Error(_0x15c302(0x87));if(_0x59223a['minimumLevel']!==undefined&&_0x59223a[_0x15c302(0x98)]!==undefined&&_0x59223a[_0x15c302(0x98)]<_0x59223a[_0x15c302(0x9d)])throw new Error(_0x15c302(0x90));}}function _0x51ad(){const _0x482672=['getTileCredits','hasAlphaChannel','maximumLevel','destroyed','Mars3D\x20栅格瓦片目前只支持相同宽高。','60QTcnPg','minLat','minimumLevel','validateOptions','raiseEvent','tileHeight','114849iJTNOi','Event','requestImage','19179fTtRZo','resolve','errorEvent','minimumLevel\x20必须是非负整数。','GeographicTilingScheme','minLng','Credit','tileWidth','maxLng','catch','9Psxnuq','grid','cancelled','135emIRUQ','Mars3D\x20栅格瓦片宽高必须是正整数。','isInteger','credit','84pbeQYm','1706152MTHGWK','ready','77WiHlMo','maximumLevel\x20必须是非负整数。','destroy','4990210kElgyH','tilingScheme','2725920CVvMVI','tileRenderer','34110OhmXwW','maxLat','rectangle','maximumLevel\x20不能小于\x20minimumLevel。','14682pRLESx','string','renderTile','已销毁的\x20Mars3D\x20栅格影像提供器不能继续请求瓦片。','reject'];_0x51ad=function(){return _0x482672;};return _0x51ad();}export const createMars3dRasterImageryProvider=(_0x7d3535,_0x4b8579)=>{return new Mars3dRasterImageryProvider(_0x7d3535,_0x4b8579);};
@@ -0,0 +1,3 @@
1
+ import type { IMars3dBaseLayerLike } from './rasterPlaneCesiumTypes';
2
+ import type { IMars3dRasterPlaneLayer, IMars3dRasterPlaneLayerOptions, IMars3dRuntime } from './rasterPlaneTypes';
3
+ export declare const createMars3dRasterPlaneLayer: (mars3d: IMars3dRuntime, options: IMars3dRasterPlaneLayerOptions) => IMars3dRasterPlaneLayer & IMars3dBaseLayerLike;
@@ -0,0 +1 @@
1
+ (function(_0x5ad61f,_0x35743a){const _0x343adc=_0x3290,_0x28bd07=_0x5ad61f();while(!![]){try{const _0x3b5c60=-parseInt(_0x343adc(0x146))/0x1+-parseInt(_0x343adc(0x14e))/0x2*(parseInt(_0x343adc(0x149))/0x3)+-parseInt(_0x343adc(0x14d))/0x4+-parseInt(_0x343adc(0x143))/0x5+parseInt(_0x343adc(0x141))/0x6*(-parseInt(_0x343adc(0x144))/0x7)+-parseInt(_0x343adc(0x13c))/0x8*(parseInt(_0x343adc(0x147))/0x9)+-parseInt(_0x343adc(0x13d))/0xa*(-parseInt(_0x343adc(0x140))/0xb);if(_0x3b5c60===_0x35743a)break;else _0x28bd07['push'](_0x28bd07['shift']());}catch(_0x439f42){_0x28bd07['push'](_0x28bd07['shift']());}}}(_0x5e48,0x6078c));import{CesiumRasterPlaneRenderer}from'./cesiumRasterPlaneRenderer';function _0x3290(_0x39f9b5,_0x3026f0){const _0x5e4883=_0x5e48();return _0x3290=function(_0x329026,_0x4a81f1){_0x329026=_0x329026-0x139;let _0x30535c=_0x5e4883[_0x329026];return _0x30535c;},_0x3290(_0x39f9b5,_0x3026f0);}function _0x5e48(){const _0x428d07=['_showHook','Cesium','colorRange','get','BaseLayer','grid','_map','_mountedHook','colorMode','rasterOptions','colorStops','show','height','update','323944dFfIax','1201730JPBwtG','_addedHook','set','275qxvPJx','1797942CwhatP','destroy','749825PJJMvk','14srVXBq','layer','132645kWXSsk','90hdPydH','sampleMode','1984935apVEEV','opacity','setShow','renderer','2642712OvDUid','2tnNZLn','_removedHook'];_0x5e48=function(){return _0x428d07;};return _0x5e48();}const layerConstructors=new WeakMap(),getRasterPlaneLayerConstructor=_0x43c153=>{const _0x370c0f=_0x3290,_0xab4ea6=layerConstructors[_0x370c0f(0x153)](_0x43c153);if(_0xab4ea6)return _0xab4ea6;const _0x536348=_0x43c153[_0x370c0f(0x145)][_0x370c0f(0x154)];class _0x2e0ead extends _0x536348{[_0x370c0f(0x159)];['renderer']=null;constructor(_0x3c633d){const _0x50be6d=_0x370c0f;super({..._0x3c633d}),this[_0x50be6d(0x159)]={..._0x3c633d};}get[_0x370c0f(0x13a)](){const _0x207f90=_0x370c0f;return this[_0x207f90(0x14c)]?.['height']??this[_0x207f90(0x159)][_0x207f90(0x13a)];}[_0x370c0f(0x13b)](_0x222e21){const _0x2b22de=_0x370c0f;if(_0x222e21[_0x2b22de(0x13a)]!==undefined)this[_0x2b22de(0x159)][_0x2b22de(0x13a)]=_0x222e21[_0x2b22de(0x13a)];if(_0x222e21['grid'])this['rasterOptions']['grid']=_0x222e21[_0x2b22de(0x155)];if(_0x222e21[_0x2b22de(0x15a)])this[_0x2b22de(0x159)]['colorStops']=_0x222e21['colorStops'];if(_0x222e21[_0x2b22de(0x152)]!==undefined)this[_0x2b22de(0x159)][_0x2b22de(0x152)]=_0x222e21[_0x2b22de(0x152)]??undefined;if(_0x222e21[_0x2b22de(0x158)])this['rasterOptions'][_0x2b22de(0x158)]=_0x222e21[_0x2b22de(0x158)];if(_0x222e21[_0x2b22de(0x148)])this[_0x2b22de(0x159)][_0x2b22de(0x148)]=_0x222e21[_0x2b22de(0x148)];if(_0x222e21['opacity']!==undefined)this['rasterOptions'][_0x2b22de(0x14a)]=_0x222e21[_0x2b22de(0x14a)];this[_0x2b22de(0x14c)]?.[_0x2b22de(0x13b)](_0x222e21);}[_0x370c0f(0x157)](){}[_0x370c0f(0x13e)](){const _0x588e63=_0x370c0f;if(!this[_0x588e63(0x156)])throw new Error('Mars3D\x20高度栅格图层尚未关联地图。');this[_0x588e63(0x14c)]?.['destroy'](),this['renderer']=new CesiumRasterPlaneRenderer(_0x43c153[_0x588e63(0x151)],this['_map'],this[_0x588e63(0x159)]),this[_0x588e63(0x14c)][_0x588e63(0x14b)](this[_0x588e63(0x139)]);}[_0x370c0f(0x150)](_0x129e41){const _0x2f4890=_0x370c0f;this[_0x2f4890(0x14c)]?.['setShow'](_0x129e41);}[_0x370c0f(0x14f)](){const _0x3e8f96=_0x370c0f;this[_0x3e8f96(0x14c)]?.[_0x3e8f96(0x142)](),this[_0x3e8f96(0x14c)]=null;}}const _0x309cc7=_0x2e0ead;return layerConstructors[_0x370c0f(0x13f)](_0x43c153,_0x309cc7),_0x309cc7;};export const createMars3dRasterPlaneLayer=(_0x4dd7c6,_0x5453af)=>{const _0x1dd193=getRasterPlaneLayerConstructor(_0x4dd7c6);return new _0x1dd193(_0x5453af);};
@@ -0,0 +1,95 @@
1
+ export interface ICesiumRectangleLike {
2
+ west: number;
3
+ south: number;
4
+ east: number;
5
+ north: number;
6
+ }
7
+ export interface ICesiumTextureLike {
8
+ destroy(): void;
9
+ isDestroyed(): boolean;
10
+ }
11
+ export interface ICesiumMaterialLike {
12
+ uniforms: Record<string, unknown>;
13
+ update(context: ICesiumContextLike): void;
14
+ destroy(): void;
15
+ isDestroyed(): boolean;
16
+ }
17
+ export interface ICesiumPrimitiveLike {
18
+ show: boolean;
19
+ destroy(): void;
20
+ isDestroyed(): boolean;
21
+ }
22
+ export interface ICesiumPrimitiveCollectionLike {
23
+ add<T>(primitive: T): T;
24
+ remove(primitive: unknown): boolean;
25
+ }
26
+ export interface ICesiumContextLike {
27
+ readonly _gl: WebGLRenderingContext | WebGL2RenderingContext;
28
+ }
29
+ export interface ICesiumSceneLike {
30
+ readonly canvas: HTMLCanvasElement;
31
+ readonly primitives: ICesiumPrimitiveCollectionLike;
32
+ readonly context?: ICesiumContextLike;
33
+ readonly _context?: ICesiumContextLike;
34
+ requestRender(): void;
35
+ }
36
+ export interface IMars3dMapLike {
37
+ readonly scene: ICesiumSceneLike;
38
+ }
39
+ export interface IMars3dBaseLayerLike {
40
+ readonly _map?: IMars3dMapLike;
41
+ readonly options: Record<string, unknown>;
42
+ show: boolean;
43
+ destroy(noDel?: boolean): void;
44
+ }
45
+ interface ICesiumTextureConstructorOptions {
46
+ context: ICesiumContextLike;
47
+ source: {
48
+ arrayBufferView: Float32Array<ArrayBufferLike>;
49
+ };
50
+ width: number;
51
+ height: number;
52
+ pixelFormat: number;
53
+ pixelDatatype: number;
54
+ sampler: unknown;
55
+ flipY: boolean;
56
+ }
57
+ interface ICesiumMaterialConstructor {
58
+ new (options: unknown): ICesiumMaterialLike;
59
+ readonly DefaultImageId: string;
60
+ }
61
+ export interface IMars3dCesiumRuntime {
62
+ readonly Math: {
63
+ toRadians(value: number): number;
64
+ };
65
+ readonly Rectangle: {
66
+ fromDegrees(west: number, south: number, east: number, north: number): ICesiumRectangleLike;
67
+ };
68
+ readonly RectangleGeometry: new (options: unknown) => unknown;
69
+ readonly GeometryInstance: new (options: unknown) => unknown;
70
+ readonly Material: ICesiumMaterialConstructor;
71
+ readonly EllipsoidSurfaceAppearance: {
72
+ new (options: unknown): unknown;
73
+ readonly VERTEX_FORMAT: unknown;
74
+ };
75
+ readonly Primitive: new (options: unknown) => ICesiumPrimitiveLike;
76
+ readonly Texture?: new (options: ICesiumTextureConstructorOptions) => ICesiumTextureLike;
77
+ readonly Sampler?: new (options: unknown) => unknown;
78
+ readonly PixelFormat?: {
79
+ readonly RED: number;
80
+ readonly RGBA: number;
81
+ };
82
+ readonly PixelDatatype?: {
83
+ readonly FLOAT: number;
84
+ };
85
+ readonly TextureMinificationFilter?: {
86
+ readonly NEAREST: number;
87
+ };
88
+ readonly TextureMagnificationFilter?: {
89
+ readonly NEAREST: number;
90
+ };
91
+ readonly TextureWrap?: {
92
+ readonly CLAMP_TO_EDGE: number;
93
+ };
94
+ }
95
+ export {};
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,5 @@
1
+ import type { RasterGrid } from '../raster-rendering';
2
+ import type { ICesiumMaterialLike, ICesiumPrimitiveLike, IMars3dCesiumRuntime } from './rasterPlaneCesiumTypes';
3
+ export declare const createRasterPlanePrimitive: (Cesium: IMars3dCesiumRuntime, grid: RasterGrid, height: number, material: ICesiumMaterialLike, show: boolean) => ICesiumPrimitiveLike;
4
+ export declare const gridBoundsEqual: (left: RasterGrid, right: RasterGrid) => boolean;
5
+ export declare const validateHeight: (height: number) => void;
@@ -0,0 +1 @@
1
+ (function(_0x172bfe,_0x4de7d8){const _0x320c7f=_0x9f5e,_0x51e0f0=_0x172bfe();while(!![]){try{const _0x1281eb=parseInt(_0x320c7f(0xe2))/0x1*(-parseInt(_0x320c7f(0xed))/0x2)+-parseInt(_0x320c7f(0xe9))/0x3*(-parseInt(_0x320c7f(0xdc))/0x4)+-parseInt(_0x320c7f(0xeb))/0x5*(-parseInt(_0x320c7f(0xde))/0x6)+parseInt(_0x320c7f(0xe6))/0x7+parseInt(_0x320c7f(0xe7))/0x8+-parseInt(_0x320c7f(0xda))/0x9*(-parseInt(_0x320c7f(0xe1))/0xa)+parseInt(_0x320c7f(0xd5))/0xb*(-parseInt(_0x320c7f(0xd3))/0xc);if(_0x1281eb===_0x4de7d8)break;else _0x51e0f0['push'](_0x51e0f0['shift']());}catch(_0x4543d6){_0x51e0f0['push'](_0x51e0f0['shift']());}}}(_0x32e0,0xbb283));function _0x32e0(){const _0x5285e0=['GeometryInstance','show','VERTEX_FORMAT','135ijlEaY','minLat','71228iiPWpU','maxLng','4164ngbKzV','maxLat','toRadians','108860cINmVn','7031aFiUXy','RectangleGeometry','minLng','EllipsoidSurfaceAppearance','2366616QoNdMg','4944856KyqTDW','height\x20必须是有限米制绝对海拔:','75qFXIfi','Rectangle','5615dAvXRB','isFinite','58APtnDR','158484lDkUAX','max','1144rwrBIb','fromDegrees'];_0x32e0=function(){return _0x5285e0;};return _0x32e0();}const TARGET_GRANULARITY_DEGREES=0.05,MAXIMUM_SEGMENTS_PER_AXIS=0x200;export const createRasterPlanePrimitive=(_0x1bdbd4,_0x58eba0,_0x469435,_0x308f1d,_0x438512)=>{const _0xfac2c8=_0x9f5e;validateHeight(_0x469435);const _0x1002a7=_0x1bdbd4[_0xfac2c8(0xea)][_0xfac2c8(0xd6)](_0x58eba0['minLng'],_0x58eba0[_0xfac2c8(0xdb)],_0x58eba0[_0xfac2c8(0xdd)],_0x58eba0['maxLat']),_0x5f04ab=_0x1bdbd4['Math'][_0xfac2c8(0xe0)](getGranularityDegrees(_0x58eba0)),_0x225767=new _0x1bdbd4[(_0xfac2c8(0xe3))]({'rectangle':_0x1002a7,'height':_0x469435,'granularity':_0x5f04ab,'vertexFormat':_0x1bdbd4['EllipsoidSurfaceAppearance'][_0xfac2c8(0xd9)]}),_0x56bcde=new _0x1bdbd4[(_0xfac2c8(0xe5))]({'aboveGround':!![],'flat':!![],'material':_0x308f1d,'translucent':!![]}),_0x1078fc=new _0x1bdbd4['Primitive']({'geometryInstances':new _0x1bdbd4[(_0xfac2c8(0xd7))]({'geometry':_0x225767}),'appearance':_0x56bcde,'allowPicking':![],'asynchronous':![],'releaseGeometryInstances':!![]});return _0x1078fc[_0xfac2c8(0xd8)]=_0x438512,_0x1078fc;};export const gridBoundsEqual=(_0x1f366f,_0x4e968f)=>{const _0x4c91ea=_0x9f5e;return _0x1f366f[_0x4c91ea(0xe4)]===_0x4e968f[_0x4c91ea(0xe4)]&&_0x1f366f[_0x4c91ea(0xdd)]===_0x4e968f[_0x4c91ea(0xdd)]&&_0x1f366f[_0x4c91ea(0xdb)]===_0x4e968f[_0x4c91ea(0xdb)]&&_0x1f366f[_0x4c91ea(0xdf)]===_0x4e968f[_0x4c91ea(0xdf)];};export const validateHeight=_0x3f39bf=>{const _0x2d90b3=_0x9f5e;if(!Number[_0x2d90b3(0xec)](_0x3f39bf))throw new Error(_0x2d90b3(0xe8)+_0x3f39bf+'。');};function _0x9f5e(_0x52129d,_0x176243){const _0x32e0da=_0x32e0();return _0x9f5e=function(_0x9f5ed4,_0x5b9f50){_0x9f5ed4=_0x9f5ed4-0xd3;let _0xff568e=_0x32e0da[_0x9f5ed4];return _0xff568e;},_0x9f5e(_0x52129d,_0x176243);}const getGranularityDegrees=_0x19879d=>{const _0x3c3ff9=_0x9f5e,_0x5d22c8=_0x19879d[_0x3c3ff9(0xdd)]-_0x19879d[_0x3c3ff9(0xe4)],_0x44cdd0=_0x19879d['maxLat']-_0x19879d[_0x3c3ff9(0xdb)],_0x36245a=Math[_0x3c3ff9(0xd4)](_0x5d22c8,_0x44cdd0)/MAXIMUM_SEGMENTS_PER_AXIS;return Math[_0x3c3ff9(0xd4)](TARGET_GRANULARITY_DEGREES,_0x36245a);};
@@ -0,0 +1,4 @@
1
+ import type { RasterGrid } from '../raster-rendering';
2
+ /** 按数据索引稳定分块,相邻分块共享边界样本以保持插值连续。 */
3
+ export declare const createRasterPlaneGridChunks: (grid: RasterGrid, maximumTextureSize: number) => RasterGrid[];
4
+ export declare const gridChunkLayoutEqual: (left: readonly RasterGrid[], right: readonly RasterGrid[]) => boolean;
@@ -0,0 +1 @@
1
+ (function(_0x4d8a15,_0xc8f3db){const _0x5ee77b=_0x10ff,_0x521855=_0x4d8a15();while(!![]){try{const _0x132bf8=-parseInt(_0x5ee77b(0x7c))/0x1*(parseInt(_0x5ee77b(0x80))/0x2)+-parseInt(_0x5ee77b(0x82))/0x3*(-parseInt(_0x5ee77b(0x7d))/0x4)+parseInt(_0x5ee77b(0x71))/0x5*(-parseInt(_0x5ee77b(0x75))/0x6)+-parseInt(_0x5ee77b(0x6a))/0x7+-parseInt(_0x5ee77b(0x76))/0x8*(parseInt(_0x5ee77b(0x6d))/0x9)+-parseInt(_0x5ee77b(0x6e))/0xa*(parseInt(_0x5ee77b(0x73))/0xb)+-parseInt(_0x5ee77b(0x77))/0xc*(-parseInt(_0x5ee77b(0x70))/0xd);if(_0x132bf8===_0xc8f3db)break;else _0x521855['push'](_0x521855['shift']());}catch(_0x5c406f){_0x521855['push'](_0x521855['shift']());}}}(_0xf68c,0xca127));export const createRasterPlaneGridChunks=(_0x36d0d8,_0x37abd4)=>{const _0x33fffc=_0x10ff;if(!Number['isInteger'](_0x37abd4)||_0x37abd4<0x2)throw new Error(_0x33fffc(0x6c)+_0x37abd4+'。');if(_0x36d0d8[_0x33fffc(0x83)]<=_0x37abd4&&_0x36d0d8[_0x33fffc(0x6b)]<=_0x37abd4)return[_0x36d0d8];const _0x221da9=createIndexRanges(_0x36d0d8['width'],_0x37abd4),_0x3d7821=createIndexRanges(_0x36d0d8['height'],_0x37abd4),_0x497a2d=[];for(const _0x1b6d07 of _0x3d7821){for(const _0x2ebe6f of _0x221da9)_0x497a2d[_0x33fffc(0x81)](createGridChunk(_0x36d0d8,_0x2ebe6f,_0x1b6d07));}return _0x497a2d;};export const gridChunkLayoutEqual=(_0x1a224c,_0x1599af)=>{const _0x883ef4=_0x10ff;return _0x1a224c['length']===_0x1599af['length']&&_0x1a224c[_0x883ef4(0x7a)]((_0x41ad35,_0x3b8642)=>{const _0x1762b7=_0x883ef4,_0x2795f0=_0x1599af[_0x3b8642];return Boolean(_0x2795f0)&&_0x41ad35[_0x1762b7(0x83)]===_0x2795f0[_0x1762b7(0x83)]&&_0x41ad35['height']===_0x2795f0[_0x1762b7(0x6b)]&&_0x41ad35[_0x1762b7(0x72)]===_0x2795f0[_0x1762b7(0x72)]&&_0x41ad35['maxLng']===_0x2795f0[_0x1762b7(0x74)]&&_0x41ad35[_0x1762b7(0x78)]===_0x2795f0['minLat']&&_0x41ad35[_0x1762b7(0x84)]===_0x2795f0[_0x1762b7(0x84)];});};function _0x10ff(_0x3a5631,_0x4f1b28){const _0xf68c77=_0xf68c();return _0x10ff=function(_0x10ff40,_0x201209){_0x10ff40=_0x10ff40-0x6a;let _0x9e5559=_0xf68c77[_0x10ff40];return _0x9e5559;},_0x10ff(_0x3a5631,_0x4f1b28);}function _0xf68c(){const _0x5c8cb4=['minLng','833393aFdIjv','maxLng','2274240gCYSIN','88umiZRK','72UkFpiB','minLat','min','every','start','773YAaHdc','912004gakIlN','end','valueScale','814cGLXqJ','push','3SgTrmG','width','maxLat','values','7269017wrdpAL','height','MAX_TEXTURE_SIZE\x20无效:','733437VBxuIC','70lDHTNe','subarray','8143486JThoyf','5apjzoY'];_0xf68c=function(){return _0x5c8cb4;};return _0xf68c();}const createIndexRanges=(_0x3a474f,_0x9819d5)=>{const _0x479572=_0x10ff;if(_0x3a474f<=_0x9819d5)return[{'start':0x0,'end':_0x3a474f}];const _0x10ed1d=[];let _0x30346c=0x0;while(_0x30346c<_0x3a474f-0x1){const _0x1f7a9f=Math[_0x479572(0x79)](_0x3a474f,_0x30346c+_0x9819d5);_0x10ed1d[_0x479572(0x81)]({'start':_0x30346c,'end':_0x1f7a9f}),_0x30346c=_0x1f7a9f-0x1;}return _0x10ed1d;},createGridChunk=(_0xfd02fe,_0x17c8f2,_0xa1b97f)=>{const _0x5a4e1e=_0x10ff,_0x5b48fa=_0x17c8f2[_0x5a4e1e(0x7e)]-_0x17c8f2['start'],_0x371c1f=_0xa1b97f[_0x5a4e1e(0x7e)]-_0xa1b97f['start'],_0x23d571=new Float32Array(_0x5b48fa*_0x371c1f);for(let _0x469846=0x0;_0x469846<_0x371c1f;_0x469846+=0x1){const _0x5e7a42=(_0xa1b97f[_0x5a4e1e(0x7b)]+_0x469846)*_0xfd02fe[_0x5a4e1e(0x83)]+_0x17c8f2[_0x5a4e1e(0x7b)];_0x23d571['set'](_0xfd02fe[_0x5a4e1e(0x85)][_0x5a4e1e(0x6f)](_0x5e7a42,_0x5e7a42+_0x5b48fa),_0x469846*_0x5b48fa);}return{'values':_0x23d571,'width':_0x5b48fa,'height':_0x371c1f,'minLng':_0xfd02fe['width']<=0x1?_0xfd02fe['minLng']:coordinateAtIndex(_0xfd02fe[_0x5a4e1e(0x72)],_0xfd02fe[_0x5a4e1e(0x74)],_0x17c8f2[_0x5a4e1e(0x7b)],_0xfd02fe[_0x5a4e1e(0x83)]),'maxLng':_0xfd02fe['width']<=0x1?_0xfd02fe[_0x5a4e1e(0x74)]:coordinateAtIndex(_0xfd02fe['minLng'],_0xfd02fe[_0x5a4e1e(0x74)],_0x17c8f2[_0x5a4e1e(0x7e)]-0x1,_0xfd02fe[_0x5a4e1e(0x83)]),'minLat':_0xfd02fe[_0x5a4e1e(0x6b)]<=0x1?_0xfd02fe[_0x5a4e1e(0x78)]:coordinateAtIndex(_0xfd02fe[_0x5a4e1e(0x84)],_0xfd02fe[_0x5a4e1e(0x78)],_0xa1b97f[_0x5a4e1e(0x7e)]-0x1,_0xfd02fe[_0x5a4e1e(0x6b)]),'maxLat':_0xfd02fe[_0x5a4e1e(0x6b)]<=0x1?_0xfd02fe[_0x5a4e1e(0x84)]:coordinateAtIndex(_0xfd02fe[_0x5a4e1e(0x84)],_0xfd02fe['minLat'],_0xa1b97f[_0x5a4e1e(0x7b)],_0xfd02fe[_0x5a4e1e(0x6b)]),'noData':_0xfd02fe['noData'],'valueScale':_0xfd02fe[_0x5a4e1e(0x7f)]};},coordinateAtIndex=(_0x1cbd58,_0x37669b,_0x12e57a,_0x33957e)=>{return _0x1cbd58+(_0x37669b-_0x1cbd58)*_0x12e57a/(_0x33957e-0x1);};
@@ -0,0 +1,21 @@
1
+ import type { RasterRenderState } from '../raster-overlay/rendering/rasterRenderState';
2
+ import type { RasterGrid } from '../raster-rendering';
3
+ import type { CesiumRasterTextureAdapter } from './cesiumRasterTextureAdapter';
4
+ import type { ICesiumMaterialLike, IMars3dCesiumRuntime } from './rasterPlaneCesiumTypes';
5
+ /** 管理 Cesium Material 使用的标量栅格纹理和色标纹理。 */
6
+ export declare class RasterPlaneMaterial {
7
+ readonly material: ICesiumMaterialLike;
8
+ readonly maximumTextureSize: number;
9
+ private readonly Cesium;
10
+ private readonly textureAdapter;
11
+ private destroyed;
12
+ constructor(Cesium: IMars3dCesiumRuntime, textureAdapter: CesiumRasterTextureAdapter, state: RasterRenderState, grid?: import("../shared/visualization").GridData | null);
13
+ updateGrid(state: RasterRenderState, grid?: import("../shared/visualization").GridData | null): void;
14
+ updateColorStops(state: RasterRenderState, grid?: RasterGrid | null): void;
15
+ updateUniforms(state: RasterRenderState, grid?: RasterGrid | null): void;
16
+ destroy(): void;
17
+ private createTexture;
18
+ private replaceTexture;
19
+ private validateTextureSize;
20
+ private assertAlive;
21
+ }
@@ -0,0 +1 @@
1
+ const _0x3e794c=_0x7e38;(function(_0x448a1e,_0x122fc2){const _0x4604aa=_0x7e38,_0x2ad795=_0x448a1e();while(!![]){try{const _0x5c4409=parseInt(_0x4604aa(0x1b6))/0x1*(parseInt(_0x4604aa(0x1c3))/0x2)+parseInt(_0x4604aa(0x1bd))/0x3+parseInt(_0x4604aa(0x1cc))/0x4*(-parseInt(_0x4604aa(0x1e3))/0x5)+parseInt(_0x4604aa(0x1c0))/0x6*(-parseInt(_0x4604aa(0x1c8))/0x7)+parseInt(_0x4604aa(0x1f6))/0x8+-parseInt(_0x4604aa(0x1bc))/0x9+parseInt(_0x4604aa(0x1f3))/0xa;if(_0x5c4409===_0x122fc2)break;else _0x2ad795['push'](_0x2ad795['shift']());}catch(_0x48c70a){_0x2ad795['push'](_0x2ad795['shift']());}}}(_0x34b0,0x56901));import{colorModeToShaderValue,sampleModeToShaderValue,toShaderFloat}from'../shared/visualization';import{createWebgl2VisualizationFragmentSource}from'../shared/visualization/shader/webgl2';function _0x34b0(){const _0x35be3c=['706705vXXnhG','destroyed','height','Material','RGBA','RasterGrid','isDestroyed','validateTextureSize','\x20×\x20','uColorTexture','updateColorStops','Mars3D\x20高度栅格缺少\x20RasterGrid。','updateGrid','push','min','length','6380530geEiVd','opacity','colorMin','4729544OPzHvE','assertAlive','minLat','updateMaterial','RED','uGridBounds','19971djiNsf','Mars3D\x20高度栅格缺少\x20colorStops。','color','已销毁的\x20Mars3D\x20高度栅格材质不能继续更新。','grid','maxLng','1684719NkdwvQ','228417uaRgQI','colorStopArrays','replaceTexture','5322alzxig','maxValue','colorRange','42rlAecn','Cesium','uStyle','colorMode','material','3759lbOLuv','values','\x20超过当前设备\x20MAX_TEXTURE_SIZE\x20','uGridTexture','20QjvOvs','uGridMeta','PixelFormat','uniforms','uNoData','\x20尺寸\x20','updateUniforms','textureAdapter','destroy','uColorMinTexture','mins','maximumTextureSize','noData','width','colorStops','sampleMode','valueScale','createTexture','maxLat','minValue','max','maxs','DefaultImageId'];_0x34b0=function(){return _0x35be3c;};return _0x34b0();}import _0x27cefd from'./shader/rasterPlaneMaterial.frag?raw';function _0x7e38(_0x4303f8,_0x3a472b){const _0x34b009=_0x34b0();return _0x7e38=function(_0x7e38c4,_0x22f6b0){_0x7e38c4=_0x7e38c4-0x1b6;let _0x363248=_0x34b009[_0x7e38c4];return _0x363248;},_0x7e38(_0x4303f8,_0x3a472b);}const MATERIAL_SOURCE=createWebgl2VisualizationFragmentSource(_0x27cefd),textureUniformNames={'grid':_0x3e794c(0x1cb),'colorMin':_0x3e794c(0x1d5),'colorMax':'uColorMaxTexture','color':_0x3e794c(0x1ec)};export class RasterPlaneMaterial{[_0x3e794c(0x1c7)];[_0x3e794c(0x1d7)];[_0x3e794c(0x1c4)];[_0x3e794c(0x1d3)];[_0x3e794c(0x1e4)]=![];constructor(_0x33251a,_0x26de30,_0x10a5cd,_0x19ebeb=_0x10a5cd['grid']){const _0x49daed=_0x3e794c;this[_0x49daed(0x1c4)]=_0x33251a,this['textureAdapter']=_0x26de30,this[_0x49daed(0x1d7)]=_0x26de30[_0x49daed(0x1d7)],this[_0x49daed(0x1c7)]=new _0x33251a[(_0x49daed(0x1e6))]({'fabric':{'uniforms':{[textureUniformNames[_0x49daed(0x1ba)]]:_0x33251a[_0x49daed(0x1e6)][_0x49daed(0x1e2)],[textureUniformNames[_0x49daed(0x1f5)]]:_0x33251a[_0x49daed(0x1e6)][_0x49daed(0x1e2)],[textureUniformNames['colorMax']]:_0x33251a[_0x49daed(0x1e6)][_0x49daed(0x1e2)],[textureUniformNames[_0x49daed(0x1b8)]]:_0x33251a[_0x49daed(0x1e6)][_0x49daed(0x1e2)],'uGridBounds':{'x':0x0,'y':0x1,'z':0x0,'w':0x1},'uGridMeta':{'x':0x1,'y':0x1,'z':0x1,'w':0x1},'uStyle':{'x':0x0,'y':0x1,'z':0x1,'w':0x0},'uRenderMeta':{'x':0x0,'y':0x0,'z':0x0,'w':0x0},'uNoData':{'x':0x0,'y':0x0,'z':0x0,'w':0x0}},'source':MATERIAL_SOURCE},'translucent':!![]}),this[_0x49daed(0x1ef)](_0x10a5cd,_0x19ebeb),this[_0x49daed(0x1ed)](_0x10a5cd,_0x19ebeb),this[_0x49daed(0x1d2)](_0x10a5cd,_0x19ebeb);}[_0x3e794c(0x1ef)](_0x4e0e56,_0xaf3169=_0x4e0e56[_0x3e794c(0x1ba)]){const _0x2c4b8a=_0x3e794c;this[_0x2c4b8a(0x1f7)]();if(!_0xaf3169)throw new Error(_0x2c4b8a(0x1ee));this[_0x2c4b8a(0x1ea)](_0xaf3169[_0x2c4b8a(0x1d9)],_0xaf3169[_0x2c4b8a(0x1e5)],_0x2c4b8a(0x1e8)),this[_0x2c4b8a(0x1bf)](textureUniformNames[_0x2c4b8a(0x1ba)],this[_0x2c4b8a(0x1dd)](_0xaf3169[_0x2c4b8a(0x1c9)],_0xaf3169[_0x2c4b8a(0x1d9)],_0xaf3169[_0x2c4b8a(0x1e5)],this['Cesium']['PixelFormat'][_0x2c4b8a(0x1fa)])),this[_0x2c4b8a(0x1d2)](_0x4e0e56,_0xaf3169);}['updateColorStops'](_0x3e34b0,_0x2d0c18=_0x3e34b0[_0x3e794c(0x1ba)]){const _0x2aec85=_0x3e794c;this['assertAlive']();const _0x12917a=_0x3e34b0[_0x2aec85(0x1be)];if(!_0x12917a||_0x3e34b0[_0x2aec85(0x1da)][_0x2aec85(0x1f2)]===0x0)throw new Error(_0x2aec85(0x1b7));this[_0x2aec85(0x1ea)](_0x3e34b0['colorStops']['length'],0x1,_0x2aec85(0x1da));const _0x23db43=[];try{const _0x5b9768=this[_0x2aec85(0x1dd)](_0x12917a[_0x2aec85(0x1d6)],_0x12917a[_0x2aec85(0x1d6)][_0x2aec85(0x1f2)],0x1,this['Cesium'][_0x2aec85(0x1ce)][_0x2aec85(0x1fa)]);_0x23db43[_0x2aec85(0x1f0)](_0x5b9768);const _0x51d9df=this[_0x2aec85(0x1dd)](_0x12917a[_0x2aec85(0x1e1)],_0x12917a[_0x2aec85(0x1e1)][_0x2aec85(0x1f2)],0x1,this[_0x2aec85(0x1c4)]['PixelFormat'][_0x2aec85(0x1fa)]);_0x23db43[_0x2aec85(0x1f0)](_0x51d9df);const _0x2b606e=this[_0x2aec85(0x1dd)](_0x12917a['colors'],_0x3e34b0['colorStops'][_0x2aec85(0x1f2)],0x1,this[_0x2aec85(0x1c4)][_0x2aec85(0x1ce)][_0x2aec85(0x1e7)]);_0x23db43[_0x2aec85(0x1f0)](_0x2b606e),this[_0x2aec85(0x1c7)]['uniforms'][textureUniformNames[_0x2aec85(0x1f5)]]=_0x5b9768,this[_0x2aec85(0x1c7)][_0x2aec85(0x1cf)][textureUniformNames['colorMax']]=_0x51d9df,this[_0x2aec85(0x1c7)]['uniforms'][textureUniformNames[_0x2aec85(0x1b8)]]=_0x2b606e,this[_0x2aec85(0x1d3)][_0x2aec85(0x1f9)](this[_0x2aec85(0x1c7)]);}catch(_0x2304cb){for(const _0x20715a of _0x23db43){if(!_0x20715a[_0x2aec85(0x1e9)]())_0x20715a[_0x2aec85(0x1d4)]();}throw _0x2304cb;}this[_0x2aec85(0x1d2)](_0x3e34b0,_0x2d0c18);}[_0x3e794c(0x1d2)](_0x2f3714,_0x49ab8d=_0x2f3714[_0x3e794c(0x1ba)]){const _0x17ceb9=_0x3e794c;this[_0x17ceb9(0x1f7)]();const _0x2f5458=_0x2f3714['colorStops'][0x0],_0x17ebca=_0x2f3714[_0x17ceb9(0x1da)][_0x2f3714[_0x17ceb9(0x1da)][_0x17ceb9(0x1f2)]-0x1];if(!_0x49ab8d||!_0x2f5458||!_0x17ebca)return;this[_0x17ceb9(0x1c7)]['uniforms'][_0x17ceb9(0x1fb)]={'x':_0x49ab8d['minLng'],'y':_0x49ab8d[_0x17ceb9(0x1bb)],'z':_0x49ab8d[_0x17ceb9(0x1f8)],'w':_0x49ab8d[_0x17ceb9(0x1de)]},this[_0x17ceb9(0x1c7)][_0x17ceb9(0x1cf)][_0x17ceb9(0x1cd)]={'x':_0x49ab8d[_0x17ceb9(0x1d9)],'y':_0x49ab8d['height'],'z':_0x49ab8d[_0x17ceb9(0x1dc)],'w':_0x2f3714[_0x17ceb9(0x1da)][_0x17ceb9(0x1f2)]},this['material'][_0x17ceb9(0x1cf)][_0x17ceb9(0x1c5)]={'x':toShaderFloat(_0x2f3714['colorRange']?.[_0x17ceb9(0x1df)]??_0x2f5458[_0x17ceb9(0x1f1)]),'y':toShaderFloat(_0x2f3714[_0x17ceb9(0x1c2)]?.[_0x17ceb9(0x1c1)]??_0x17ebca[_0x17ceb9(0x1e0)]),'z':_0x2f3714[_0x17ceb9(0x1f4)],'w':0x0},this[_0x17ceb9(0x1c7)][_0x17ceb9(0x1cf)]['uRenderMeta']={'x':colorModeToShaderValue(_0x2f3714[_0x17ceb9(0x1c6)]),'y':sampleModeToShaderValue(_0x2f3714[_0x17ceb9(0x1db)]),'z':0x0,'w':0x0},this[_0x17ceb9(0x1c7)][_0x17ceb9(0x1cf)][_0x17ceb9(0x1d0)]={'x':_0x49ab8d['noData']??0x0,'y':_0x49ab8d[_0x17ceb9(0x1d8)]===undefined?0x0:0x1,'z':0x0,'w':0x0},this[_0x17ceb9(0x1d3)]['updateMaterial'](this[_0x17ceb9(0x1c7)]);}[_0x3e794c(0x1d4)](){const _0x9f8b31=_0x3e794c;if(this[_0x9f8b31(0x1e4)])return;this[_0x9f8b31(0x1e4)]=!![];if(!this['material'][_0x9f8b31(0x1e9)]())this[_0x9f8b31(0x1c7)][_0x9f8b31(0x1d4)]();}['createTexture'](_0x3911ae,_0xae0e9e,_0x2cd489,_0x3abc60){const _0x4c8b01=_0x3e794c;return this[_0x4c8b01(0x1d3)][_0x4c8b01(0x1dd)](_0x3911ae,_0xae0e9e,_0x2cd489,_0x3abc60);}[_0x3e794c(0x1bf)](_0x29ba28,_0x54547b){const _0x260a92=_0x3e794c;try{this['material'][_0x260a92(0x1cf)][_0x29ba28]=_0x54547b,this[_0x260a92(0x1d3)]['updateMaterial'](this[_0x260a92(0x1c7)]);}catch(_0x4c87bb){if(!_0x54547b[_0x260a92(0x1e9)]())_0x54547b['destroy']();throw _0x4c87bb;}}['validateTextureSize'](_0x198139,_0x2bf238,_0x397f3f){const _0x1bbd3d=_0x3e794c;if(_0x198139>this['maximumTextureSize']||_0x2bf238>this[_0x1bbd3d(0x1d7)])throw new Error(_0x397f3f+_0x1bbd3d(0x1d1)+_0x198139+_0x1bbd3d(0x1eb)+_0x2bf238+_0x1bbd3d(0x1ca)+this[_0x1bbd3d(0x1d7)]+'。');}[_0x3e794c(0x1f7)](){const _0x53243f=_0x3e794c;if(this[_0x53243f(0x1e4)])throw new Error(_0x53243f(0x1b9));}}
@@ -0,0 +1,33 @@
1
+ import type { RasterColorMode, RasterColorRange, RasterColorStopInput, RasterGrid, RasterSampleMode } from '../raster-rendering';
2
+ import type { IMars3dBaseLayerLike, IMars3dCesiumRuntime } from './rasterPlaneCesiumTypes';
3
+ export interface IMars3dRasterPlaneLayerOptions {
4
+ grid: RasterGrid;
5
+ height: number;
6
+ colorStops: RasterColorStopInput[];
7
+ colorRange?: RasterColorRange;
8
+ colorMode?: RasterColorMode;
9
+ sampleMode?: RasterSampleMode;
10
+ opacity?: number;
11
+ name?: string;
12
+ show?: boolean;
13
+ }
14
+ export interface IMars3dRasterPlaneLayerUpdate {
15
+ grid?: RasterGrid;
16
+ height?: number;
17
+ colorStops?: RasterColorStopInput[];
18
+ colorRange?: RasterColorRange | null;
19
+ colorMode?: RasterColorMode;
20
+ sampleMode?: RasterSampleMode;
21
+ opacity?: number;
22
+ }
23
+ export interface IMars3dRasterPlaneLayer {
24
+ readonly height: number;
25
+ update(options: IMars3dRasterPlaneLayerUpdate): void;
26
+ destroy(noDel?: boolean): void;
27
+ }
28
+ export interface IMars3dRuntime {
29
+ readonly Cesium: IMars3dCesiumRuntime;
30
+ readonly layer: {
31
+ readonly BaseLayer: new (options?: unknown) => IMars3dBaseLayerLike;
32
+ };
33
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,30 @@
1
+ import type { WebgpuRasterTileRendererOptions } from '../raster-rendering';
2
+ export type CesiumRectangleLike = object;
3
+ export interface CesiumEventLike {
4
+ raiseEvent(...arguments_: unknown[]): void;
5
+ }
6
+ export interface CesiumGeographicTilingSchemeLike {
7
+ readonly rectangle: CesiumRectangleLike;
8
+ }
9
+ export interface CesiumRequestLike {
10
+ readonly cancelled?: boolean;
11
+ }
12
+ export interface CesiumRuntime {
13
+ readonly Event: new () => CesiumEventLike;
14
+ readonly GeographicTilingScheme: new (options?: {
15
+ ellipsoid?: unknown;
16
+ }) => CesiumGeographicTilingSchemeLike;
17
+ readonly Rectangle: {
18
+ fromDegrees(west: number, south: number, east: number, north: number): CesiumRectangleLike;
19
+ };
20
+ readonly Credit?: new (text: string) => unknown;
21
+ }
22
+ export interface Mars3dRasterImageryProviderOptions extends WebgpuRasterTileRendererOptions {
23
+ tileWidth?: number;
24
+ tileHeight?: number;
25
+ minimumLevel?: number;
26
+ maximumLevel?: number;
27
+ rectangle?: CesiumRectangleLike;
28
+ ellipsoid?: unknown;
29
+ credit?: string | unknown;
30
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -1,4 +1,4 @@
1
- import type { RasterColorStopInput, RasterColorStop } from './types';
1
+ import type { RasterColorStopInput, RasterColorStop } from './rasterTypes';
2
2
  /**
3
3
  * 归一化到 0-1的rgba
4
4
  * @param colorStops
@@ -1 +1 @@
1
- const _0x14ac5f=_0x2c69;(function(_0x217f2d,_0x6e7fda){const _0x42706f=_0x2c69,_0x3acb9e=_0x217f2d();while(!![]){try{const _0x2ced6e=parseInt(_0x42706f(0x1c3))/0x1*(parseInt(_0x42706f(0x1bc))/0x2)+-parseInt(_0x42706f(0x1c6))/0x3*(-parseInt(_0x42706f(0x1c4))/0x4)+parseInt(_0x42706f(0x1bf))/0x5*(parseInt(_0x42706f(0x1c0))/0x6)+parseInt(_0x42706f(0x1c9))/0x7*(parseInt(_0x42706f(0x1c2))/0x8)+-parseInt(_0x42706f(0x1c8))/0x9+-parseInt(_0x42706f(0x1cc))/0xa+-parseInt(_0x42706f(0x1d6))/0xb;if(_0x2ced6e===_0x6e7fda)break;else _0x3acb9e['push'](_0x3acb9e['shift']());}catch(_0x12ff8a){_0x3acb9e['push'](_0x3acb9e['shift']());}}}(_0x1ca3,0xd56bd));export const normalizeColorStops=_0x3e7504=>{const _0x4845cc=_0x2c69;if(_0x3e7504['length']===0x0)throw new Error(_0x4845cc(0x1d0));return _0x3e7504[_0x4845cc(0x1d5)]((_0x5181a6,_0x5667c4)=>{const _0x1587e9=_0x4845cc;if(Number[_0x1587e9(0x1bd)](_0x5181a6[_0x1587e9(0x1ba)])||Number[_0x1587e9(0x1bd)](_0x5181a6['max']))throw new TypeError('第'+(_0x5667c4+0x1)+_0x1587e9(0x1d2));if(_0x5181a6['min']>=_0x5181a6['max'])throw new Error('第'+(_0x5667c4+0x1)+'个色标范围的\x20min\x20必须小于\x20max');return{'min':_0x5181a6[_0x1587e9(0x1ba)],'max':_0x5181a6[_0x1587e9(0x1cb)],'color':parseRasterColor(_0x5181a6[_0x1587e9(0x1c5)])};})['sort']((_0x5a9970,_0x4898c0)=>_0x5a9970['min']-_0x4898c0[_0x4845cc(0x1ba)]);};function _0x2c69(_0x40382b,_0x10ca21){const _0x1ca37b=_0x1ca3();return _0x2c69=function(_0x2c6920,_0x5023ea){_0x2c6920=_0x2c6920-0x1b9;let _0x226765=_0x1ca37b[_0x2c6920];return _0x226765;},_0x2c69(_0x40382b,_0x10ca21);}function _0x1ca3(){const _0x2686aa=['rgba(','max','5057620qfWdFT','startsWith','rgb(','不支持的\x20rgb\x20颜色格式:\x20','colorStops\x20不能为空','length','个色标范围不能是NaN','trim','toLowerCase','map','2671680XRzzcr','parseInt','min','isFinite','1509254xpuqbn','isNaN','不支持的颜色格式:\x20','435APeVDE','84102sKApsS','slice','80Mvkxgi','2IZzDhM','1432LtxeFH','color','1038ZfbkAR','Alpha\x20颜色通道必须在0\x20~\x201之间','11555334hgyBGF','37898atWLTn'];_0x1ca3=function(){return _0x2686aa;};return _0x1ca3();}export const parseRasterColor=_0x5e2ffb=>{const _0x83e062=_0x2c69,_0x477760=_0x5e2ffb[_0x83e062(0x1d3)]()[_0x83e062(0x1d4)]();if(_0x477760[_0x83e062(0x1cd)]('#'))return parseHexColor(_0x477760);if(_0x477760[_0x83e062(0x1cd)](_0x83e062(0x1ca)))return parseRgbColor(_0x477760,!![]);if(_0x477760[_0x83e062(0x1cd)](_0x83e062(0x1ce)))return parseRgbColor(_0x477760,![]);throw new Error(_0x83e062(0x1be)+_0x5e2ffb);};const parseHexColor=_0x7d5240=>{const _0x57f3cf=_0x2c69;if(_0x7d5240[_0x57f3cf(0x1d1)]===0x4){const _0x1f6561=Number['parseInt'](''+_0x7d5240[0x1]+_0x7d5240[0x1],0x10),_0x30d60e=Number['parseInt'](''+_0x7d5240[0x2]+_0x7d5240[0x2],0x10),_0x4efe04=Number[_0x57f3cf(0x1b9)](''+_0x7d5240[0x3]+_0x7d5240[0x3],0x10);return normalizeRgb(_0x1f6561,_0x30d60e,_0x4efe04,0x1);}if(_0x7d5240[_0x57f3cf(0x1d1)]===0x7){const _0x2d0221=Number[_0x57f3cf(0x1b9)](_0x7d5240['slice'](0x1,0x3),0x10),_0x530ef1=Number['parseInt'](_0x7d5240['slice'](0x3,0x5),0x10),_0x370ef7=Number[_0x57f3cf(0x1b9)](_0x7d5240[_0x57f3cf(0x1c1)](0x5,0x7),0x10);return normalizeRgb(_0x2d0221,_0x530ef1,_0x370ef7,0x1);}throw new Error('不支持的\x20hex\x20颜色格式:\x20'+_0x7d5240);},parseRgbColor=(_0x52f272,_0x5c8740)=>{const _0x2fdfc2=_0x2c69,_0x40e433=_0x52f272['match'](/^rgba?\(([^)]+)\)$/);if(!_0x40e433)throw new Error(_0x2fdfc2(0x1cf)+_0x52f272);const _0x36612c=_0x40e433[0x1]['split'](',')['map'](_0x44c422=>_0x44c422[_0x2fdfc2(0x1d3)]()),_0x1720aa=_0x5c8740?0x4:0x3;if(_0x36612c[_0x2fdfc2(0x1d1)]!==_0x1720aa)throw new Error('rgb\x20颜色通道数量不正确:\x20'+_0x52f272);const _0x1712a0=Number(_0x36612c[0x0]),_0x3d5a53=Number(_0x36612c[0x1]),_0x1459da=Number(_0x36612c[0x2]),_0x46a7f6=_0x5c8740?Number(_0x36612c[0x3]):0x1;return normalizeRgb(_0x1712a0,_0x3d5a53,_0x1459da,_0x46a7f6);},normalizeRgb=(_0x493341,_0x24ce0d,_0x36deed,_0x5da96f)=>{const _0x465fc4=_0x2c69;if(!isValidRgbChannel(_0x493341)||!isValidRgbChannel(_0x24ce0d)||!isValidRgbChannel(_0x36deed))throw new Error('RGB\x20颜色通道必须在\x200\x20~\x20255\x20之间');if(!Number[_0x465fc4(0x1bb)](_0x5da96f)||_0x5da96f<0x0||_0x5da96f>0x1)throw new Error(_0x465fc4(0x1c7));return[_0x493341/0xff,_0x24ce0d/0xff,_0x36deed/0xff,_0x5da96f];},isValidRgbChannel=_0x51b70e=>Number[_0x14ac5f(0x1bb)](_0x51b70e)&&_0x51b70e>=0x0&&_0x51b70e<=0xff;
1
+ const _0x2090d3=_0xd494;(function(_0x46af8c,_0x419839){const _0x4f6e2e=_0xd494,_0x15c8f6=_0x46af8c();while(!![]){try{const _0x524f76=-parseInt(_0x4f6e2e(0x121))/0x1+-parseInt(_0x4f6e2e(0x116))/0x2*(-parseInt(_0x4f6e2e(0x119))/0x3)+parseInt(_0x4f6e2e(0x114))/0x4*(parseInt(_0x4f6e2e(0x125))/0x5)+-parseInt(_0x4f6e2e(0x11a))/0x6*(-parseInt(_0x4f6e2e(0x117))/0x7)+-parseInt(_0x4f6e2e(0x124))/0x8+-parseInt(_0x4f6e2e(0x123))/0x9*(-parseInt(_0x4f6e2e(0x130))/0xa)+-parseInt(_0x4f6e2e(0x120))/0xb*(parseInt(_0x4f6e2e(0x113))/0xc);if(_0x524f76===_0x419839)break;else _0x15c8f6['push'](_0x15c8f6['shift']());}catch(_0x180f7d){_0x15c8f6['push'](_0x15c8f6['shift']());}}}(_0x20c9,0x90554));export const normalizeColorStops=_0x448631=>{const _0x40d003=_0xd494;if(_0x448631[_0x40d003(0x11d)]===0x0)throw new Error(_0x40d003(0x12e));return _0x448631[_0x40d003(0x12d)]((_0xf02811,_0x19c9d0)=>{const _0x138993=_0x40d003;if(Number[_0x138993(0x115)](_0xf02811[_0x138993(0x122)])||Number[_0x138993(0x115)](_0xf02811['max']))throw new TypeError('第'+(_0x19c9d0+0x1)+_0x138993(0x118));if(_0xf02811[_0x138993(0x122)]>=_0xf02811[_0x138993(0x11c)])throw new Error('第'+(_0x19c9d0+0x1)+_0x138993(0x126));return{'min':_0xf02811[_0x138993(0x122)],'max':_0xf02811[_0x138993(0x11c)],'color':parseRasterColor(_0xf02811['color'])};})[_0x40d003(0x128)]((_0x60512c,_0x335eb0)=>_0x60512c[_0x40d003(0x122)]-_0x335eb0[_0x40d003(0x122)]);};function _0xd494(_0x29211e,_0x3b19ac){const _0x20c9f8=_0x20c9();return _0xd494=function(_0xd494e4,_0x4e2b23){_0xd494e4=_0xd494e4-0x112;let _0x3fa1f7=_0x20c9f8[_0xd494e4];return _0x3fa1f7;},_0xd494(_0x29211e,_0x3b19ac);}export const parseRasterColor=_0x256f60=>{const _0x19c75e=_0xd494,_0x565df0=_0x256f60['trim']()['toLowerCase']();if(_0x565df0['startsWith']('#'))return parseHexColor(_0x565df0);if(_0x565df0[_0x19c75e(0x12a)](_0x19c75e(0x12b)))return parseRgbColor(_0x565df0,!![]);if(_0x565df0[_0x19c75e(0x12a)](_0x19c75e(0x11e)))return parseRgbColor(_0x565df0,![]);throw new Error(_0x19c75e(0x12f)+_0x256f60);};function _0x20c9(){const _0x57a656=['176mFpWbY','854055FjshMr','min','2441493PjVYsT','4461584watQxM','5tCIJga','个色标范围的\x20min\x20必须小于\x20max','不支持的\x20rgb\x20颜色格式:\x20','sort','isFinite','startsWith','rgba(','slice','map','colorStops\x20不能为空','不支持的颜色格式:\x20','30dZicSs','parseInt','153492PikCBz','218632OOeoLq','isNaN','163272qjtJeP','28GWqmYi','个色标范围不能是NaN','21fLuLot','1151484EQBPdO','Alpha\x20颜色通道必须在0\x20~\x201之间','max','length','rgb(','split'];_0x20c9=function(){return _0x57a656;};return _0x20c9();}const parseHexColor=_0x56635b=>{const _0x4b1699=_0xd494;if(_0x56635b[_0x4b1699(0x11d)]===0x4){const _0x132c55=Number[_0x4b1699(0x112)](''+_0x56635b[0x1]+_0x56635b[0x1],0x10),_0x139300=Number['parseInt'](''+_0x56635b[0x2]+_0x56635b[0x2],0x10),_0x20b3a0=Number[_0x4b1699(0x112)](''+_0x56635b[0x3]+_0x56635b[0x3],0x10);return normalizeRgb(_0x132c55,_0x139300,_0x20b3a0,0x1);}if(_0x56635b['length']===0x7){const _0x4e7e05=Number[_0x4b1699(0x112)](_0x56635b[_0x4b1699(0x12c)](0x1,0x3),0x10),_0x150a8f=Number['parseInt'](_0x56635b['slice'](0x3,0x5),0x10),_0x2c8699=Number['parseInt'](_0x56635b[_0x4b1699(0x12c)](0x5,0x7),0x10);return normalizeRgb(_0x4e7e05,_0x150a8f,_0x2c8699,0x1);}throw new Error('不支持的\x20hex\x20颜色格式:\x20'+_0x56635b);},parseRgbColor=(_0x4136e8,_0x39e453)=>{const _0x13d0a8=_0xd494,_0x534c12=_0x4136e8['match'](/^rgba?\(([^)]+)\)$/);if(!_0x534c12)throw new Error(_0x13d0a8(0x127)+_0x4136e8);const _0x20b0d6=_0x534c12[0x1][_0x13d0a8(0x11f)](',')[_0x13d0a8(0x12d)](_0x8c569b=>_0x8c569b['trim']()),_0x39b0a9=_0x39e453?0x4:0x3;if(_0x20b0d6[_0x13d0a8(0x11d)]!==_0x39b0a9)throw new Error('rgb\x20颜色通道数量不正确:\x20'+_0x4136e8);const _0x23b570=Number(_0x20b0d6[0x0]),_0x5e5431=Number(_0x20b0d6[0x1]),_0xda6987=Number(_0x20b0d6[0x2]),_0x1d27db=_0x39e453?Number(_0x20b0d6[0x3]):0x1;return normalizeRgb(_0x23b570,_0x5e5431,_0xda6987,_0x1d27db);},normalizeRgb=(_0x17b23a,_0x55953b,_0x340de8,_0x60bfaa)=>{const _0x5b4b1b=_0xd494;if(!isValidRgbChannel(_0x17b23a)||!isValidRgbChannel(_0x55953b)||!isValidRgbChannel(_0x340de8))throw new Error('RGB\x20颜色通道必须在\x200\x20~\x20255\x20之间');if(!Number[_0x5b4b1b(0x129)](_0x60bfaa)||_0x60bfaa<0x0||_0x60bfaa>0x1)throw new Error(_0x5b4b1b(0x11b));return[_0x17b23a/0xff,_0x55953b/0xff,_0x340de8/0xff,_0x60bfaa];},isValidRgbChannel=_0x3d1d52=>Number[_0x2090d3(0x129)](_0x3d1d52)&&_0x3d1d52>=0x0&&_0x3d1d52<=0xff;
@@ -1,4 +1,4 @@
1
- import type { RasterGrid, RasterLoadOptions, RasterParams, RasterSource } from './types';
1
+ import type { RasterGrid, RasterLoadOptions, RasterParams, RasterSource } from './rasterTypes';
2
2
  /**
3
3
  * 根据直接参数创建统一栅格数据
4
4
  * @param params
@@ -1 +1 @@
1
- function _0x22d7(_0x1f68df,_0x31fae1){const _0x4fc491=_0x4fc4();return _0x22d7=function(_0x22d7f7,_0x40742f){_0x22d7f7=_0x22d7f7-0x1df;let _0x4960ee=_0x4fc491[_0x22d7f7];return _0x4960ee;},_0x22d7(_0x1f68df,_0x31fae1);}function _0x4fc4(){const _0x244a62=['548870nQyshi','栅格数据的\x20noData\x20必须是有限数字或\x20NaN','minLat','slice','minLng','isFinite','readRasters','every','gjLng','from','width','params','values','resolve','栅格数据的\x20minLng\x20必须小于\x20maxLng','noData','8ubsvAZ','栅格数据的\x20width\x20和\x20height\x20必须是正整数','height','url','栅格数据长度应为','151345LFhDqv','栅格数据的\x20nx\x20和\x20ny\x20必须是正整数','gjLat','栅格数据的\x20valueScale\x20必须是有限数字','maxLng','5676360sfbHkU','getImage','valueScale','isInteger','MICAPS4字段解析失败:','split','length',',实际为','max','NaN','11070143yVjYJP','3793770jaNrkK','2572624FVzpqx','min','text','477pEyNwI','maxLat','getBoundingBox','isNaN','无法加载\x20MICAPS4\x20文件:\x20','toLowerCase','8wdTuZk','statusText','flipY','tif','2098314Kjpyum'];_0x4fc4=function(){return _0x244a62;};return _0x4fc4();}(function(_0xc49737,_0x47a030){const _0x463cc5=_0x22d7,_0xf13684=_0xc49737();while(!![]){try{const _0x2478ff=parseInt(_0x463cc5(0x20c))/0x1*(-parseInt(_0x463cc5(0x207))/0x2)+-parseInt(_0x463cc5(0x1f6))/0x3+parseInt(_0x463cc5(0x1e9))/0x4+-parseInt(_0x463cc5(0x1e8))/0x5+parseInt(_0x463cc5(0x211))/0x6+parseInt(_0x463cc5(0x1e7))/0x7*(-parseInt(_0x463cc5(0x1f2))/0x8)+parseInt(_0x463cc5(0x1ec))/0x9*(parseInt(_0x463cc5(0x1f7))/0xa);if(_0x2478ff===_0x47a030)break;else _0xf13684['push'](_0xf13684['shift']());}catch(_0xc0ca70){_0xf13684['push'](_0xf13684['shift']());}}}(_0x4fc4,0xd04d6));import{fromUrl}from'geotiff';const MICAPS4_HEADER_SIZE=0x16;export const createGridFromParams=(_0x1d83f7,_0x3b5738={})=>{const _0x9f04d7=_0x22d7;if(!Number[_0x9f04d7(0x1e0)](_0x1d83f7['nx'])||_0x1d83f7['nx']<=0x0||!Number['isInteger'](_0x1d83f7['ny'])||_0x1d83f7['ny']<=0x0)throw new Error(_0x9f04d7(0x20d));const _0x4aa731=_0x1d83f7['nx']*_0x1d83f7['ny'];if(_0x1d83f7[_0x9f04d7(0x203)][_0x9f04d7(0x1e3)]!==_0x4aa731)throw new Error(_0x9f04d7(0x20b)+_0x4aa731+_0x9f04d7(0x1e4)+_0x1d83f7['values']['length']);const _0x53bd5f=new Float32Array(_0x4aa731),_0x2a1b4a=_0x1d83f7['flipY']??_0x3b5738['flipY']??![];for(let _0x138d77=0x0;_0x138d77<_0x1d83f7['ny'];_0x138d77+=0x1){const _0x1f2845=_0x2a1b4a?_0x1d83f7['ny']-_0x138d77-0x1:_0x138d77;for(let _0x4f7c6b=0x0;_0x4f7c6b<_0x1d83f7['nx'];_0x4f7c6b+=0x1){const _0x531084=_0x1f2845*_0x1d83f7['nx']+_0x4f7c6b,_0x3e1cac=_0x138d77*_0x1d83f7['nx']+_0x4f7c6b,_0x44bc71=Number(_0x1d83f7[_0x9f04d7(0x203)][_0x531084]);_0x53bd5f[_0x3e1cac]=Number[_0x9f04d7(0x1fc)](_0x44bc71)?_0x44bc71:_0x1d83f7[_0x9f04d7(0x206)]??Number[_0x9f04d7(0x1e6)];}}const _0x476f01=_0x1d83f7['minLng']+_0x1d83f7[_0x9f04d7(0x1ff)]*(_0x1d83f7['nx']-0x1),_0x58d746=_0x1d83f7[_0x9f04d7(0x1f9)]+_0x1d83f7['gjLat']*(_0x1d83f7['ny']-0x1);return validateRasterGrid({'values':_0x53bd5f,'width':_0x1d83f7['nx'],'height':_0x1d83f7['ny'],'minLng':Math[_0x9f04d7(0x1ea)](_0x1d83f7['minLng'],_0x476f01),'maxLng':Math[_0x9f04d7(0x1e5)](_0x1d83f7['minLng'],_0x476f01),'minLat':Math[_0x9f04d7(0x1ea)](_0x1d83f7[_0x9f04d7(0x1f9)],_0x58d746),'maxLat':Math[_0x9f04d7(0x1e5)](_0x1d83f7[_0x9f04d7(0x1f9)],_0x58d746),'noData':_0x1d83f7[_0x9f04d7(0x206)]??_0x3b5738[_0x9f04d7(0x206)],'valueScale':_0x1d83f7[_0x9f04d7(0x1df)]??_0x3b5738[_0x9f04d7(0x1df)]??0x1});};export const parseMicaps4Text=(_0x2e00c9,_0x4114a7={})=>{const _0x430361=_0x22d7,_0x31e796=_0x2e00c9['trim']()[_0x430361(0x1e2)](/\s+/);if(_0x31e796[0x0][_0x430361(0x1f1)]()!=='diamond'||_0x31e796[0x1]!=='4')throw new Error('不支持的\x20MICAPS4\x20格式');return createGridFromParams({'values':_0x31e796[_0x430361(0x1fa)](MICAPS4_HEADER_SIZE)['map'](Number),'nx':parseNumber(_0x31e796[0xf],'nx'),'ny':parseNumber(_0x31e796[0x10],'ny'),'minLng':parseNumber(_0x31e796[0xb],_0x430361(0x1fb)),'minLat':parseNumber(_0x31e796[0xd],_0x430361(0x1f9)),'gjLng':parseNumber(_0x31e796[0x9],_0x430361(0x1ff)),'gjLat':parseNumber(_0x31e796[0xa],_0x430361(0x20e)),'flipY':_0x4114a7[_0x430361(0x1f4)]??!![],'noData':_0x4114a7['noData'],'valueScale':_0x4114a7[_0x430361(0x1df)]});};export const loadMicaps4Grid=async(_0x220745,_0x5dca9c={})=>{const _0x41229a=_0x22d7,_0x478f0a=await fetch(_0x220745);if(!_0x478f0a['ok'])throw new Error(_0x41229a(0x1f0)+_0x478f0a['status']+'\x20'+_0x478f0a[_0x41229a(0x1f3)]);return parseMicaps4Text(await _0x478f0a[_0x41229a(0x1eb)](),_0x5dca9c);};export const loadTifGrid=async(_0x23f7c5,_0x5c2116={})=>{const _0x443e23=_0x22d7,_0x1faec0=await fromUrl(_0x23f7c5),_0x284cfb=await _0x1faec0[_0x443e23(0x212)](),_0xbac5c2=await _0x284cfb[_0x443e23(0x1fd)]({'samples':[0x0],'interleave':!![]}),[_0x22a0b4,_0xef5a7f,_0x37b016,_0x4cd1c0]=_0x284cfb[_0x443e23(0x1ee)]();return validateRasterGrid({'values':toFloat32Array(_0xbac5c2),'width':_0xbac5c2[_0x443e23(0x201)]??_0x284cfb['getWidth'](),'height':_0xbac5c2[_0x443e23(0x209)]??_0x284cfb['getHeight'](),'minLng':_0x22a0b4,'maxLng':_0x37b016,'minLat':_0xef5a7f,'maxLat':_0x4cd1c0,'noData':_0x284cfb['getGDALNoData']()??_0x5c2116[_0x443e23(0x206)],'valueScale':_0x5c2116[_0x443e23(0x1df)]??0x1});};export const loadRasterGrid=(_0x52a048,_0x2daa06={})=>{const _0x353d06=_0x22d7;switch(_0x52a048['type']){case _0x353d06(0x1f5):return loadTifGrid(_0x52a048[_0x353d06(0x20a)],_0x2daa06);case'micaps4':return loadMicaps4Grid(_0x52a048['url'],_0x2daa06);case _0x353d06(0x202):return Promise[_0x353d06(0x204)](createGridFromParams(_0x52a048[_0x353d06(0x202)],_0x2daa06));}};const parseNumber=(_0x36a1ca,_0x228f26)=>{const _0x301730=_0x22d7,_0xf7ca90=Number(_0x36a1ca);if(!Number[_0x301730(0x1fc)](_0xf7ca90))throw new TypeError(_0x301730(0x1e1)+_0x228f26);return _0xf7ca90;},toFloat32Array=_0x146dcd=>{const _0x2bb58c=_0x22d7;if(_0x146dcd instanceof Float32Array)return _0x146dcd;return Float32Array[_0x2bb58c(0x200)](_0x146dcd);};export const validateRasterGrid=_0x4b8617=>{const _0x4dcae6=_0x22d7;if(!Number[_0x4dcae6(0x1e0)](_0x4b8617[_0x4dcae6(0x201)])||_0x4b8617[_0x4dcae6(0x201)]<=0x0||!Number['isInteger'](_0x4b8617[_0x4dcae6(0x209)])||_0x4b8617[_0x4dcae6(0x209)]<=0x0)throw new Error(_0x4dcae6(0x208));const _0x594d5=_0x4b8617[_0x4dcae6(0x201)]*_0x4b8617[_0x4dcae6(0x209)];if(_0x4b8617[_0x4dcae6(0x203)][_0x4dcae6(0x1e3)]!==_0x594d5)throw new Error(_0x4dcae6(0x20b)+_0x594d5+_0x4dcae6(0x1e4)+_0x4b8617[_0x4dcae6(0x203)][_0x4dcae6(0x1e3)]);validateRasterBounds(_0x4b8617);if(!Number[_0x4dcae6(0x1fc)](_0x4b8617[_0x4dcae6(0x1df)]))throw new TypeError(_0x4dcae6(0x20f));if(_0x4b8617[_0x4dcae6(0x206)]!==undefined&&!Number['isFinite'](_0x4b8617['noData'])&&!Number[_0x4dcae6(0x1ef)](_0x4b8617[_0x4dcae6(0x206)]))throw new TypeError(_0x4dcae6(0x1f8));return _0x4b8617;};const validateRasterBounds=_0x5d3e9f=>{const _0x96830b=_0x22d7,_0x2e4fc2=[_0x5d3e9f[_0x96830b(0x1fb)],_0x5d3e9f['maxLng'],_0x5d3e9f[_0x96830b(0x1f9)],_0x5d3e9f['maxLat']];if(!_0x2e4fc2[_0x96830b(0x1fe)](Number['isFinite']))throw new Error('栅格数据的\x20minLng,\x20maxLng,\x20minLat,\x20maxLat\x20必须是有限数字');if(_0x5d3e9f[_0x96830b(0x1fb)]>=_0x5d3e9f[_0x96830b(0x210)])throw new Error(_0x96830b(0x205));if(_0x5d3e9f['minLat']>=_0x5d3e9f[_0x96830b(0x1ed)])throw new Error('栅格数据的\x20minLat\x20必须小于\x20maxLat');};
1
+ (function(_0x3895dc,_0x50b4cf){const _0x1e2aee=_0x1ff4,_0x205d52=_0x3895dc();while(!![]){try{const _0x5b97ad=-parseInt(_0x1e2aee(0xd3))/0x1+-parseInt(_0x1e2aee(0xc9))/0x2+parseInt(_0x1e2aee(0xe8))/0x3*(-parseInt(_0x1e2aee(0xcf))/0x4)+-parseInt(_0x1e2aee(0xda))/0x5*(parseInt(_0x1e2aee(0xdd))/0x6)+-parseInt(_0x1e2aee(0xd0))/0x7+-parseInt(_0x1e2aee(0xd6))/0x8*(parseInt(_0x1e2aee(0xf0))/0x9)+parseInt(_0x1e2aee(0xe4))/0xa;if(_0x5b97ad===_0x50b4cf)break;else _0x205d52['push'](_0x205d52['shift']());}catch(_0x319c6b){_0x205d52['push'](_0x205d52['shift']());}}}(_0x2e31,0xa24a6));function _0x2e31(){const _0x4cca69=['69702cNrhqR','map','params',',实际为','NaN','getImage','maxLng','37073010jRNBDp','toLowerCase','trim','栅格数据的\x20minLng\x20必须小于\x20maxLng','9gzkzwj','tif','slice','readRasters','max','栅格数据的\x20minLng,\x20maxLng,\x20minLat,\x20maxLat\x20必须是有限数字','isFinite','diamond','838548sIMoYz','from','micaps4','height','getBoundingBox','valueScale','minLng','gjLat','type','width','栅格数据的\x20noData\x20必须是有限数字或\x20NaN','栅格数据的\x20width\x20和\x20height\x20必须是正整数','栅格数据的\x20nx\x20和\x20ny\x20必须是正整数','getHeight','length','无法加载\x20MICAPS4\x20文件:\x20','values','MICAPS4字段解析失败:','flipY','resolve','getWidth','url','status','1551950orWYrt','getGDALNoData','isNaN','every','text','minLat','1278916udXblY','11256kximWe','maxLat','不支持的\x20MICAPS4\x20格式','688672SBUBig','栅格数据长度应为','noData','48WwhYVO','isInteger','split','栅格数据的\x20minLat\x20必须小于\x20maxLat','25xoqdkm','gjLng','min'];_0x2e31=function(){return _0x4cca69;};return _0x2e31();}import{fromUrl}from'geotiff';const MICAPS4_HEADER_SIZE=0x16;export const createGridFromParams=(_0xec8076,_0x572d7d={})=>{const _0x68824d=_0x1ff4;if(!Number[_0x68824d(0xd7)](_0xec8076['nx'])||_0xec8076['nx']<=0x0||!Number[_0x68824d(0xd7)](_0xec8076['ny'])||_0xec8076['ny']<=0x0)throw new Error(_0x68824d(0xbe));const _0x5fc26d=_0xec8076['nx']*_0xec8076['ny'];if(_0xec8076['values'][_0x68824d(0xc0)]!==_0x5fc26d)throw new Error(_0x68824d(0xd4)+_0x5fc26d+_0x68824d(0xe0)+_0xec8076[_0x68824d(0xc2)][_0x68824d(0xc0)]);const _0x2aaf51=new Float32Array(_0x5fc26d),_0x27464b=_0xec8076[_0x68824d(0xc4)]??_0x572d7d[_0x68824d(0xc4)]??![];for(let _0x2d49e3=0x0;_0x2d49e3<_0xec8076['ny'];_0x2d49e3+=0x1){const _0x414f1a=_0x27464b?_0xec8076['ny']-_0x2d49e3-0x1:_0x2d49e3;for(let _0x254de2=0x0;_0x254de2<_0xec8076['nx'];_0x254de2+=0x1){const _0x485083=_0x414f1a*_0xec8076['nx']+_0x254de2,_0x22b780=_0x2d49e3*_0xec8076['nx']+_0x254de2,_0x537777=Number(_0xec8076['values'][_0x485083]);_0x2aaf51[_0x22b780]=Number[_0x68824d(0xee)](_0x537777)?_0x537777:_0xec8076[_0x68824d(0xd5)]??Number[_0x68824d(0xe1)];}}const _0x503c42=_0xec8076[_0x68824d(0xf6)]+_0xec8076[_0x68824d(0xdb)]*(_0xec8076['nx']-0x1),_0x188106=_0xec8076['minLat']+_0xec8076[_0x68824d(0xf7)]*(_0xec8076['ny']-0x1);return validateRasterGrid({'values':_0x2aaf51,'width':_0xec8076['nx'],'height':_0xec8076['ny'],'minLng':Math[_0x68824d(0xdc)](_0xec8076[_0x68824d(0xf6)],_0x503c42),'maxLng':Math[_0x68824d(0xec)](_0xec8076[_0x68824d(0xf6)],_0x503c42),'minLat':Math[_0x68824d(0xdc)](_0xec8076[_0x68824d(0xce)],_0x188106),'maxLat':Math[_0x68824d(0xec)](_0xec8076[_0x68824d(0xce)],_0x188106),'noData':_0xec8076['noData']??_0x572d7d[_0x68824d(0xd5)],'valueScale':_0xec8076['valueScale']??_0x572d7d['valueScale']??0x1});};function _0x1ff4(_0x151675,_0x22674e){const _0x2e31c1=_0x2e31();return _0x1ff4=function(_0x1ff408,_0xc93fff){_0x1ff408=_0x1ff408-0xbe;let _0x41bf2b=_0x2e31c1[_0x1ff408];return _0x41bf2b;},_0x1ff4(_0x151675,_0x22674e);}export const parseMicaps4Text=(_0x26885c,_0x8fde54={})=>{const _0x151296=_0x1ff4,_0x310176=_0x26885c[_0x151296(0xe6)]()[_0x151296(0xd8)](/\s+/);if(_0x310176[0x0][_0x151296(0xe5)]()!==_0x151296(0xef)||_0x310176[0x1]!=='4')throw new Error(_0x151296(0xd2));return createGridFromParams({'values':_0x310176[_0x151296(0xea)](MICAPS4_HEADER_SIZE)[_0x151296(0xde)](Number),'nx':parseNumber(_0x310176[0xf],'nx'),'ny':parseNumber(_0x310176[0x10],'ny'),'minLng':parseNumber(_0x310176[0xb],'minLng'),'minLat':parseNumber(_0x310176[0xd],_0x151296(0xce)),'gjLng':parseNumber(_0x310176[0x9],_0x151296(0xdb)),'gjLat':parseNumber(_0x310176[0xa],_0x151296(0xf7)),'flipY':_0x8fde54['flipY']??!![],'noData':_0x8fde54['noData'],'valueScale':_0x8fde54[_0x151296(0xf5)]});};export const loadMicaps4Grid=async(_0x494f92,_0x536c6d={})=>{const _0x4af818=_0x1ff4,_0x142b6c=await fetch(_0x494f92);if(!_0x142b6c['ok'])throw new Error(_0x4af818(0xc1)+_0x142b6c[_0x4af818(0xc8)]+'\x20'+_0x142b6c['statusText']);return parseMicaps4Text(await _0x142b6c[_0x4af818(0xcd)](),_0x536c6d);};export const loadTifGrid=async(_0x1cc0c1,_0x5b945b={})=>{const _0x43ac5a=_0x1ff4,_0x438232=await fromUrl(_0x1cc0c1),_0x4c7053=await _0x438232[_0x43ac5a(0xe2)](),_0x1c0137=await _0x4c7053[_0x43ac5a(0xeb)]({'samples':[0x0],'interleave':!![]}),[_0xbb7ab7,_0x17c1f4,_0x381cd6,_0x11d11d]=_0x4c7053[_0x43ac5a(0xf4)]();return validateRasterGrid({'values':toFloat32Array(_0x1c0137),'width':_0x1c0137['width']??_0x4c7053[_0x43ac5a(0xc6)](),'height':_0x1c0137[_0x43ac5a(0xf3)]??_0x4c7053[_0x43ac5a(0xbf)](),'minLng':_0xbb7ab7,'maxLng':_0x381cd6,'minLat':_0x17c1f4,'maxLat':_0x11d11d,'noData':_0x4c7053[_0x43ac5a(0xca)]()??_0x5b945b[_0x43ac5a(0xd5)],'valueScale':_0x5b945b[_0x43ac5a(0xf5)]??0x1});};export const loadRasterGrid=(_0x126456,_0x3ccbd1={})=>{const _0x127b37=_0x1ff4;switch(_0x126456[_0x127b37(0xf8)]){case _0x127b37(0xe9):return loadTifGrid(_0x126456[_0x127b37(0xc7)],_0x3ccbd1);case _0x127b37(0xf2):return loadMicaps4Grid(_0x126456[_0x127b37(0xc7)],_0x3ccbd1);case _0x127b37(0xdf):return Promise[_0x127b37(0xc5)](createGridFromParams(_0x126456['params'],_0x3ccbd1));}};const parseNumber=(_0x10e654,_0xd5e5b0)=>{const _0x1871ff=_0x1ff4,_0x20f7e1=Number(_0x10e654);if(!Number[_0x1871ff(0xee)](_0x20f7e1))throw new TypeError(_0x1871ff(0xc3)+_0xd5e5b0);return _0x20f7e1;},toFloat32Array=_0x4f243e=>{const _0x2cdd03=_0x1ff4;if(_0x4f243e instanceof Float32Array)return _0x4f243e;return Float32Array[_0x2cdd03(0xf1)](_0x4f243e);};export const validateRasterGrid=_0x2f0ba4=>{const _0x485af6=_0x1ff4;if(!Number[_0x485af6(0xd7)](_0x2f0ba4[_0x485af6(0xf9)])||_0x2f0ba4[_0x485af6(0xf9)]<=0x0||!Number[_0x485af6(0xd7)](_0x2f0ba4[_0x485af6(0xf3)])||_0x2f0ba4['height']<=0x0)throw new Error(_0x485af6(0xfb));const _0x5db832=_0x2f0ba4[_0x485af6(0xf9)]*_0x2f0ba4[_0x485af6(0xf3)];if(_0x2f0ba4['values']['length']!==_0x5db832)throw new Error('栅格数据长度应为'+_0x5db832+',实际为'+_0x2f0ba4[_0x485af6(0xc2)][_0x485af6(0xc0)]);validateRasterBounds(_0x2f0ba4);if(!Number[_0x485af6(0xee)](_0x2f0ba4[_0x485af6(0xf5)]))throw new TypeError('栅格数据的\x20valueScale\x20必须是有限数字');if(_0x2f0ba4[_0x485af6(0xd5)]!==undefined&&!Number['isFinite'](_0x2f0ba4[_0x485af6(0xd5)])&&!Number[_0x485af6(0xcb)](_0x2f0ba4[_0x485af6(0xd5)]))throw new TypeError(_0x485af6(0xfa));return _0x2f0ba4;};const validateRasterBounds=_0x5b1a52=>{const _0x1a8817=_0x1ff4,_0x1c5f43=[_0x5b1a52[_0x1a8817(0xf6)],_0x5b1a52[_0x1a8817(0xe3)],_0x5b1a52[_0x1a8817(0xce)],_0x5b1a52[_0x1a8817(0xd1)]];if(!_0x1c5f43[_0x1a8817(0xcc)](Number[_0x1a8817(0xee)]))throw new Error(_0x1a8817(0xed));if(_0x5b1a52[_0x1a8817(0xf6)]>=_0x5b1a52[_0x1a8817(0xe3)])throw new Error(_0x1a8817(0xe7));if(_0x5b1a52['minLat']>=_0x5b1a52['maxLat'])throw new Error(_0x1a8817(0xd9));};