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,13 @@
1
+ import type { RasterRendererCreateOptions, RasterColorStopInput } from '../raster-overlay/rasterTypes';
2
+ /** WebGPU 地理瓦片渲染器配置。 */
3
+ export type WebgpuRasterTileRendererOptions = RasterRendererCreateOptions<RasterColorStopInput>;
4
+ /** Cesium GeographicTilingScheme 使用的瓦片请求。 */
5
+ export interface GeographicRasterTileRequest {
6
+ x: number;
7
+ y: number;
8
+ level: number;
9
+ width?: number;
10
+ height?: number;
11
+ padding?: number;
12
+ signal?: AbortSignal;
13
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,29 @@
1
+ import type { RasterColorMode, RasterColorRange, RasterColorStopInput, RasterGrid, RasterSampleMode } from '../raster-overlay/rasterTypes';
2
+ import type { ClipMode } from '../shared/coverage';
3
+ import type { PolygonMeshInput } from '../shared/polygon';
4
+ import type { GeographicRasterTileRequest, WebgpuRasterTileRendererOptions } from './types';
5
+ /** 将规则栅格绘制为 Cesium GeographicTilingScheme 使用的透明瓦片。 */
6
+ export declare class WebgpuRasterTileRenderer {
7
+ private readonly renderer;
8
+ private canvas;
9
+ private initializationPromise;
10
+ private renderQueue;
11
+ private destroyed;
12
+ constructor(options: WebgpuRasterTileRendererOptions);
13
+ setGrid(grid: RasterGrid): void;
14
+ setColorStops(colorStops: RasterColorStopInput[]): void;
15
+ setColorRange(colorRange: RasterColorRange | null): void;
16
+ setOpacity(opacity: number): void;
17
+ setColorMode(colorMode: RasterColorMode): void;
18
+ setSampleMode(sampleMode: RasterSampleMode): void;
19
+ setClip(data: PolygonMeshInput | null, mode?: ClipMode): void;
20
+ setClipMode(mode: ClipMode): void;
21
+ renderTile(request: GeographicRasterTileRequest): Promise<HTMLCanvasElement>;
22
+ destroy(): void;
23
+ private renderTileNow;
24
+ private captureTileCanvas;
25
+ private ensureInitialized;
26
+ private createViewport;
27
+ private validateRequest;
28
+ private createAbortError;
29
+ }
@@ -0,0 +1 @@
1
+ const _0x2a5932=_0x14b5;(function(_0x4f604b,_0x42b4d8){const _0x30872e=_0x14b5,_0x1c03d1=_0x4f604b();while(!![]){try{const _0x4e0a16=-parseInt(_0x30872e(0x174))/0x1+parseInt(_0x30872e(0x16c))/0x2*(parseInt(_0x30872e(0x15b))/0x3)+-parseInt(_0x30872e(0x15a))/0x4+-parseInt(_0x30872e(0x180))/0x5+parseInt(_0x30872e(0x163))/0x6*(-parseInt(_0x30872e(0x15e))/0x7)+parseInt(_0x30872e(0x171))/0x8*(-parseInt(_0x30872e(0x173))/0x9)+parseInt(_0x30872e(0x159))/0xa;if(_0x4e0a16===_0x42b4d8)break;else _0x1c03d1['push'](_0x1c03d1['shift']());}catch(_0x2e2843){_0x1c03d1['push'](_0x1c03d1['shift']());}}}(_0x516d,0xf382d));import{normalizeColorStops}from'../raster-overlay/color';import{RasterRenderState,WebgpuRasterRenderer}from'../raster-overlay/rendering';function _0x516d(){const _0x16dfd9=['937169Whwluf','瓦片宽高必须是正整数。','canvas','瓦片\x20padding\x20必须是非负整数。','无法创建用于\x20Cesium\x20瓦片快照的二维画布。','EPSILON','createAbortError','width','setColorMode','AbortError','setClipMode','render','677635mQSjRM','setSampleMode','signal','createViewport','renderQueue','clip','initialize','level','瓦片\x20x\x20和\x20y\x20必须是非负整数。','setColorRange','colorMode','reject','data','setOpacity','destroyed','已销毁的\x20WebGPU\x20栅格瓦片渲染器不能初始化。','renderTile','close','createElement','renderer','aborted','opacity','renderTileNow','validateRequest','height','captureTileCanvas','setClip','已销毁的\x20WebGPU\x20栅格瓦片渲染器不能继续绘制。','47875960zZbMwK','4378752FnHxlf','6HvyBwh','getContext','padding','8409163cLQRZd','setGrid','mode','sampleMode','colorRange','6LJEcaC','地理瓦片的宽高必须使用相同像素缩放比例。','resolve','step','WebGPU\x20栅格瓦片请求已取消。','drawImage','setColorStops','isInteger','initializationPromise','216122UkuINa','colorStops','destroy','epsg4326','瓦片层级必须是非负整数。','1275208FkHiWT','then','36TtxAiM'];_0x516d=function(){return _0x16dfd9;};return _0x516d();}const CESIUM_GEOGRAPHIC_TILE_SIZE=0x100;function _0x14b5(_0x1ec931,_0x532f74){const _0x516dd3=_0x516d();return _0x14b5=function(_0x14b5c6,_0x151bab){_0x14b5c6=_0x14b5c6-0x159;let _0x572fbd=_0x516dd3[_0x14b5c6];return _0x572fbd;},_0x14b5(_0x1ec931,_0x532f74);}export class WebgpuRasterTileRenderer{['renderer'];[_0x2a5932(0x176)]=null;[_0x2a5932(0x16b)]=null;['renderQueue']=Promise[_0x2a5932(0x165)]();[_0x2a5932(0x18e)]=![];constructor(_0x3fd5b2){const _0x2247bb=_0x2a5932,_0x27e31c=new RasterRenderState();_0x27e31c[_0x2247bb(0x15f)](_0x3fd5b2['grid']),_0x27e31c[_0x2247bb(0x169)](normalizeColorStops(_0x3fd5b2[_0x2247bb(0x16d)])),_0x27e31c[_0x2247bb(0x189)](_0x3fd5b2[_0x2247bb(0x162)]??null),_0x27e31c[_0x2247bb(0x18d)](_0x3fd5b2[_0x2247bb(0x195)]??0x1),_0x27e31c[_0x2247bb(0x17c)](_0x3fd5b2[_0x2247bb(0x18a)]??_0x2247bb(0x166)),_0x27e31c[_0x2247bb(0x181)](_0x3fd5b2[_0x2247bb(0x161)]??'interpolate');if(_0x3fd5b2[_0x2247bb(0x185)])_0x27e31c[_0x2247bb(0x19a)](_0x3fd5b2[_0x2247bb(0x185)][_0x2247bb(0x18c)],_0x3fd5b2[_0x2247bb(0x185)][_0x2247bb(0x160)]??'direct');this[_0x2247bb(0x193)]=new WebgpuRasterRenderer(_0x27e31c);}[_0x2a5932(0x15f)](_0x18b7cd){const _0x281a66=_0x2a5932;this[_0x281a66(0x193)]['setGrid'](_0x18b7cd);}[_0x2a5932(0x169)](_0xf5822b){const _0xcb7a3=_0x2a5932;this[_0xcb7a3(0x193)][_0xcb7a3(0x169)](normalizeColorStops(_0xf5822b));}[_0x2a5932(0x189)](_0x3dc540){const _0x4a7fda=_0x2a5932;this[_0x4a7fda(0x193)]['setColorRange'](_0x3dc540);}['setOpacity'](_0x308e97){const _0x2bd28e=_0x2a5932;this[_0x2bd28e(0x193)][_0x2bd28e(0x18d)](_0x308e97);}['setColorMode'](_0x586d60){this['renderer']['setColorMode'](_0x586d60);}[_0x2a5932(0x181)](_0x108e8a){const _0x2041a0=_0x2a5932;this[_0x2041a0(0x193)][_0x2041a0(0x181)](_0x108e8a);}[_0x2a5932(0x19a)](_0x4479bc,_0x17a99b){const _0x2a0e7b=_0x2a5932;this[_0x2a0e7b(0x193)][_0x2a0e7b(0x19a)](_0x4479bc,_0x17a99b);}[_0x2a5932(0x17e)](_0x20ca6a){const _0x5e4c69=_0x2a5932;this[_0x5e4c69(0x193)][_0x5e4c69(0x17e)](_0x20ca6a);}[_0x2a5932(0x190)](_0x379289){const _0xb72c32=_0x2a5932;if(_0x379289[_0xb72c32(0x182)]?.[_0xb72c32(0x194)])return Promise[_0xb72c32(0x18b)](this[_0xb72c32(0x17a)]());const _0x4504f2=this[_0xb72c32(0x184)][_0xb72c32(0x172)](()=>this[_0xb72c32(0x196)](_0x379289));return this[_0xb72c32(0x184)]=_0x4504f2['then'](()=>undefined,()=>undefined),_0x4504f2;}[_0x2a5932(0x16e)](){const _0x3eeb4e=_0x2a5932;if(this['destroyed'])return;this[_0x3eeb4e(0x18e)]=!![],this[_0x3eeb4e(0x193)][_0x3eeb4e(0x16e)](),this[_0x3eeb4e(0x176)]=null,this[_0x3eeb4e(0x16b)]=null;}async[_0x2a5932(0x196)](_0x3bd440){const _0x4e26b0=_0x2a5932;this[_0x4e26b0(0x197)](_0x3bd440);if(_0x3bd440['signal']?.[_0x4e26b0(0x194)])throw this[_0x4e26b0(0x17a)]();await this['ensureInitialized']();if(this[_0x4e26b0(0x18e)])throw new Error(_0x4e26b0(0x19b));if(_0x3bd440[_0x4e26b0(0x182)]?.[_0x4e26b0(0x194)])throw this['createAbortError']();const _0x3f99a0=_0x3bd440[_0x4e26b0(0x17b)]??CESIUM_GEOGRAPHIC_TILE_SIZE,_0x470779=_0x3bd440[_0x4e26b0(0x198)]??CESIUM_GEOGRAPHIC_TILE_SIZE,_0x1a61b1=_0x3bd440[_0x4e26b0(0x15d)]??0x0;this[_0x4e26b0(0x193)][_0x4e26b0(0x17f)](this[_0x4e26b0(0x183)](_0x3bd440,_0x3f99a0,_0x470779,_0x1a61b1));const _0x2c06ee=await this[_0x4e26b0(0x199)](_0x3f99a0+_0x1a61b1*0x2,_0x470779+_0x1a61b1*0x2);if(_0x3bd440[_0x4e26b0(0x182)]?.[_0x4e26b0(0x194)])throw this[_0x4e26b0(0x17a)]();return _0x2c06ee;}async[_0x2a5932(0x199)](_0x1364bf,_0x20a250){const _0x37674c=_0x2a5932,_0x38b47a=await this['renderer']['captureImageBitmap'](),_0x10dab3=document[_0x37674c(0x192)](_0x37674c(0x176));_0x10dab3['width']=_0x1364bf,_0x10dab3[_0x37674c(0x198)]=_0x20a250;const _0x4107f4=_0x10dab3[_0x37674c(0x15c)]('2d');if(!_0x4107f4){_0x38b47a[_0x37674c(0x191)]();throw new Error(_0x37674c(0x178));}return _0x4107f4[_0x37674c(0x168)](_0x38b47a,0x0,0x0),_0x38b47a[_0x37674c(0x191)](),_0x10dab3;}async['ensureInitialized'](){const _0x535536=_0x2a5932;if(this[_0x535536(0x18e)])throw new Error(_0x535536(0x18f));if(this['initializationPromise'])return this['initializationPromise'];const _0x1efbea=document[_0x535536(0x192)]('canvas');return this[_0x535536(0x176)]=_0x1efbea,this['initializationPromise']=this['renderer'][_0x535536(0x186)](_0x1efbea,_0x535536(0x16f)),this[_0x535536(0x16b)];}[_0x2a5932(0x183)](_0xcfa7d,_0x29005f,_0x269027,_0x149437){const _0x32bf60=_0x2a5932,_0x3929cd=_0x29005f/CESIUM_GEOGRAPHIC_TILE_SIZE,_0x48455a=_0x269027/CESIUM_GEOGRAPHIC_TILE_SIZE;if(Math['abs'](_0x3929cd-_0x48455a)>Number[_0x32bf60(0x179)])throw new Error(_0x32bf60(0x164));const _0x56f91a=_0x149437/_0x3929cd;return{'canvasWidth':_0x29005f+_0x149437*0x2,'canvasHeight':_0x269027+_0x149437*0x2,'cssWidth':CESIUM_GEOGRAPHIC_TILE_SIZE+_0x56f91a*0x2,'cssHeight':CESIUM_GEOGRAPHIC_TILE_SIZE+_0x56f91a*0x2,'devicePixelRatio':_0x3929cd,'zoom':_0xcfa7d[_0x32bf60(0x187)],'worldTopLeftX':_0xcfa7d['x']*CESIUM_GEOGRAPHIC_TILE_SIZE-_0x56f91a,'worldTopLeftY':_0xcfa7d['y']*CESIUM_GEOGRAPHIC_TILE_SIZE-_0x56f91a};}[_0x2a5932(0x197)](_0x519514){const _0x4e0be5=_0x2a5932,_0x4fab70=_0x519514[_0x4e0be5(0x17b)]??CESIUM_GEOGRAPHIC_TILE_SIZE,_0x222280=_0x519514[_0x4e0be5(0x198)]??CESIUM_GEOGRAPHIC_TILE_SIZE,_0x119cc5=_0x519514[_0x4e0be5(0x15d)]??0x0;if(!Number['isInteger'](_0x519514['x'])||_0x519514['x']<0x0||!Number['isInteger'](_0x519514['y'])||_0x519514['y']<0x0)throw new Error(_0x4e0be5(0x188));if(!Number[_0x4e0be5(0x16a)](_0x519514[_0x4e0be5(0x187)])||_0x519514[_0x4e0be5(0x187)]<0x0)throw new Error(_0x4e0be5(0x170));if(!Number[_0x4e0be5(0x16a)](_0x4fab70)||_0x4fab70<=0x0||!Number[_0x4e0be5(0x16a)](_0x222280)||_0x222280<=0x0)throw new Error(_0x4e0be5(0x175));if(!Number[_0x4e0be5(0x16a)](_0x119cc5)||_0x119cc5<0x0)throw new Error(_0x4e0be5(0x177));}[_0x2a5932(0x17a)](){const _0x37e732=_0x2a5932;return new DOMException(_0x37e732(0x167),_0x37e732(0x17d));}}
@@ -1,7 +1,7 @@
1
1
  import type { FeatureCollection, Polygon, MultiPolygon } from 'geojson';
2
2
  import type { IReadFileM4, ReadConfig, ParamsConfig, JSONData, CanvasOptions, Point } from './types';
3
3
  import type * as L from 'leaflet';
4
- export declare class readFileM4 implements IReadFileM4 {
4
+ export declare class ReadFileM4 implements IReadFileM4 {
5
5
  filePath: string;
6
6
  nx: number;
7
7
  ny: number;
@@ -93,4 +93,4 @@ export declare class readFileM4 implements IReadFileM4 {
93
93
  private getAllGeo;
94
94
  private createCanvas;
95
95
  }
96
- export default readFileM4;
96
+ export default ReadFileM4;
package/dist/readFile.js CHANGED
@@ -1 +1 @@
1
- function _0x5af1(_0x1d1821,_0x4909a8){const _0x8a8e75=_0x8a8e();return _0x5af1=function(_0x5af100,_0x1a3cf1){_0x5af100=_0x5af100-0x1da;let _0x24a00a=_0x8a8e75[_0x5af100];return _0x24a00a;},_0x5af1(_0x1d1821,_0x4909a8);}const _0x50272d=_0x5af1;(function(_0x2a0da2,_0x18f932){const _0x44e6e5=_0x5af1,_0x33aa96=_0x2a0da2();while(!![]){try{const _0x5016ff=-parseInt(_0x44e6e5(0x21f))/0x1*(parseInt(_0x44e6e5(0x215))/0x2)+-parseInt(_0x44e6e5(0x244))/0x3+-parseInt(_0x44e6e5(0x1f3))/0x4+parseInt(_0x44e6e5(0x1e7))/0x5*(parseInt(_0x44e6e5(0x239))/0x6)+-parseInt(_0x44e6e5(0x1db))/0x7*(-parseInt(_0x44e6e5(0x228))/0x8)+-parseInt(_0x44e6e5(0x249))/0x9*(parseInt(_0x44e6e5(0x227))/0xa)+parseInt(_0x44e6e5(0x24c))/0xb*(parseInt(_0x44e6e5(0x1ec))/0xc);if(_0x5016ff===_0x18f932)break;else _0x33aa96['push'](_0x33aa96['shift']());}catch(_0x5a5cba){_0x33aa96['push'](_0x33aa96['shift']());}}}(_0x8a8e,0xaef0e));function _0x8a8e(){const _0x339495=['values','coordinates','gjLng','beginPath','1962336CyDRFC','fillRect','onerror','Feature','maxVal','latLngToLayerPoint','drawImage','slice','ceil','times','forEach','error','#FFFFFF','buildGridCanvasClipByJson','height','features','start','getMinMax','indexOf','width','module','from','getIsoBandsFast','getAllGeo','fillStyle','replace','getIsoBandsCanvas','_maskCacheKey','hardwareConcurrency','geometry','minVal','properties','lng','number','622RxiKyC','isArray','stroke','setParams','rgba(255,255,255,0)','type','area','buildGridCanvas','lineTo','gjLat','3391EJDEAk','convertTemKtoC','createCanvas','ring','getJsonData','flat','minLng','fill','2070730NbnIsc','1536tzVxlw','string','closePath','save','clipDataByJson','getBreaks','Polygon','pixelRatio','strokeStyle','lineWidth','moveTo','getContext','buildGridLineCanvas','该时次文件数据异常','trim','sort','toNumber','5998602kYbaYw','style','min','lat','getIsoBandsCanvasByMap','minLat','value','_maskCache','canvas','round','push','4096785OADTiH','chunkArray','filePath','split','size','45XPxsqR','clip','abs','110Intuna','restore','scale','all','getColorFast','1211KYPFUh','isNaN','map','postMessage','max','val','text','floor','plus','contours','onmessage','FeatureCollection','5EVDWEW','length','createElement','plusOffset','undefined','4355664OVRSnC','thresholds','rgba('];_0x8a8e=function(){return _0x339495;};return _0x8a8e();}import{contours}from'd3-contour';import{featureCollection as _0x4ab47c,point,polygon}from'@turf/helpers';import{booleanPointInPolygon}from'@turf/boolean-point-in-polygon';import _0x1b76e9 from'decimal.js';export class readFileM4{[_0x50272d(0x246)]='';['nx']=0x0;['ny']=0x0;[_0x50272d(0x225)]=0x0;[_0x50272d(0x23e)]=0x0;[_0x50272d(0x1f1)]=0x0;[_0x50272d(0x21e)]=0x0;[_0x50272d(0x1ef)]=[];[_0x50272d(0x1f7)]=-Infinity;[_0x50272d(0x211)]=Infinity;[_0x50272d(0x20e)]='';[_0x50272d(0x240)]=new Map();constructor(_0x53f0cd){const _0x5f3e7c=_0x50272d;this[_0x5f3e7c(0x246)]=_0x53f0cd||'';}async[_0x50272d(0x203)](_0x1c01e0){const _0x486a3b=_0x50272d,_0x40c2da=await fetch(this['filePath']);if(!_0x40c2da['ok'])return new Promise((_0x2de876,_0x460692)=>{_0x460692(new Error('该时次未获取到文件'));});const _0x2a9fe8=await _0x40c2da[_0x486a3b(0x1e1)](),_0x16a573=_0x2a9fe8[_0x486a3b(0x20c)](/\r\n/g,'\x0a')['replace'](/\r/g,'\x0a')[_0x486a3b(0x247)]('\x0a');if(_0x16a573[_0x486a3b(0x1e8)]<0x4)return new Promise((_0x5c8eb4,_0x36beea)=>{const _0x34ca78=_0x486a3b;_0x36beea(new Error(_0x34ca78(0x235)));});const _0x1420b8=(_0x16a573[0x1]??'')[_0x486a3b(0x236)]()[_0x486a3b(0x247)](/\s+/);let _0x1cd0da=0x2;while(_0x1420b8['length']<0x13){_0x1420b8[_0x486a3b(0x243)](...(_0x16a573[_0x1cd0da]??'')[_0x486a3b(0x236)]()['split'](/\s+/)),_0x1cd0da++;}this[_0x486a3b(0x1f1)]=Number(_0x1420b8[0x6]);const _0x38cda1=Number(_0x1420b8[0x8]),_0x2d4eca=Number(_0x1420b8[0xa]),_0x227414=Number(_0x1420b8[0xb]);this['nx']=Number(_0x1420b8[0xc]),this['ny']=Number(_0x1420b8[0xd]),this[_0x486a3b(0x225)]=_0x38cda1,this['minLat']=_0x2d4eca,this[_0x486a3b(0x21e)]=Math[_0x486a3b(0x24b)](Number(_0x1420b8[0x7]))*(_0x2d4eca>_0x227414?-0x1:0x1);const _0x4f4160=this['nx']*this['ny'];let _0x3a55fa=0x0;for(let _0x1655dc=_0x1cd0da;_0x1655dc<_0x16a573['length']&&_0x3a55fa<_0x4f4160;_0x1655dc++){const _0x114ba8=_0x16a573[_0x1655dc]?.['trim']()??'',_0x43c606=_0x114ba8['split'](/\s+/);if(!_0x43c606||_0x43c606['length']===0x0)continue;for(let _0x181f13=0x0;_0x181f13<_0x43c606[_0x486a3b(0x1e8)]&&_0x3a55fa<_0x4f4160;_0x181f13++){let _0x40545b=Number(_0x43c606[_0x181f13]);if(_0x1c01e0?.[_0x486a3b(0x220)])_0x40545b=new _0x1b76e9(_0x40545b)['minus'](272.15)[_0x486a3b(0x238)]();else _0x1c01e0?.[_0x486a3b(0x1ea)]&&(_0x40545b=new _0x1b76e9(_0x40545b)[_0x486a3b(0x1e3)](_0x1c01e0[_0x486a3b(0x1ea)])['toNumber']());this[_0x486a3b(0x1ef)][_0x486a3b(0x243)](_0x40545b),this[_0x486a3b(0x211)]=Math[_0x486a3b(0x23b)](this[_0x486a3b(0x211)],_0x40545b),this['maxVal']=Math[_0x486a3b(0x1df)](this[_0x486a3b(0x1f7)],_0x40545b),_0x3a55fa++;}}}[_0x50272d(0x218)](_0x2482ca,_0x34dcf4){const _0x16da8c=_0x50272d;this['nx']=_0x2482ca['nx'],this['ny']=_0x2482ca['ny'],this[_0x16da8c(0x225)]=_0x2482ca[_0x16da8c(0x225)],this[_0x16da8c(0x23e)]=_0x2482ca[_0x16da8c(0x23e)],this[_0x16da8c(0x1f1)]=_0x2482ca[_0x16da8c(0x1f1)],this[_0x16da8c(0x21e)]=_0x2482ca[_0x16da8c(0x21e)];if(_0x34dcf4?.[_0x16da8c(0x220)])for(let _0x5e5bb0=0x0;_0x5e5bb0<_0x2482ca[_0x16da8c(0x1ef)]['length'];_0x5e5bb0++){if(typeof _0x2482ca['values'][_0x5e5bb0]===_0x16da8c(0x1eb))continue;_0x2482ca[_0x16da8c(0x1ef)][_0x5e5bb0]=new _0x1b76e9(_0x2482ca['values'][_0x5e5bb0])['minus'](272.15)['toNumber']();}else{if(_0x34dcf4?.[_0x16da8c(0x1ea)])for(let _0x1cb3b8=0x0;_0x1cb3b8<_0x2482ca['values']['length'];_0x1cb3b8++){if(typeof _0x2482ca[_0x16da8c(0x1ef)][_0x1cb3b8]===_0x16da8c(0x1eb))continue;_0x2482ca['values'][_0x1cb3b8]=new _0x1b76e9(_0x2482ca['values'][_0x1cb3b8])[_0x16da8c(0x1e3)](_0x34dcf4[_0x16da8c(0x1ea)])[_0x16da8c(0x238)]();}else this[_0x16da8c(0x1ef)]=_0x2482ca[_0x16da8c(0x1ef)];}this[_0x16da8c(0x204)]();}[_0x50272d(0x209)](_0x3d1134){const _0x37491b=_0x50272d;if(this['values'][_0x37491b(0x1e8)]===0x0)return{'type':'FeatureCollection','features':[]};const _0x4a058f=[],_0x23425f=this['getAllGeo'](_0x3d1134),_0x44768f=new _0x1b76e9(this['minLng']),_0x242dfa=new _0x1b76e9(this['minLat']),_0x3df7b3=new _0x1b76e9(this[_0x37491b(0x1f1)]),_0x39e989=new _0x1b76e9(this[_0x37491b(0x21e)]);for(const _0x56a503 of _0x23425f){for(const _0x2cbaa5 of _0x56a503[_0x37491b(0x1f0)]){if(Array['isArray'](_0x2cbaa5))for(const _0x496a22 of _0x2cbaa5){_0x496a22[_0x37491b(0x1fd)](_0x131da4=>{const _0x36920f=_0x37491b,_0x4ac144=_0x131da4[0x0],_0x2cb2cf=_0x131da4[0x1];if(_0x4ac144==null||_0x2cb2cf==null||Number[_0x36920f(0x1dc)](_0x4ac144)||Number['isNaN'](_0x2cb2cf))return null;const _0x2e9083=_0x44768f[_0x36920f(0x1e3)](_0x3df7b3[_0x36920f(0x1fc)](_0x4ac144))[_0x36920f(0x238)](),_0x12b117=_0x242dfa[_0x36920f(0x1e3)](_0x39e989[_0x36920f(0x1fc)](_0x2cb2cf))[_0x36920f(0x238)]();_0x131da4[0x0]=_0x2e9083,_0x131da4[0x1]=_0x12b117;});}}_0x4a058f['push']({'type':_0x37491b(0x1f6),'properties':{'z':_0x56a503[_0x37491b(0x23f)]},'geometry':_0x56a503});}return{'type':'FeatureCollection','features':_0x4a058f};}[_0x50272d(0x20d)](_0x2fc41a,_0x499286,_0x532e5f){const _0x4c7d5f=_0x50272d;if(this['values'][_0x4c7d5f(0x1e8)]===0x0)return null;const _0x80d786=this[_0x4c7d5f(0x20a)](_0x2fc41a),{canvas:_0xa7e3e3,ctx:_0x369000,width:_0xd2c696,height:_0x30eca9}=this[_0x4c7d5f(0x221)](_0x532e5f);if(!_0x369000)return null;for(const _0x47d161 of _0x80d786){const _0x324db7=_0x47d161['value'];_0x369000[_0x4c7d5f(0x1f2)]();for(const _0x4add77 of _0x47d161[_0x4c7d5f(0x1f0)]){if(Array[_0x4c7d5f(0x216)](_0x4add77))for(const _0x5eccce of _0x4add77){_0x5eccce[_0x4c7d5f(0x1fd)]((_0x141f83,_0x472934)=>{const _0x4ffd07=_0x4c7d5f,_0x181827=_0x141f83[0x0],_0x96759c=_0x141f83[0x1];if(_0x181827==null||_0x96759c==null||Number[_0x4ffd07(0x1dc)](_0x181827)||Number[_0x4ffd07(0x1dc)](_0x96759c))return null;const _0x2d1f5d=_0x181827/this['nx']*_0xd2c696,_0x3c68b4=this[_0x4ffd07(0x21e)]<0x0?_0x96759c/this['ny']*_0x30eca9:_0x30eca9-_0x96759c/this['ny']*_0x30eca9;_0x472934===0x0?_0x369000['moveTo'](_0x2d1f5d,_0x3c68b4):_0x369000['lineTo'](_0x2d1f5d,_0x3c68b4);});}}_0x369000[_0x4c7d5f(0x22a)](),_0x369000[_0x4c7d5f(0x20b)]=this[_0x4c7d5f(0x1da)](_0x324db7,_0x2fc41a,_0x499286),_0x369000[_0x4c7d5f(0x226)]();}return _0xa7e3e3;}[_0x50272d(0x23d)](_0x1a6282,_0x3acdd9,_0xc64157,_0x303283){const _0x4adf93=_0x50272d;if(this[_0x4adf93(0x1ef)][_0x4adf93(0x1e8)]===0x0)return null;if(!_0xc64157)return null;const _0x547437=this[_0x4adf93(0x225)],_0x195b36=this[_0x4adf93(0x23e)],_0x231b08=_0x547437+this['nx']*this[_0x4adf93(0x1f1)],_0x5282cf=_0x195b36+this['ny']*this[_0x4adf93(0x21e)],_0x5ae995=_0xc64157[_0x4adf93(0x1f8)]([_0x5282cf,_0x547437]),_0x39654f=_0xc64157[_0x4adf93(0x1f8)]([_0x195b36,_0x231b08]),_0x6d07e9=Math[_0x4adf93(0x1df)](0x1,Math[_0x4adf93(0x242)](_0x39654f['x']-_0x5ae995['x'])),_0x4595f4=Math[_0x4adf93(0x1df)](0x1,Math[_0x4adf93(0x242)](_0x39654f['y']-_0x5ae995['y'])),_0x2c7f35=_0x303283?.[_0x4adf93(0x22f)]||(typeof devicePixelRatio!=='undefined'?devicePixelRatio:0x1),_0x4858b4=document[_0x4adf93(0x1e9)](_0x4adf93(0x241)),_0x15f429=_0x4858b4['getContext']('2d');_0x4858b4[_0x4adf93(0x206)]=Math[_0x4adf93(0x1df)](0x1,Math['floor'](_0x6d07e9*_0x2c7f35)),_0x4858b4[_0x4adf93(0x201)]=Math[_0x4adf93(0x1df)](0x1,Math[_0x4adf93(0x1e2)](_0x4595f4*_0x2c7f35)),_0x4858b4['style'][_0x4adf93(0x206)]=_0x6d07e9+'px',_0x4858b4[_0x4adf93(0x23a)][_0x4adf93(0x201)]=_0x4595f4+'px';if(_0x15f429)_0x15f429[_0x4adf93(0x24e)](_0x2c7f35,_0x2c7f35);const _0x2d31c7=this[_0x4adf93(0x20a)](_0x1a6282);for(const _0xd17d30 of _0x2d31c7){const _0x3c0f58=_0xd17d30[_0x4adf93(0x23f)];if(!_0xd17d30[_0x4adf93(0x1f0)])continue;_0x15f429[_0x4adf93(0x1f2)]();for(const _0x274531 of _0xd17d30[_0x4adf93(0x1f0)]){if(Array[_0x4adf93(0x216)](_0x274531))for(const _0x2b4bf2 of _0x274531){_0x2b4bf2[_0x4adf93(0x1fd)]((_0x32aac3,_0xab859f)=>{const _0x170840=_0x4adf93,_0x446e7f=_0x32aac3[0x0],_0x41199d=_0x32aac3[0x1];if(_0x446e7f==null||_0x41199d==null||Number[_0x170840(0x1dc)](_0x446e7f)||Number[_0x170840(0x1dc)](_0x41199d))return;const _0x2d612b=_0x547437+_0x446e7f*this[_0x170840(0x1f1)],_0x2da1fc=_0x195b36+_0x41199d*this[_0x170840(0x21e)],_0x4119a5=_0xc64157[_0x170840(0x1f8)]([_0x2da1fc,_0x2d612b]),_0x231f02=_0x4119a5['x']-_0x5ae995['x'],_0x54b63c=_0x4119a5['y']-_0x5ae995['y'];if(_0xab859f===0x0)_0x15f429[_0x170840(0x232)](_0x231f02,_0x54b63c);else _0x15f429[_0x170840(0x21d)](_0x231f02,_0x54b63c);});}}_0x15f429[_0x4adf93(0x22a)](),_0x15f429['fillStyle']=this[_0x4adf93(0x1da)](_0x3c0f58,_0x1a6282,_0x3acdd9),_0x15f429['fill']();}return _0x4858b4;}[_0x50272d(0x1da)](_0x288081,_0x2f38c5,_0x3b28ef){const _0xbbb0fc=_0x50272d;let _0x35cbfe=_0xbbb0fc(0x219);const _0xd6bdaa=_0x2f38c5[_0xbbb0fc(0x205)](_0x288081);if(typeof _0x3b28ef[_0xd6bdaa]==_0xbbb0fc(0x229))_0x35cbfe=_0x3b28ef[_0xd6bdaa];else _0xd6bdaa!==-0x1&&(_0x35cbfe=_0xbbb0fc(0x1ee)+_0x3b28ef[_0xd6bdaa][0x0]+','+_0x3b28ef[_0xd6bdaa][0x1]+','+_0x3b28ef[_0xd6bdaa][0x2]+','+(_0x3b28ef[_0xd6bdaa][0x3]||_0x3b28ef[_0xd6bdaa][0x3]===0x0?_0x3b28ef[_0xd6bdaa][0x3]:0x1)+')');return _0x35cbfe;}async[_0x50272d(0x22c)](_0x543e2a,_0x4d3eea,_0x500341,_0xd7cbb7){const _0x3243f6=_0x50272d,_0x2a4160=_0xd7cbb7||(navigator[_0x3243f6(0x20f)]-0x4||0x1),_0x2dd72e=Math[_0x3243f6(0x23b)](_0x2a4160,Math[_0x3243f6(0x1df)](0x1,_0x543e2a[_0x3243f6(0x202)][_0x3243f6(0x1e8)])),_0x16e467=this['chunkArray'](_0x543e2a['features'],_0x2dd72e),_0x4db3a1=[],_0x454172=_0x16e467['map'](_0x567d9a=>{const _0x3e83db=_0x3243f6,_0x44aa3b=new Worker(_0x500341,{'type':_0x3e83db(0x207)});return _0x4db3a1[_0x3e83db(0x243)](_0x44aa3b),new Promise(_0x50ee91=>{const _0x7bd97b=_0x3e83db;_0x44aa3b[_0x7bd97b(0x1e5)]=_0xe5a464=>{const _0xef593f=_0x7bd97b;_0x50ee91(_0xe5a464['data'][_0xef593f(0x202)]);},_0x44aa3b[_0x7bd97b(0x1f5)]=_0x416b15=>{const _0x379b80=_0x7bd97b;console[_0x379b80(0x1fe)](_0x416b15);},_0x44aa3b[_0x7bd97b(0x1de)]({'isoChunk':_0x567d9a,'gansuFeatures':_0x4d3eea[_0x7bd97b(0x202)]});});}),_0x12dd7d=await Promise[_0x3243f6(0x24f)](_0x454172);_0x4db3a1[_0x3243f6(0x1fd)](_0x494a8e=>_0x494a8e['terminate']());const _0x559614=_0x12dd7d[_0x3243f6(0x224)]();return _0x4ab47c(_0x559614);}[_0x50272d(0x223)](){const _0x3adff9=_0x50272d,_0x359ce6=Array[_0x3adff9(0x208)]({'length':this['nx']});for(let _0x374c66=0x0;_0x374c66<this['nx'];_0x374c66++){_0x359ce6[_0x374c66]=new _0x1b76e9(this[_0x3adff9(0x225)])[_0x3adff9(0x1e3)](new _0x1b76e9(_0x374c66)[_0x3adff9(0x1fc)](this[_0x3adff9(0x1f1)]))[_0x3adff9(0x238)]();}const _0x2b5f6e=Array[_0x3adff9(0x208)]({'length':this['ny']});for(let _0x395dbc=0x0;_0x395dbc<this['ny'];_0x395dbc++){_0x2b5f6e[_0x395dbc]=new _0x1b76e9(this[_0x3adff9(0x23e)])[_0x3adff9(0x1e3)](new _0x1b76e9(_0x395dbc)['times'](this[_0x3adff9(0x21e)]))[_0x3adff9(0x238)]();}const _0x52a439=Array[_0x3adff9(0x208)]({'length':this['nx']*this['ny']});for(let _0x4605ed=0x0;_0x4605ed<this[_0x3adff9(0x1ef)][_0x3adff9(0x1e8)];_0x4605ed++){const _0x341178=Math[_0x3adff9(0x1e2)](_0x4605ed/this['nx']),_0x40ac1e=_0x4605ed%this['nx'],_0x43977e=_0x359ce6[_0x40ac1e],_0x413084=_0x2b5f6e[_0x341178],_0xd42fcc=this['values'][_0x4605ed];_0x413084&&_0x43977e&&(_0x52a439[_0x4605ed]={'lng':_0x43977e,'lat':_0x413084,'val':_0xd42fcc});}return _0x52a439;}['getIsoBandsFastByMask'](_0x5b0ae9){const _0x4beba3=_0x50272d;if(this[_0x4beba3(0x1ef)][_0x4beba3(0x1e8)]===0x0)return{'type':_0x4beba3(0x1e6),'features':[]};const _0x8c0137=_0x5b0ae9&&_0x5b0ae9[_0x4beba3(0x1e8)]?_0x5b0ae9:this[_0x4beba3(0x22d)]();if(!_0x8c0137[_0x4beba3(0x1e8)])return{'type':_0x4beba3(0x1e6),'features':[]};const _0x3ade19=this[_0x4beba3(0x225)],_0x495b78=this[_0x4beba3(0x23e)],_0x4b0d5d=this[_0x4beba3(0x1f1)],_0x20bbd5=this[_0x4beba3(0x21e)],_0x5084e5=_0x386b1e=>{let _0x1d1180=0x0;for(let _0x2f5f31=0x0,_0x13daf4=_0x386b1e['length'];_0x2f5f31<_0x13daf4;_0x2f5f31++){const _0x229766=_0x386b1e[_0x2f5f31],_0x330f48=_0x386b1e[(_0x2f5f31+0x1)%_0x13daf4];if(!_0x229766||!_0x330f48)continue;_0x1d1180+=_0x229766[0x0]*_0x330f48[0x1]-_0x330f48[0x0]*_0x229766[0x1];}return _0x1d1180/0x2;},_0x4ee057=(_0x40c51f,_0x5b66d4)=>{const _0xde6098=_0x4beba3;if(!_0x40c51f)return![];const _0x122815=_0x40c51f[0x0],_0x11f2d8=_0x40c51f[0x1];let _0x5edac0=![];for(let _0x21c15b=0x0,_0x50a4b0=_0x5b66d4[_0xde6098(0x1e8)]-0x1;_0x21c15b<_0x5b66d4[_0xde6098(0x1e8)];_0x50a4b0=_0x21c15b++){const _0x33922b=_0x5b66d4[_0x21c15b][0x0],_0x218669=_0x5b66d4[_0x21c15b][0x1],_0x18c295=_0x5b66d4[_0x50a4b0][0x0],_0xfc231c=_0x5b66d4[_0x50a4b0][0x1],_0x1fa48e=_0x218669>_0x11f2d8!==_0xfc231c>_0x11f2d8&&_0x122815<(_0x18c295-_0x33922b)*(_0x11f2d8-_0x218669)/(_0xfc231c-_0x218669)+_0x33922b;if(_0x1fa48e)_0x5edac0=!_0x5edac0;}return _0x5edac0;},_0x6b50ae=_0x43250e=>{const _0x2ef45c=_0x4beba3,_0x2654ec=[];let _0x13aa2e=null,_0x508a24=null;for(let _0x1d0fdf=0x0;_0x1d0fdf<_0x43250e[_0x2ef45c(0x1e8)];_0x1d0fdf++){const _0x415e92=_0x43250e[_0x1d0fdf];if(!_0x415e92)continue;const _0x27ca59=_0x415e92[0x0],_0x3599b5=_0x415e92[0x1];if(_0x27ca59==null||_0x3599b5==null||Number[_0x2ef45c(0x1dc)](_0x27ca59)||Number[_0x2ef45c(0x1dc)](_0x3599b5))continue;const _0x189ff6=_0x3ade19+_0x27ca59*_0x4b0d5d,_0x3f8496=_0x495b78+_0x3599b5*_0x20bbd5;if(_0x13aa2e!==null&&_0x508a24!==null&&_0x13aa2e===_0x189ff6&&_0x508a24===_0x3f8496)continue;_0x2654ec['push']([_0x189ff6,_0x3f8496]),_0x13aa2e=_0x189ff6,_0x508a24=_0x3f8496;}if(!_0x2654ec[_0x2ef45c(0x1e8)])return _0x2654ec;const _0x47f58a=_0x2654ec[0x0],_0x3afa58=_0x2654ec[_0x2654ec[_0x2ef45c(0x1e8)]-0x1];if(_0x47f58a[0x0]!==_0x3afa58[0x0]||_0x47f58a[0x1]!==_0x3afa58[0x1])_0x2654ec['push']([_0x47f58a[0x0],_0x47f58a[0x1]]);return _0x2654ec;},_0x49b3c2=[],_0x11642e=_0x8c0137[_0x4beba3(0x1e8)]-0x1;for(let _0x7ef417=0x0;_0x7ef417<_0x8c0137[_0x4beba3(0x1e8)];_0x7ef417++){const _0x4d7b2e=_0x8c0137[_0x7ef417],_0x12d0aa=_0x7ef417<_0x11642e?_0x8c0137[_0x7ef417+0x1]:Infinity,_0x4ba622=new Array(this[_0x4beba3(0x1ef)][_0x4beba3(0x1e8)]);let _0x5a7403=![];for(let _0x330755=0x0;_0x330755<this[_0x4beba3(0x1ef)][_0x4beba3(0x1e8)];_0x330755++){const _0x178ae9=this[_0x4beba3(0x1ef)][_0x330755],_0x453a7e=_0x178ae9!=null&&_0x178ae9>=_0x4d7b2e&&_0x178ae9<_0x12d0aa?0x1:0x0;_0x4ba622[_0x330755]=_0x453a7e;if(_0x453a7e)_0x5a7403=!![];}if(!_0x5a7403)continue;const _0x13f007=contours()['size']([this['nx'],this['ny']])[_0x4beba3(0x1ed)]([0.5]),_0x216a2f=_0x13f007['contours']?_0x13f007[_0x4beba3(0x1e4)](_0x4ba622):_0x13f007(_0x4ba622);if(!_0x216a2f||!_0x216a2f[_0x4beba3(0x1e8)])continue;for(const _0x191b7c of _0x216a2f){const _0x14376e=_0x191b7c?.['coordinates'];if(!_0x14376e)continue;for(const _0x43ace4 of _0x14376e){let _0x13e0c6=[];if(Array['isArray'](_0x43ace4)&&_0x43ace4[_0x4beba3(0x1e8)]>0x0&&typeof _0x43ace4[0x0][0x0]===_0x4beba3(0x214))_0x13e0c6=[_0x43ace4];else{if(Array[_0x4beba3(0x216)](_0x43ace4))_0x13e0c6=_0x43ace4;else continue;}const _0x22f0e5=_0x13e0c6[_0x4beba3(0x1dd)](_0x12863a=>({'ring':_0x12863a,'area':Math[_0x4beba3(0x24b)](_0x5084e5(_0x12863a))}))['sort']((_0x512981,_0x5c9240)=>_0x5c9240[_0x4beba3(0x21b)]-_0x512981[_0x4beba3(0x21b)]),_0xb1044c=new Array(_0x22f0e5[_0x4beba3(0x1e8)])[_0x4beba3(0x226)](![]);for(let _0x5eae70=0x0;_0x5eae70<_0x22f0e5['length'];_0x5eae70++){if(_0xb1044c[_0x5eae70])continue;const _0x58ddc3=_0x22f0e5[_0x5eae70]['ring'];_0xb1044c[_0x5eae70]=!![];const _0x4e60d6=[];for(let _0x4e2152=0x0;_0x4e2152<_0x22f0e5[_0x4beba3(0x1e8)];_0x4e2152++){if(_0xb1044c[_0x4e2152])continue;const _0x3b05ae=_0x22f0e5[_0x4e2152][_0x4beba3(0x222)],_0x1218fb=_0x3b05ae[0x0];_0x1218fb&&_0x4ee057(_0x1218fb,_0x58ddc3)&&(_0x4e60d6[_0x4beba3(0x243)](_0x3b05ae),_0xb1044c[_0x4e2152]=!![]);}const _0x2f8dd4=_0x6b50ae(_0x58ddc3);if(_0x2f8dd4[_0x4beba3(0x1e8)]<0x4)continue;const _0xcce009=[];for(const _0x5b3b3f of _0x4e60d6){const _0x1f7700=_0x6b50ae(_0x5b3b3f);if(_0x1f7700[_0x4beba3(0x1e8)]>=0x4)_0xcce009['push'](_0x1f7700);}_0x49b3c2[_0x4beba3(0x243)]({'type':_0x4beba3(0x1f6),'properties':{'z':_0x4d7b2e},'geometry':{'type':_0x4beba3(0x22e),'coordinates':[_0x2f8dd4,..._0xcce009]}});}}}}return _0x49b3c2[_0x4beba3(0x237)]((_0x533806,_0x5383d4)=>Number(_0x533806['properties']?.['z']??0x0)-Number(_0x5383d4[_0x4beba3(0x212)]?.['z']??0x0)),{'type':'FeatureCollection','features':_0x49b3c2};}[_0x50272d(0x234)](_0x4e3cb1){const _0x4306bf=_0x50272d;if(this['nx']<=0x0||this['ny']<=0x0||this['gjLng']===0x0||this[_0x4306bf(0x21e)]===0x0)return null;const {canvas:_0x30bdc3,ctx:_0x485a26,width:_0x4bf90b,height:_0x3b3e17}=this[_0x4306bf(0x221)](_0x4e3cb1);if(!_0x485a26)return null;const _0x552025=_0x4bf90b/this['nx'],_0x9f742b=_0x3b3e17/this['ny'];_0x485a26[_0x4306bf(0x1f2)](),_0x485a26[_0x4306bf(0x230)]=_0x4e3cb1?.[_0x4306bf(0x230)]||_0x4306bf(0x1ff),_0x485a26[_0x4306bf(0x231)]=_0x4e3cb1?.['lineWidth']||0x1;for(let _0x406cdd=0x0;_0x406cdd<=this['nx'];_0x406cdd++){_0x485a26[_0x4306bf(0x232)](_0x552025*_0x406cdd,0x0),_0x485a26[_0x4306bf(0x21d)](_0x552025*_0x406cdd,_0x3b3e17);}for(let _0xa52045=0x0;_0xa52045<=this['ny'];_0xa52045++){_0x485a26[_0x4306bf(0x232)](0x0,_0x9f742b*_0xa52045),_0x485a26[_0x4306bf(0x21d)](_0x4bf90b,_0x9f742b*_0xa52045);}return _0x485a26[_0x4306bf(0x217)](),_0x485a26[_0x4306bf(0x22a)](),_0x30bdc3;}['buildGridCanvas'](_0x2ba74a,_0x5e6402,_0x5b00e9){const _0x1b4357=_0x50272d;if(this['nx']<=0x0||this['ny']<=0x0||this[_0x1b4357(0x1f1)]===0x0||this[_0x1b4357(0x21e)]===0x0)return null;const _0x184915=_0x2ba74a&&_0x2ba74a[_0x1b4357(0x1e8)]?_0x2ba74a:this['getBreaks'](),{canvas:_0x3f3713,ctx:_0x48c3fa,width:_0x16e242,height:_0x53fdba}=this[_0x1b4357(0x221)](_0x5b00e9);if(!_0x48c3fa)return null;const _0x38310c=_0x16e242/this['nx'],_0x4ef086=_0x53fdba/this['ny'],_0x4c879d=_0x35ceef=>{const _0x3fb28b=_0x1b4357;if(_0x35ceef==null||Number[_0x3fb28b(0x1dc)](_0x35ceef))return'rgba(0,0,0,0)';for(let _0x28725b=0x0;_0x28725b<_0x184915['length'];_0x28725b++){const _0x3430c8=_0x184915[_0x28725b],_0x49615a=_0x28725b<_0x184915[_0x3fb28b(0x1e8)]-0x1?_0x184915[_0x28725b+0x1]:Infinity;if(_0x35ceef>=_0x3430c8&&_0x35ceef<_0x49615a){const _0x13e677=_0x5e6402[_0x28725b];if(typeof _0x13e677===_0x3fb28b(0x229))return _0x13e677;return _0x3fb28b(0x1ee)+_0x13e677[0x0]+','+_0x13e677[0x1]+','+_0x13e677[0x2]+','+(_0x13e677[0x3]||_0x13e677[0x3]===0x0?_0x13e677[0x3]:0x1)+')';}}return'rgba(0,0,0,0)';};for(let _0x54737b=0x0;_0x54737b<this['ny'];_0x54737b++){for(let _0x4a712c=0x0;_0x4a712c<this['nx'];_0x4a712c++){const _0x3388f3=_0x54737b*this['nx']+_0x4a712c,_0x12d5d1=this['values'][_0x3388f3],_0x39c505=_0x4c879d(_0x12d5d1),_0x30b108=_0x4a712c*_0x38310c,_0x2c82eb=_0x53fdba-(_0x54737b+0x1)*_0x4ef086;_0x48c3fa['fillStyle']=_0x39c505,_0x48c3fa[_0x1b4357(0x1f4)](_0x30b108,_0x2c82eb,_0x38310c,_0x4ef086);}}if(!_0x5b00e9?.['strokeStyle']&&!_0x5b00e9?.[_0x1b4357(0x231)]||_0x5b00e9?.[_0x1b4357(0x231)]===0x0)return _0x3f3713;const _0x1f0b07=this['buildGridLineCanvas'](_0x5b00e9);return _0x1f0b07&&_0x48c3fa[_0x1b4357(0x1f9)](_0x1f0b07,0x0,0x0,_0x16e242,_0x53fdba),_0x3f3713;}[_0x50272d(0x200)](_0x3d9c49,_0x1ec96c,_0x59a121,_0x52df64){const _0x555ed6=_0x50272d,_0x259a82=this[_0x555ed6(0x21c)](_0x3d9c49,_0x1ec96c,_0x52df64);if(!_0x259a82)return null;const {canvas:_0x129ab0,ctx:_0x18a24a,width:_0x2fa6f6,height:_0x4a7528}=this[_0x555ed6(0x221)](_0x52df64);if(!_0x18a24a)return null;const _0xf32e8c=[];return _0x59a121[_0x555ed6(0x202)]['map'](_0xb39f48=>{const _0xbee3c8=_0x555ed6,_0x115814=_0xb39f48[_0xbee3c8(0x210)];if(_0x115814['type']==='Polygon')_0x115814[_0xbee3c8(0x1f0)]['map'](_0x3f8643=>{const _0x1e2aab=_0xbee3c8,_0x1e0fcb=[];_0x3f8643[_0x1e2aab(0x1dd)](_0x24db17=>{_0x1e0fcb['push']([_0x24db17[0x0],_0x24db17[0x1]]);}),_0xf32e8c[_0x1e2aab(0x243)](_0x1e0fcb);});else _0x115814[_0xbee3c8(0x21a)]==='MultiPolygon'&&_0x115814[_0xbee3c8(0x1f0)][_0xbee3c8(0x1dd)](_0x5a9734=>{const _0x10d6d1=_0xbee3c8;_0x5a9734[_0x10d6d1(0x1dd)](_0x348bfa=>{const _0x1a716d=_0x10d6d1,_0x2db694=[];_0x348bfa[_0x1a716d(0x1dd)](_0x17b29d=>{const _0x3eb822=_0x1a716d;_0x2db694[_0x3eb822(0x243)]([_0x17b29d[0x0],_0x17b29d[0x1]]);}),_0xf32e8c[_0x1a716d(0x243)](_0x2db694);});});}),_0x18a24a[_0x555ed6(0x22b)](),_0x18a24a['beginPath'](),_0xf32e8c[_0x555ed6(0x1dd)](_0x95d8ed=>{const _0xed568e=_0x555ed6;_0x95d8ed[_0xed568e(0x1fd)]((_0x4c0233,_0x5b1201)=>{const _0x74e54f=_0xed568e,_0x39f1f6=_0x4c0233[0x0],_0x454045=_0x4c0233[0x1],_0x10cfe8=(_0x39f1f6-this[_0x74e54f(0x225)])/(this['nx']*this[_0x74e54f(0x1f1)])*_0x2fa6f6,_0x40b988=_0x4a7528-(_0x454045-this[_0x74e54f(0x23e)])/(this['ny']*this[_0x74e54f(0x21e)])*_0x4a7528;_0x5b1201===0x0?_0x18a24a['moveTo'](_0x10cfe8,_0x40b988):_0x18a24a['lineTo'](_0x10cfe8,_0x40b988);}),_0x18a24a['closePath']();}),_0x18a24a[_0x555ed6(0x24a)](),_0x18a24a[_0x555ed6(0x1f9)](_0x259a82,0x0,0x0,_0x2fa6f6,_0x4a7528),_0x18a24a[_0x555ed6(0x24d)](),_0x129ab0;}['updateGridCanvas'](_0x59a55b,_0x57bdca){const _0x46e5d4=_0x50272d,_0x5ccb27=[];_0x59a55b[_0x46e5d4(0x1dd)](_0x28dc3c=>{const _0x215f6d=_0x46e5d4;_0x5ccb27['push']([_0x28dc3c[_0x215f6d(0x213)],_0x28dc3c[_0x215f6d(0x23c)]]);});_0x5ccb27[_0x46e5d4(0x1e8)]>0x3&&_0x59a55b[_0x46e5d4(0x1e8)]>0x3&&_0x5ccb27['push']([_0x59a55b[0x0][_0x46e5d4(0x213)],_0x59a55b[0x0]['lat']]);const _0x3ee113=polygon([_0x5ccb27]),_0x6e38ef=[],_0x3a1ca3=this[_0x46e5d4(0x223)]();return _0x3a1ca3[_0x46e5d4(0x1dd)](_0x471b74=>{const _0x1dda88=_0x46e5d4,_0x230774=point([_0x471b74[_0x1dda88(0x213)],_0x471b74[_0x1dda88(0x23c)]]);booleanPointInPolygon(_0x230774,_0x3ee113)&&(_0x6e38ef['push']({'lat':_0x471b74['lat'],'lng':_0x471b74[_0x1dda88(0x213)]}),_0x471b74[_0x1dda88(0x1e0)]=_0x57bdca);}),this[_0x46e5d4(0x1ef)]=_0x3a1ca3[_0x46e5d4(0x1dd)](_0x305ed7=>_0x305ed7[_0x46e5d4(0x1e0)]),_0x6e38ef;}[_0x50272d(0x204)](){const _0x35b17c=_0x50272d;let _0x371767=-Infinity,_0x187512=Infinity;for(let _0x5da432=0x0;_0x5da432<this[_0x35b17c(0x1ef)][_0x35b17c(0x1e8)];_0x5da432++){const _0x43bc91=this[_0x35b17c(0x1ef)][_0x5da432];if(_0x43bc91&&_0x43bc91>_0x371767)_0x371767=_0x43bc91;if(_0x43bc91&&_0x43bc91<_0x187512)_0x187512=_0x43bc91;}this[_0x35b17c(0x211)]=_0x187512,this[_0x35b17c(0x1f7)]=_0x371767;}[_0x50272d(0x245)]=(_0x58d48f,_0x2a97cb)=>{const _0x205431=_0x50272d,_0x1fe42e=[],_0x5d26ef=Math[_0x205431(0x1df)](0x1,Math[_0x205431(0x1fb)](_0x58d48f[_0x205431(0x1e8)]/_0x2a97cb));for(let _0x10b953=0x0;_0x10b953<_0x2a97cb;_0x10b953++){_0x1fe42e[_0x205431(0x243)](_0x58d48f[_0x205431(0x1fa)](_0x10b953*_0x5d26ef,(_0x10b953+0x1)*_0x5d26ef));}return _0x1fe42e;};[_0x50272d(0x22d)](){const _0x41cfa2=_0x50272d,_0x2bd6a2=[];if(this[_0x41cfa2(0x211)]===Infinity||this['maxVal']===-Infinity)return _0x2bd6a2;for(let _0x3ba19e=this[_0x41cfa2(0x211)]-0x1;_0x3ba19e<=this['maxVal']+0x1;_0x3ba19e++){_0x2bd6a2['push'](_0x3ba19e);}return _0x2bd6a2;}[_0x50272d(0x20a)]=_0x23c0e3=>{const _0x181b5f=_0x50272d;if(_0x23c0e3[_0x181b5f(0x1e8)]===0x0)_0x23c0e3=this[_0x181b5f(0x22d)]();const _0x5a5214=[];for(let _0x43bccf=0x0;_0x43bccf<_0x23c0e3[_0x181b5f(0x1e8)];_0x43bccf++){const _0x4aeca5=_0x23c0e3[_0x43bccf],_0x21ae4a=_0x43bccf<_0x23c0e3[_0x181b5f(0x1e8)]-0x1?_0x23c0e3[_0x43bccf+0x1]:Infinity;if(_0x4aeca5==null||_0x21ae4a==null)continue;if(_0x4aeca5<this['minVal']&&_0x21ae4a<this[_0x181b5f(0x211)])continue;if(_0x4aeca5>this[_0x181b5f(0x1f7)]&&_0x21ae4a>this[_0x181b5f(0x1f7)])continue;_0x5a5214['push'](_0x4aeca5);}const _0x158622=contours()[_0x181b5f(0x248)]([this['nx'],this['ny']])['thresholds'](_0x5a5214);return _0x158622(this['values']);};['createCanvas']=_0x48f605=>{const _0x5acf64=_0x50272d,_0x23530c=Math['floor']((_0x48f605?.['width']||Math[_0x5acf64(0x242)](this['nx']/0x400)*0x400*0x2)/this['nx'])*this['nx'],_0x4ffccc=_0x23530c/this['nx']*this['ny'],_0x26b0e0=_0x48f605?.[_0x5acf64(0x22f)]||(typeof devicePixelRatio!==_0x5acf64(0x1eb)?devicePixelRatio:0x1),_0x210d7f=document[_0x5acf64(0x1e9)](_0x5acf64(0x241)),_0x4db516=_0x210d7f[_0x5acf64(0x233)]('2d');return _0x210d7f['width']=_0x23530c*_0x26b0e0,_0x210d7f[_0x5acf64(0x201)]=_0x4ffccc*_0x26b0e0,_0x4db516[_0x5acf64(0x24e)](_0x26b0e0,_0x26b0e0),{'canvas':_0x210d7f,'ctx':_0x4db516,'width':_0x23530c,'height':_0x4ffccc};};}export default readFileM4;
1
+ const _0x1633c9=_0x1ad3;function _0x1ad3(_0x56fc6c,_0x588be5){const _0xa29301=_0xa293();return _0x1ad3=function(_0x1ad340,_0xaeb3b3){_0x1ad340=_0x1ad340-0x1a7;let _0x1e1f3b=_0xa29301[_0x1ad340];return _0x1e1f3b;},_0x1ad3(_0x56fc6c,_0x588be5);}(function(_0x375c4e,_0x248b62){const _0x16bc5d=_0x1ad3,_0x639494=_0x375c4e();while(!![]){try{const _0x35843d=parseInt(_0x16bc5d(0x1d2))/0x1*(parseInt(_0x16bc5d(0x201))/0x2)+-parseInt(_0x16bc5d(0x210))/0x3*(-parseInt(_0x16bc5d(0x1fe))/0x4)+parseInt(_0x16bc5d(0x1ed))/0x5*(parseInt(_0x16bc5d(0x208))/0x6)+-parseInt(_0x16bc5d(0x1e1))/0x7+-parseInt(_0x16bc5d(0x1b1))/0x8+-parseInt(_0x16bc5d(0x1c6))/0x9+-parseInt(_0x16bc5d(0x1ea))/0xa*(-parseInt(_0x16bc5d(0x1f4))/0xb);if(_0x35843d===_0x248b62)break;else _0x639494['push'](_0x639494['shift']());}catch(_0x2ba0df){_0x639494['push'](_0x639494['shift']());}}}(_0xa293,0xb5f2c));import{contours}from'd3-contour';import{featureCollection as _0xafe730,point,polygon}from'@turf/helpers';import{booleanPointInPolygon}from'@turf/boolean-point-in-polygon';import _0x45248c from'decimal.js';export class ReadFileM4{['filePath']='';['nx']=0x0;['ny']=0x0;[_0x1633c9(0x1c1)]=0x0;[_0x1633c9(0x1ff)]=0x0;['gjLng']=0x0;['gjLat']=0x0;[_0x1633c9(0x202)]=[];[_0x1633c9(0x209)]=-Infinity;['minVal']=Infinity;[_0x1633c9(0x1ce)]='';[_0x1633c9(0x206)]=new Map();constructor(_0x16b679){const _0x2027f8=_0x1633c9;this[_0x2027f8(0x1dc)]=_0x16b679||'';}async[_0x1633c9(0x1b9)](_0x32cdf1){const _0x2aacaa=_0x1633c9,_0x59a468=await fetch(this[_0x2aacaa(0x1dc)]);if(!_0x59a468['ok'])return new Promise((_0x43bd45,_0x5de4a0)=>{const _0x415908=_0x2aacaa;_0x5de4a0(new Error(_0x415908(0x1ec)));});const _0x58aa62=await _0x59a468[_0x2aacaa(0x1f6)](),_0x17aa6e=_0x58aa62[_0x2aacaa(0x1ad)](/\r\n/g,'\x0a')['replace'](/\r/g,'\x0a')[_0x2aacaa(0x1e2)]('\x0a');if(_0x17aa6e[_0x2aacaa(0x1e7)]<0x4)return new Promise((_0x88b95d,_0xd6935c)=>{const _0x94cf69=_0x2aacaa;_0xd6935c(new Error(_0x94cf69(0x1b5)));});const _0x3f0e3a=(_0x17aa6e[0x1]??'')[_0x2aacaa(0x213)]()[_0x2aacaa(0x1e2)](/\s+/);let _0x55cf90=0x2;while(_0x3f0e3a['length']<0x13){_0x3f0e3a[_0x2aacaa(0x207)](...(_0x17aa6e[_0x55cf90]??'')[_0x2aacaa(0x213)]()[_0x2aacaa(0x1e2)](/\s+/)),_0x55cf90++;}this[_0x2aacaa(0x1c2)]=Number(_0x3f0e3a[0x6]);const _0x53b02d=Number(_0x3f0e3a[0x8]),_0x45ff44=Number(_0x3f0e3a[0xa]),_0x557a78=Number(_0x3f0e3a[0xb]);this['nx']=Number(_0x3f0e3a[0xc]),this['ny']=Number(_0x3f0e3a[0xd]),this[_0x2aacaa(0x1c1)]=_0x53b02d,this[_0x2aacaa(0x1ff)]=_0x45ff44,this[_0x2aacaa(0x1ef)]=Math[_0x2aacaa(0x215)](Number(_0x3f0e3a[0x7]))*(_0x45ff44>_0x557a78?-0x1:0x1);const _0x21b0b5=this['nx']*this['ny'];let _0x564ba1=0x0;for(let _0x388d17=_0x55cf90;_0x388d17<_0x17aa6e['length']&&_0x564ba1<_0x21b0b5;_0x388d17++){const _0x1af44e=_0x17aa6e[_0x388d17]?.[_0x2aacaa(0x213)]()??'',_0x358270=_0x1af44e[_0x2aacaa(0x1e2)](/\s+/);if(!_0x358270||_0x358270[_0x2aacaa(0x1e7)]===0x0)continue;for(let _0x251734=0x0;_0x251734<_0x358270[_0x2aacaa(0x1e7)]&&_0x564ba1<_0x21b0b5;_0x251734++){let _0x20b1f0=Number(_0x358270[_0x251734]);if(_0x32cdf1?.[_0x2aacaa(0x1d8)])_0x20b1f0=new _0x45248c(_0x20b1f0)['minus'](272.15)['toNumber']();else _0x32cdf1?.[_0x2aacaa(0x20a)]&&(_0x20b1f0=new _0x45248c(_0x20b1f0)[_0x2aacaa(0x20b)](_0x32cdf1['plusOffset'])[_0x2aacaa(0x200)]());this['values'][_0x2aacaa(0x207)](_0x20b1f0),this[_0x2aacaa(0x1f9)]=Math[_0x2aacaa(0x1d6)](this[_0x2aacaa(0x1f9)],_0x20b1f0),this['maxVal']=Math[_0x2aacaa(0x1ac)](this[_0x2aacaa(0x209)],_0x20b1f0),_0x564ba1++;}}}['setParams'](_0xbf1d26,_0x493f07){const _0x2851b8=_0x1633c9;this['nx']=_0xbf1d26['nx'],this['ny']=_0xbf1d26['ny'],this[_0x2851b8(0x1c1)]=_0xbf1d26[_0x2851b8(0x1c1)],this[_0x2851b8(0x1ff)]=_0xbf1d26[_0x2851b8(0x1ff)],this['gjLng']=_0xbf1d26['gjLng'],this[_0x2851b8(0x1ef)]=_0xbf1d26[_0x2851b8(0x1ef)];if(_0x493f07?.['convertTemKtoC'])for(let _0x3ed8ea=0x0;_0x3ed8ea<_0xbf1d26[_0x2851b8(0x202)]['length'];_0x3ed8ea++){if(typeof _0xbf1d26[_0x2851b8(0x202)][_0x3ed8ea]===_0x2851b8(0x1fa))continue;_0xbf1d26[_0x2851b8(0x202)][_0x3ed8ea]=new _0x45248c(_0xbf1d26[_0x2851b8(0x202)][_0x3ed8ea])[_0x2851b8(0x1e6)](272.15)[_0x2851b8(0x200)]();}else{if(_0x493f07?.[_0x2851b8(0x20a)])for(let _0x223454=0x0;_0x223454<_0xbf1d26['values']['length'];_0x223454++){if(typeof _0xbf1d26[_0x2851b8(0x202)][_0x223454]===_0x2851b8(0x1fa))continue;_0xbf1d26[_0x2851b8(0x202)][_0x223454]=new _0x45248c(_0xbf1d26[_0x2851b8(0x202)][_0x223454])[_0x2851b8(0x20b)](_0x493f07[_0x2851b8(0x20a)])[_0x2851b8(0x200)]();}else this[_0x2851b8(0x202)]=_0xbf1d26[_0x2851b8(0x202)];}this[_0x2851b8(0x20d)]();}[_0x1633c9(0x1d4)](_0x180e02){const _0x456a9b=_0x1633c9;if(this[_0x456a9b(0x202)][_0x456a9b(0x1e7)]===0x0)return{'type':'FeatureCollection','features':[]};const _0x138524=[],_0x5ad717=this[_0x456a9b(0x212)](_0x180e02),_0x4d05aa=new _0x45248c(this['minLng']),_0x3a59a9=new _0x45248c(this[_0x456a9b(0x1ff)]),_0x1a7471=new _0x45248c(this['gjLng']),_0x25eb45=new _0x45248c(this[_0x456a9b(0x1ef)]);for(const _0x26f03b of _0x5ad717){for(const _0x14c9a1 of _0x26f03b[_0x456a9b(0x1b6)]){if(Array[_0x456a9b(0x1e9)](_0x14c9a1))for(const _0x43b9b6 of _0x14c9a1){_0x43b9b6['forEach'](_0x53fb59=>{const _0x19bb8a=_0x456a9b,_0x34e31a=_0x53fb59[0x0],_0x29d7ca=_0x53fb59[0x1];if(_0x34e31a==null||_0x29d7ca==null||Number[_0x19bb8a(0x1b4)](_0x34e31a)||Number[_0x19bb8a(0x1b4)](_0x29d7ca))return null;const _0x4cb352=_0x4d05aa['plus'](_0x1a7471[_0x19bb8a(0x1fb)](_0x34e31a))[_0x19bb8a(0x200)](),_0x563e14=_0x3a59a9['plus'](_0x25eb45[_0x19bb8a(0x1fb)](_0x29d7ca))[_0x19bb8a(0x200)]();_0x53fb59[0x0]=_0x4cb352,_0x53fb59[0x1]=_0x563e14;});}}_0x138524['push']({'type':_0x456a9b(0x1cc),'properties':{'z':_0x26f03b[_0x456a9b(0x1be)]},'geometry':_0x26f03b});}return{'type':'FeatureCollection','features':_0x138524};}[_0x1633c9(0x1eb)](_0x578676,_0x1ba807,_0x2020c9){const _0x117982=_0x1633c9;if(this['values'][_0x117982(0x1e7)]===0x0)return null;const _0x40cd0d=this['getAllGeo'](_0x578676),{canvas:_0x594232,ctx:_0xa3230e,width:_0x3bf1fa,height:_0x536cce}=this[_0x117982(0x1a8)](_0x2020c9);if(!_0xa3230e)return null;for(const _0x687c2c of _0x40cd0d){const _0x529340=_0x687c2c[_0x117982(0x1be)];_0xa3230e[_0x117982(0x1f7)]();for(const _0x47742f of _0x687c2c[_0x117982(0x1b6)]){if(Array['isArray'](_0x47742f))for(const _0xae41fe of _0x47742f){_0xae41fe[_0x117982(0x1bf)]((_0x71207a,_0x2bceb1)=>{const _0x252efa=_0x117982,_0x20401d=_0x71207a[0x0],_0x33d93e=_0x71207a[0x1];if(_0x20401d==null||_0x33d93e==null||Number['isNaN'](_0x20401d)||Number[_0x252efa(0x1b4)](_0x33d93e))return null;const _0x1cd799=_0x20401d/this['nx']*_0x3bf1fa,_0x1d7e5c=this['gjLat']<0x0?_0x33d93e/this['ny']*_0x536cce:_0x536cce-_0x33d93e/this['ny']*_0x536cce;_0x2bceb1===0x0?_0xa3230e['moveTo'](_0x1cd799,_0x1d7e5c):_0xa3230e[_0x252efa(0x1e4)](_0x1cd799,_0x1d7e5c);});}}_0xa3230e[_0x117982(0x1d5)](),_0xa3230e[_0x117982(0x216)]=this[_0x117982(0x1d3)](_0x529340,_0x578676,_0x1ba807),_0xa3230e[_0x117982(0x1cf)]();}return _0x594232;}[_0x1633c9(0x20e)](_0x555ab2,_0x3135c5,_0x104c53,_0x45353d){const _0x5910a8=_0x1633c9;if(this[_0x5910a8(0x202)]['length']===0x0)return null;if(!_0x104c53)return null;const _0x304954=this[_0x5910a8(0x1c1)],_0x212634=this[_0x5910a8(0x1ff)],_0x3ee5bd=_0x304954+this['nx']*this[_0x5910a8(0x1c2)],_0x4350af=_0x212634+this['ny']*this['gjLat'],_0x43aaf4=_0x104c53[_0x5910a8(0x1e8)]([_0x4350af,_0x304954]),_0x85c497=_0x104c53[_0x5910a8(0x1e8)]([_0x212634,_0x3ee5bd]),_0x15105a=Math[_0x5910a8(0x1ac)](0x1,Math[_0x5910a8(0x1b7)](_0x85c497['x']-_0x43aaf4['x'])),_0x3cd0aa=Math[_0x5910a8(0x1ac)](0x1,Math['round'](_0x85c497['y']-_0x43aaf4['y'])),_0x562109=_0x45353d?.['pixelRatio']||(typeof devicePixelRatio!==_0x5910a8(0x1fa)?devicePixelRatio:0x1),_0x1f1c90=document[_0x5910a8(0x1b8)](_0x5910a8(0x1c7)),_0x3ceb4c=_0x1f1c90[_0x5910a8(0x1f0)]('2d');_0x1f1c90['width']=Math[_0x5910a8(0x1ac)](0x1,Math['floor'](_0x15105a*_0x562109)),_0x1f1c90[_0x5910a8(0x1ae)]=Math[_0x5910a8(0x1ac)](0x1,Math[_0x5910a8(0x20f)](_0x3cd0aa*_0x562109)),_0x1f1c90[_0x5910a8(0x1b2)][_0x5910a8(0x1f1)]=_0x15105a+'px',_0x1f1c90[_0x5910a8(0x1b2)][_0x5910a8(0x1ae)]=_0x3cd0aa+'px';if(_0x3ceb4c)_0x3ceb4c[_0x5910a8(0x1e0)](_0x562109,_0x562109);const _0x24de1b=this['getAllGeo'](_0x555ab2);for(const _0x1b0a0c of _0x24de1b){const _0x70bf46=_0x1b0a0c[_0x5910a8(0x1be)];if(!_0x1b0a0c[_0x5910a8(0x1b6)])continue;_0x3ceb4c['beginPath']();for(const _0x1f6915 of _0x1b0a0c[_0x5910a8(0x1b6)]){if(Array['isArray'](_0x1f6915))for(const _0x221579 of _0x1f6915){_0x221579['forEach']((_0x7c4a1,_0x1ac627)=>{const _0xa47372=_0x5910a8,_0x30c408=_0x7c4a1[0x0],_0x15b896=_0x7c4a1[0x1];if(_0x30c408==null||_0x15b896==null||Number[_0xa47372(0x1b4)](_0x30c408)||Number[_0xa47372(0x1b4)](_0x15b896))return;const _0xebadf6=_0x304954+_0x30c408*this[_0xa47372(0x1c2)],_0x3bfbb8=_0x212634+_0x15b896*this['gjLat'],_0x1ae003=_0x104c53[_0xa47372(0x1e8)]([_0x3bfbb8,_0xebadf6]),_0x272885=_0x1ae003['x']-_0x43aaf4['x'],_0x5a55b1=_0x1ae003['y']-_0x43aaf4['y'];if(_0x1ac627===0x0)_0x3ceb4c[_0xa47372(0x1da)](_0x272885,_0x5a55b1);else _0x3ceb4c['lineTo'](_0x272885,_0x5a55b1);});}}_0x3ceb4c[_0x5910a8(0x1d5)](),_0x3ceb4c['fillStyle']=this[_0x5910a8(0x1d3)](_0x70bf46,_0x555ab2,_0x3135c5),_0x3ceb4c[_0x5910a8(0x1cf)]();}return _0x1f1c90;}[_0x1633c9(0x1d3)](_0x5dfc76,_0x20190a,_0x5ba8c1){const _0x42022c=_0x1633c9;let _0x54854d=_0x42022c(0x1cb);const _0xcdf847=_0x20190a['indexOf'](_0x5dfc76);if(typeof _0x5ba8c1[_0xcdf847]==_0x42022c(0x1af))_0x54854d=_0x5ba8c1[_0xcdf847];else _0xcdf847!==-0x1&&(_0x54854d=_0x42022c(0x1d1)+_0x5ba8c1[_0xcdf847][0x0]+','+_0x5ba8c1[_0xcdf847][0x1]+','+_0x5ba8c1[_0xcdf847][0x2]+','+(_0x5ba8c1[_0xcdf847][0x3]||_0x5ba8c1[_0xcdf847][0x3]===0x0?_0x5ba8c1[_0xcdf847][0x3]:0x1)+')');return _0x54854d;}async['clipDataByJson'](_0x137e6c,_0xd63322,_0x254107,_0x17df87){const _0x22e114=_0x1633c9,_0x2f837c=_0x17df87||(navigator[_0x22e114(0x20c)]-0x4||0x1),_0x53e808=Math['min'](_0x2f837c,Math[_0x22e114(0x1ac)](0x1,_0x137e6c[_0x22e114(0x1c9)][_0x22e114(0x1e7)])),_0x462814=this[_0x22e114(0x1ba)](_0x137e6c['features'],_0x53e808),_0x2a1edd=[],_0x4e7bc5=_0x462814[_0x22e114(0x1b0)](_0x4b6060=>{const _0x5904f2=_0x22e114,_0xdc2a0b=new Worker(_0x254107,{'type':'module'});return _0x2a1edd[_0x5904f2(0x207)](_0xdc2a0b),new Promise(_0x52ab9c=>{const _0x454d1e=_0x5904f2;_0xdc2a0b[_0x454d1e(0x1c3)]=_0x930d8c=>{const _0x1117d6=_0x454d1e;_0x52ab9c(_0x930d8c['data'][_0x1117d6(0x1c9)]);},_0xdc2a0b['onerror']=_0x375439=>{console['error'](_0x375439);},_0xdc2a0b[_0x454d1e(0x1dd)]({'isoChunk':_0x4b6060,'gansuFeatures':_0xd63322[_0x454d1e(0x1c9)]});});}),_0x246dd6=await Promise['all'](_0x4e7bc5);_0x2a1edd[_0x22e114(0x1bf)](_0x16b0b6=>_0x16b0b6['terminate']());const _0x616d5=_0x246dd6[_0x22e114(0x1b3)]();return _0xafe730(_0x616d5);}[_0x1633c9(0x1e5)](){const _0x194397=_0x1633c9,_0x39c1c8=Array[_0x194397(0x205)]({'length':this['nx']});for(let _0x3deea8=0x0;_0x3deea8<this['nx'];_0x3deea8++){_0x39c1c8[_0x3deea8]=new _0x45248c(this[_0x194397(0x1c1)])[_0x194397(0x20b)](new _0x45248c(_0x3deea8)['times'](this['gjLng']))['toNumber']();}const _0x16dd55=Array['from']({'length':this['ny']});for(let _0x2eb0f0=0x0;_0x2eb0f0<this['ny'];_0x2eb0f0++){_0x16dd55[_0x2eb0f0]=new _0x45248c(this[_0x194397(0x1ff)])[_0x194397(0x20b)](new _0x45248c(_0x2eb0f0)['times'](this['gjLat']))['toNumber']();}const _0x286345=Array[_0x194397(0x205)]({'length':this['nx']*this['ny']});for(let _0x526266=0x0;_0x526266<this[_0x194397(0x202)][_0x194397(0x1e7)];_0x526266++){const _0x42ee59=Math[_0x194397(0x20f)](_0x526266/this['nx']),_0x63de9a=_0x526266%this['nx'],_0x256a0d=_0x39c1c8[_0x63de9a],_0x3b212b=_0x16dd55[_0x42ee59],_0x4433fb=this['values'][_0x526266];_0x3b212b&&_0x256a0d&&(_0x286345[_0x526266]={'lng':_0x256a0d,'lat':_0x3b212b,'val':_0x4433fb});}return _0x286345;}[_0x1633c9(0x1aa)](_0x33ef2b){const _0x40a945=_0x1633c9;if(this[_0x40a945(0x202)][_0x40a945(0x1e7)]===0x0)return{'type':'FeatureCollection','features':[]};const _0x4a8b0e=_0x33ef2b&&_0x33ef2b[_0x40a945(0x1e7)]?_0x33ef2b:this[_0x40a945(0x1a9)]();if(!_0x4a8b0e[_0x40a945(0x1e7)])return{'type':_0x40a945(0x1df),'features':[]};const _0x380e42=this['minLng'],_0x29fa26=this[_0x40a945(0x1ff)],_0x3cd091=this[_0x40a945(0x1c2)],_0x1f0e84=this[_0x40a945(0x1ef)],_0x43da5f=_0x4ef3ee=>{let _0x34560c=0x0;for(let _0x40b2db=0x0,_0x2b6a4a=_0x4ef3ee['length'];_0x40b2db<_0x2b6a4a;_0x40b2db++){const _0x53900a=_0x4ef3ee[_0x40b2db],_0x406ad6=_0x4ef3ee[(_0x40b2db+0x1)%_0x2b6a4a];if(!_0x53900a||!_0x406ad6)continue;_0x34560c+=_0x53900a[0x0]*_0x406ad6[0x1]-_0x406ad6[0x0]*_0x53900a[0x1];}return _0x34560c/0x2;},_0x45cdf0=(_0x4c19db,_0x13a33e)=>{const _0x228356=_0x40a945;if(!_0x4c19db)return![];const _0x21b384=_0x4c19db[0x0],_0x4130d1=_0x4c19db[0x1];let _0x2b2068=![];for(let _0x12f4c3=0x0,_0x3dbb53=_0x13a33e[_0x228356(0x1e7)]-0x1;_0x12f4c3<_0x13a33e[_0x228356(0x1e7)];_0x3dbb53=_0x12f4c3++){const _0x58eee8=_0x13a33e[_0x12f4c3][0x0],_0x1d7457=_0x13a33e[_0x12f4c3][0x1],_0x1c8403=_0x13a33e[_0x3dbb53][0x0],_0x1bffa1=_0x13a33e[_0x3dbb53][0x1],_0x1f4fb0=_0x1d7457>_0x4130d1!==_0x1bffa1>_0x4130d1&&_0x21b384<(_0x1c8403-_0x58eee8)*(_0x4130d1-_0x1d7457)/(_0x1bffa1-_0x1d7457)+_0x58eee8;if(_0x1f4fb0)_0x2b2068=!_0x2b2068;}return _0x2b2068;},_0x53384a=_0x3aef56=>{const _0x3bca2d=_0x40a945,_0xfd854b=[];let _0x58e774=null,_0x4a3b27=null;for(let _0x410a38=0x0;_0x410a38<_0x3aef56[_0x3bca2d(0x1e7)];_0x410a38++){const _0x4d2926=_0x3aef56[_0x410a38];if(!_0x4d2926)continue;const _0x4483e3=_0x4d2926[0x0],_0x4d100a=_0x4d2926[0x1];if(_0x4483e3==null||_0x4d100a==null||Number[_0x3bca2d(0x1b4)](_0x4483e3)||Number[_0x3bca2d(0x1b4)](_0x4d100a))continue;const _0x84c087=_0x380e42+_0x4483e3*_0x3cd091,_0x40730c=_0x29fa26+_0x4d100a*_0x1f0e84;if(_0x58e774!==null&&_0x4a3b27!==null&&_0x58e774===_0x84c087&&_0x4a3b27===_0x40730c)continue;_0xfd854b[_0x3bca2d(0x207)]([_0x84c087,_0x40730c]),_0x58e774=_0x84c087,_0x4a3b27=_0x40730c;}if(!_0xfd854b[_0x3bca2d(0x1e7)])return _0xfd854b;const _0x443589=_0xfd854b[0x0],_0x11bf01=_0xfd854b[_0xfd854b['length']-0x1];if(_0x443589[0x0]!==_0x11bf01[0x0]||_0x443589[0x1]!==_0x11bf01[0x1])_0xfd854b[_0x3bca2d(0x207)]([_0x443589[0x0],_0x443589[0x1]]);return _0xfd854b;},_0x328722=[],_0x100d31=_0x4a8b0e[_0x40a945(0x1e7)]-0x1;for(let _0x5ac718=0x0;_0x5ac718<_0x4a8b0e['length'];_0x5ac718++){const _0x33d95e=_0x4a8b0e[_0x5ac718],_0x24cd40=_0x5ac718<_0x100d31?_0x4a8b0e[_0x5ac718+0x1]:Infinity,_0x2ff934=new Array(this[_0x40a945(0x202)][_0x40a945(0x1e7)]);let _0x3b7120=![];for(let _0x2dbe31=0x0;_0x2dbe31<this[_0x40a945(0x202)][_0x40a945(0x1e7)];_0x2dbe31++){const _0x3e4b99=this[_0x40a945(0x202)][_0x2dbe31],_0x16d379=_0x3e4b99!=null&&_0x3e4b99>=_0x33d95e&&_0x3e4b99<_0x24cd40?0x1:0x0;_0x2ff934[_0x2dbe31]=_0x16d379;if(_0x16d379)_0x3b7120=!![];}if(!_0x3b7120)continue;const _0x4eb17b=contours()[_0x40a945(0x1db)]([this['nx'],this['ny']])[_0x40a945(0x1f5)]([0.5]),_0x43624d=_0x4eb17b(_0x2ff934);if(!_0x43624d||!_0x43624d[_0x40a945(0x1e7)])continue;for(const _0x2fc838 of _0x43624d){const _0x4423e8=_0x2fc838?.[_0x40a945(0x1b6)];if(!_0x4423e8)continue;for(const _0x105d26 of _0x4423e8){const _0x43500d=_0x105d26,_0x371d69=_0x43500d[_0x40a945(0x1b0)](_0x234f0b=>({'ring':_0x234f0b,'area':Math['abs'](_0x43da5f(_0x234f0b))}))[_0x40a945(0x1d7)]((_0x55a8f8,_0x3ec9cc)=>_0x3ec9cc[_0x40a945(0x1de)]-_0x55a8f8['area']),_0x5ccc11=new Array(_0x371d69[_0x40a945(0x1e7)])[_0x40a945(0x1cf)](![]);for(let _0x326541=0x0;_0x326541<_0x371d69['length'];_0x326541++){if(_0x5ccc11[_0x326541])continue;const _0x15e0d2=_0x371d69[_0x326541][_0x40a945(0x1d0)];_0x5ccc11[_0x326541]=!![];const _0x548872=[];for(let _0x426ead=0x0;_0x426ead<_0x371d69[_0x40a945(0x1e7)];_0x426ead++){if(_0x5ccc11[_0x426ead])continue;const _0x51ab9c=_0x371d69[_0x426ead][_0x40a945(0x1d0)],_0x49fceb=_0x51ab9c[0x0];_0x49fceb&&_0x45cdf0(_0x49fceb,_0x15e0d2)&&(_0x548872[_0x40a945(0x207)](_0x51ab9c),_0x5ccc11[_0x426ead]=!![]);}const _0x4e5fe1=_0x53384a(_0x15e0d2);if(_0x4e5fe1['length']<0x4)continue;const _0x159b44=[];for(const _0x3b4ab7 of _0x548872){const _0x301af9=_0x53384a(_0x3b4ab7);if(_0x301af9[_0x40a945(0x1e7)]>=0x4)_0x159b44[_0x40a945(0x207)](_0x301af9);}_0x328722[_0x40a945(0x207)]({'type':_0x40a945(0x1cc),'properties':{'z':_0x33d95e},'geometry':{'type':'Polygon','coordinates':[_0x4e5fe1,..._0x159b44]}});}}}}return _0x328722[_0x40a945(0x1d7)]((_0x507d0f,_0x54d6ce)=>Number(_0x507d0f[_0x40a945(0x1c8)]?.['z']??0x0)-Number(_0x54d6ce[_0x40a945(0x1c8)]?.['z']??0x0)),{'type':_0x40a945(0x1df),'features':_0x328722};}[_0x1633c9(0x1bb)](_0x5da9d9){const _0x4d7018=_0x1633c9;if(this['nx']<=0x0||this['ny']<=0x0||this[_0x4d7018(0x1c2)]===0x0||this[_0x4d7018(0x1ef)]===0x0)return null;const {canvas:_0x4e41d1,ctx:_0x18f0d7,width:_0x5d18ca,height:_0xa83de0}=this[_0x4d7018(0x1a8)](_0x5da9d9);if(!_0x18f0d7)return null;const _0x5a6173=_0x5d18ca/this['nx'],_0x437d7f=_0xa83de0/this['ny'];_0x18f0d7[_0x4d7018(0x1f7)](),_0x18f0d7[_0x4d7018(0x1e3)]=_0x5da9d9?.[_0x4d7018(0x1e3)]||_0x4d7018(0x1c5),_0x18f0d7[_0x4d7018(0x1d9)]=_0x5da9d9?.[_0x4d7018(0x1d9)]||0x1;for(let _0x5d9071=0x0;_0x5d9071<=this['nx'];_0x5d9071++){_0x18f0d7['moveTo'](_0x5a6173*_0x5d9071,0x0),_0x18f0d7['lineTo'](_0x5a6173*_0x5d9071,_0xa83de0);}for(let _0x3aaa5c=0x0;_0x3aaa5c<=this['ny'];_0x3aaa5c++){_0x18f0d7[_0x4d7018(0x1da)](0x0,_0x437d7f*_0x3aaa5c),_0x18f0d7['lineTo'](_0x5d18ca,_0x437d7f*_0x3aaa5c);}return _0x18f0d7[_0x4d7018(0x1fc)](),_0x18f0d7['closePath'](),_0x4e41d1;}[_0x1633c9(0x214)](_0x56253e,_0x4a1c67,_0x489374){const _0x41bcf3=_0x1633c9;if(this['nx']<=0x0||this['ny']<=0x0||this[_0x41bcf3(0x1c2)]===0x0||this['gjLat']===0x0)return null;const _0x407dc7=_0x56253e&&_0x56253e[_0x41bcf3(0x1e7)]?_0x56253e:this[_0x41bcf3(0x1a9)](),{canvas:_0x55ddf5,ctx:_0x4fee69,width:_0x27cb43,height:_0xc656fd}=this[_0x41bcf3(0x1a8)](_0x489374);if(!_0x4fee69)return null;const _0x461ff8=_0x27cb43/this['nx'],_0x135053=_0xc656fd/this['ny'],_0x466ae8=_0xb1d747=>{const _0x592eac=_0x41bcf3;if(_0xb1d747==null||Number[_0x592eac(0x1b4)](_0xb1d747))return _0x592eac(0x1f8);for(let _0x3edea5=0x0;_0x3edea5<_0x407dc7['length'];_0x3edea5++){const _0x2d731d=_0x407dc7[_0x3edea5],_0x5d2bd6=_0x3edea5<_0x407dc7[_0x592eac(0x1e7)]-0x1?_0x407dc7[_0x3edea5+0x1]:Infinity;if(_0xb1d747>=_0x2d731d&&_0xb1d747<_0x5d2bd6){const _0x3beb73=_0x4a1c67[_0x3edea5];if(typeof _0x3beb73===_0x592eac(0x1af))return _0x3beb73;return _0x592eac(0x1d1)+_0x3beb73[0x0]+','+_0x3beb73[0x1]+','+_0x3beb73[0x2]+','+(_0x3beb73[0x3]||_0x3beb73[0x3]===0x0?_0x3beb73[0x3]:0x1)+')';}}return _0x592eac(0x1f8);};for(let _0x13e3c7=0x0;_0x13e3c7<this['ny'];_0x13e3c7++){for(let _0x40da69=0x0;_0x40da69<this['nx'];_0x40da69++){const _0x307b8a=_0x13e3c7*this['nx']+_0x40da69,_0x4daea3=this['values'][_0x307b8a],_0x2b190a=_0x466ae8(_0x4daea3),_0x39523c=_0x40da69*_0x461ff8,_0x45038f=_0xc656fd-(_0x13e3c7+0x1)*_0x135053;_0x4fee69['fillStyle']=_0x2b190a,_0x4fee69[_0x41bcf3(0x1c0)](_0x39523c,_0x45038f,_0x461ff8,_0x135053);}}if(!_0x489374?.[_0x41bcf3(0x1e3)]&&!_0x489374?.[_0x41bcf3(0x1d9)]||_0x489374?.[_0x41bcf3(0x1d9)]===0x0)return _0x55ddf5;const _0x5cf339=this[_0x41bcf3(0x1bb)](_0x489374);return _0x5cf339&&_0x4fee69[_0x41bcf3(0x1bc)](_0x5cf339,0x0,0x0,_0x27cb43,_0xc656fd),_0x55ddf5;}[_0x1633c9(0x1cd)](_0x5654ba,_0x51dd76,_0x55a739,_0x3a3119){const _0x56a2e5=_0x1633c9,_0x2b551d=this[_0x56a2e5(0x214)](_0x5654ba,_0x51dd76,_0x3a3119);if(!_0x2b551d)return null;const {canvas:_0x417ea2,ctx:_0x3e73ea,width:_0xb38ca6,height:_0x21c8d6}=this[_0x56a2e5(0x1a8)](_0x3a3119);if(!_0x3e73ea)return null;const _0x4643da=[];return _0x55a739[_0x56a2e5(0x1c9)][_0x56a2e5(0x1b0)](_0x3c36fa=>{const _0xb9300b=_0x56a2e5,_0x2eb9d1=_0x3c36fa[_0xb9300b(0x1bd)];if(_0x2eb9d1[_0xb9300b(0x1f3)]===_0xb9300b(0x1c4))_0x2eb9d1[_0xb9300b(0x1b6)]['map'](_0x4db45d=>{const _0x3701cb=_0xb9300b,_0x4697ad=[];_0x4db45d['map'](_0x4ee139=>{_0x4697ad['push']([_0x4ee139[0x0],_0x4ee139[0x1]]);}),_0x4643da[_0x3701cb(0x207)](_0x4697ad);});else _0x2eb9d1[_0xb9300b(0x1f3)]===_0xb9300b(0x1ca)&&_0x2eb9d1[_0xb9300b(0x1b6)][_0xb9300b(0x1b0)](_0x10ea64=>{const _0x5a25e3=_0xb9300b;_0x10ea64[_0x5a25e3(0x1b0)](_0x17c276=>{const _0x3ff916=_0x5a25e3,_0x3b9294=[];_0x17c276[_0x3ff916(0x1b0)](_0x22f7bc=>{_0x3b9294['push']([_0x22f7bc[0x0],_0x22f7bc[0x1]]);}),_0x4643da['push'](_0x3b9294);});});}),_0x3e73ea[_0x56a2e5(0x1a7)](),_0x3e73ea[_0x56a2e5(0x1f7)](),_0x4643da[_0x56a2e5(0x1b0)](_0x26389d=>{const _0x147d19=_0x56a2e5;_0x26389d['forEach']((_0xa52efa,_0xb2bb9a)=>{const _0x286e80=_0x1ad3,_0x4eb53a=_0xa52efa[0x0],_0x453afe=_0xa52efa[0x1],_0x3ead26=(_0x4eb53a-this[_0x286e80(0x1c1)])/(this['nx']*this['gjLng'])*_0xb38ca6,_0x13e398=_0x21c8d6-(_0x453afe-this['minLat'])/(this['ny']*this[_0x286e80(0x1ef)])*_0x21c8d6;_0xb2bb9a===0x0?_0x3e73ea[_0x286e80(0x1da)](_0x3ead26,_0x13e398):_0x3e73ea[_0x286e80(0x1e4)](_0x3ead26,_0x13e398);}),_0x3e73ea[_0x147d19(0x1d5)]();}),_0x3e73ea[_0x56a2e5(0x1f2)](),_0x3e73ea[_0x56a2e5(0x1bc)](_0x2b551d,0x0,0x0,_0xb38ca6,_0x21c8d6),_0x3e73ea[_0x56a2e5(0x1ab)](),_0x417ea2;}['updateGridCanvas'](_0x1a3774,_0x30a0c8){const _0x1fb76b=_0x1633c9,_0x1e5f81=[];_0x1a3774[_0x1fb76b(0x1b0)](_0x43a0b6=>{const _0x25d5c5=_0x1fb76b;_0x1e5f81[_0x25d5c5(0x207)]([_0x43a0b6['lng'],_0x43a0b6[_0x25d5c5(0x1ee)]]);});_0x1e5f81[_0x1fb76b(0x1e7)]>0x3&&_0x1a3774[_0x1fb76b(0x1e7)]>0x3&&_0x1e5f81[_0x1fb76b(0x207)]([_0x1a3774[0x0]['lng'],_0x1a3774[0x0][_0x1fb76b(0x1ee)]]);const _0x5a8c83=polygon([_0x1e5f81]),_0x2e27c9=[],_0x5f856d=this[_0x1fb76b(0x1e5)]();return _0x5f856d[_0x1fb76b(0x1b0)](_0x3103ea=>{const _0x5b773c=_0x1fb76b,_0xa97dec=point([_0x3103ea[_0x5b773c(0x204)],_0x3103ea[_0x5b773c(0x1ee)]]);booleanPointInPolygon(_0xa97dec,_0x5a8c83)&&(_0x2e27c9[_0x5b773c(0x207)]({'lat':_0x3103ea[_0x5b773c(0x1ee)],'lng':_0x3103ea[_0x5b773c(0x204)]}),_0x3103ea[_0x5b773c(0x211)]=_0x30a0c8);}),this[_0x1fb76b(0x202)]=_0x5f856d[_0x1fb76b(0x1b0)](_0xd85b75=>_0xd85b75['val']),_0x2e27c9;}[_0x1633c9(0x20d)](){const _0x412e18=_0x1633c9;let _0x57ae19=-Infinity,_0x467fc0=Infinity;for(let _0x575b35=0x0;_0x575b35<this['values'][_0x412e18(0x1e7)];_0x575b35++){const _0x2f1d1c=this[_0x412e18(0x202)][_0x575b35];if(_0x2f1d1c&&_0x2f1d1c>_0x57ae19)_0x57ae19=_0x2f1d1c;if(_0x2f1d1c&&_0x2f1d1c<_0x467fc0)_0x467fc0=_0x2f1d1c;}this[_0x412e18(0x1f9)]=_0x467fc0,this[_0x412e18(0x209)]=_0x57ae19;}[_0x1633c9(0x1ba)]=(_0x5b7165,_0x414ab2)=>{const _0x405c12=_0x1633c9,_0x316bb6=[],_0x44278a=Math[_0x405c12(0x1ac)](0x1,Math['ceil'](_0x5b7165[_0x405c12(0x1e7)]/_0x414ab2));for(let _0x64662f=0x0;_0x64662f<_0x414ab2;_0x64662f++){_0x316bb6[_0x405c12(0x207)](_0x5b7165[_0x405c12(0x203)](_0x64662f*_0x44278a,(_0x64662f+0x1)*_0x44278a));}return _0x316bb6;};[_0x1633c9(0x1a9)](){const _0x155b46=_0x1633c9,_0x31a9d6=[];if(this[_0x155b46(0x1f9)]===Infinity||this['maxVal']===-Infinity)return _0x31a9d6;for(let _0x31f0bf=this[_0x155b46(0x1f9)]-0x1;_0x31f0bf<=this[_0x155b46(0x209)]+0x1;_0x31f0bf++){_0x31a9d6[_0x155b46(0x207)](_0x31f0bf);}return _0x31a9d6;}[_0x1633c9(0x212)]=_0x3e9b3f=>{const _0x4c29d2=_0x1633c9;if(_0x3e9b3f[_0x4c29d2(0x1e7)]===0x0)_0x3e9b3f=this['getBreaks']();const _0x26de2d=[];for(let _0x1ba974=0x0;_0x1ba974<_0x3e9b3f['length'];_0x1ba974++){const _0x380ce0=_0x3e9b3f[_0x1ba974],_0x5d38b1=_0x1ba974<_0x3e9b3f[_0x4c29d2(0x1e7)]-0x1?_0x3e9b3f[_0x1ba974+0x1]:Infinity;if(_0x380ce0==null||_0x5d38b1==null)continue;if(_0x380ce0<this[_0x4c29d2(0x1f9)]&&_0x5d38b1<this['minVal'])continue;if(_0x380ce0>this[_0x4c29d2(0x209)]&&_0x5d38b1>this['maxVal'])continue;_0x26de2d[_0x4c29d2(0x207)](_0x380ce0);}const _0x3d4196=contours()['size']([this['nx'],this['ny']])[_0x4c29d2(0x1f5)](_0x26de2d);return _0x3d4196(this[_0x4c29d2(0x202)]);};[_0x1633c9(0x1a8)]=_0x30bdb5=>{const _0x451846=_0x1633c9,_0x47d437=Math[_0x451846(0x20f)]((_0x30bdb5?.[_0x451846(0x1f1)]||Math[_0x451846(0x1b7)](this['nx']/0x400)*0x400*0x2)/this['nx'])*this['nx'],_0x2a380c=_0x47d437/this['nx']*this['ny'],_0x3c5da9=_0x30bdb5?.[_0x451846(0x1fd)]||(typeof devicePixelRatio!==_0x451846(0x1fa)?devicePixelRatio:0x1),_0x132fe2=document['createElement'](_0x451846(0x1c7)),_0x30011f=_0x132fe2[_0x451846(0x1f0)]('2d');return _0x132fe2[_0x451846(0x1f1)]=_0x47d437*_0x3c5da9,_0x132fe2[_0x451846(0x1ae)]=_0x2a380c*_0x3c5da9,_0x30011f['scale'](_0x3c5da9,_0x3c5da9),{'canvas':_0x132fe2,'ctx':_0x30011f,'width':_0x47d437,'height':_0x2a380c};};}function _0xa293(){const _0x348f76=['getIsoBandsFastByMask','restore','max','replace','height','string','map','8380280uRcepE','style','flat','isNaN','该时次文件数据异常','coordinates','round','createElement','start','chunkArray','buildGridLineCanvas','drawImage','geometry','value','forEach','fillRect','minLng','gjLng','onmessage','Polygon','#FFFFFF','9303273ssYvWN','canvas','properties','features','MultiPolygon','rgba(255,255,255,0)','Feature','buildGridCanvasClipByJson','_maskCacheKey','fill','ring','rgba(','10995UzQYGl','getColorFast','getIsoBandsFast','closePath','min','sort','convertTemKtoC','lineWidth','moveTo','size','filePath','postMessage','area','FeatureCollection','scale','1069124DwelmC','split','strokeStyle','lineTo','getJsonData','minus','length','latLngToLayerPoint','isArray','3470sPzRmO','getIsoBandsCanvas','该时次未获取到文件','5XFNdhm','lat','gjLat','getContext','width','clip','type','1804uQPHlc','thresholds','text','beginPath','rgba(0,0,0,0)','minVal','undefined','times','stroke','pixelRatio','92SqOzwz','minLat','toNumber','206tHRcHu','values','slice','lng','from','_maskCache','push','5420052RTWpZj','maxVal','plusOffset','plus','hardwareConcurrency','getMinMax','getIsoBandsCanvasByMap','floor','115629ILnAvA','val','getAllGeo','trim','buildGridCanvas','abs','fillStyle','save','createCanvas','getBreaks'];_0xa293=function(){return _0x348f76;};return _0xa293();}export default ReadFileM4;
@@ -0,0 +1,6 @@
1
+ export type { MapRenderer, RendererFactory, RendererFactoryMap } from './renderer';
2
+ export type { GpuRendererBackend, RendererBackend, RendererLifecycleState, RendererReleaseReason } from './types';
3
+ export { BaseWebgpuRenderer, WebgpuCoverageResources } from './webgpu';
4
+ export type { WebgpuFrameContext, WebgpuRendererRequirements, WebgpuRendererResources } from './webgpu';
5
+ export type { Webgl2FrameContext, Webgl2RendererRequirements, Webgl2RendererResources } from './webgl2/types';
6
+ export { BaseWebgl2Renderer, Webgl2CoverageResources, Webgl2VisualizationResources } from './webgl2';
@@ -0,0 +1 @@
1
+ (function(_0x36bc36,_0x3b1903){var _0x31aa08=_0x2577,_0x2dbe69=_0x36bc36();while(!![]){try{var _0x45d9bb=parseInt(_0x31aa08(0x16e))/0x1+-parseInt(_0x31aa08(0x169))/0x2*(parseInt(_0x31aa08(0x167))/0x3)+-parseInt(_0x31aa08(0x16a))/0x4*(parseInt(_0x31aa08(0x16d))/0x5)+parseInt(_0x31aa08(0x168))/0x6+parseInt(_0x31aa08(0x16b))/0x7*(-parseInt(_0x31aa08(0x16c))/0x8)+-parseInt(_0x31aa08(0x165))/0x9+parseInt(_0x31aa08(0x166))/0xa;if(_0x45d9bb===_0x3b1903)break;else _0x2dbe69['push'](_0x2dbe69['shift']());}catch(_0x4f02b7){_0x2dbe69['push'](_0x2dbe69['shift']());}}}(_0x5b1c,0xa7fb8));function _0x2577(_0xc6553f,_0x5b509f){var _0x5b1c3e=_0x5b1c();return _0x2577=function(_0x25773a,_0x314630){_0x25773a=_0x25773a-0x165;var _0x2f2b98=_0x5b1c3e[_0x25773a];return _0x2f2b98;},_0x2577(_0xc6553f,_0x5b509f);}export{BaseWebgpuRenderer,WebgpuCoverageResources}from'./webgpu';export{BaseWebgl2Renderer,Webgl2CoverageResources,Webgl2VisualizationResources}from'./webgl2';function _0x5b1c(){var _0x2215ac=['479249djMsFJ','11917458JYAoTg','36220850EqXJHt','333mRMspV','3250728ocyEfK','3886tWPyQO','8OiOwgW','7333501lMZvXW','8ynlKCI','3418970WezNtB'];_0x5b1c=function(){return _0x2215ac;};return _0x5b1c();}
@@ -0,0 +1,35 @@
1
+ import type { MapCrs, MapRenderViewport } from '../shared/map/types';
2
+ import type { RendererBackend, RendererLifecycleState } from './types';
3
+ /**
4
+ * Minimal interface implemented by every map renderer.
5
+ * 所有地图渲染器必须实现的最小接口。
6
+ */
7
+ export interface MapRenderer<TBackend extends RendererBackend = RendererBackend> {
8
+ readonly backend: TBackend;
9
+ readonly state: RendererLifecycleState;
10
+ /**
11
+ * Initialize the render target and backend resources.
12
+ * 初始化渲染目标和后端资源。
13
+ */
14
+ initialize(canvas: HTMLCanvasElement, crs: MapCrs): void | Promise<void>;
15
+ /**
16
+ * Render the current map viewport.
17
+ * 渲染当前地图视口。
18
+ */
19
+ render(viewport: MapRenderViewport): void;
20
+ /**
21
+ * Destroy the renderer and release its resources.
22
+ * 销毁渲染器并释放资源。
23
+ */
24
+ destroy(): void;
25
+ }
26
+ /**
27
+ * Factory used to create a feature renderer.
28
+ * 用于创建功能渲染器的工厂。
29
+ */
30
+ export type RendererFactory<TOptions, TRenderer extends MapRenderer> = (options: TOptions) => TRenderer;
31
+ /**
32
+ * Mapping from renderer backends to feature renderer factories.
33
+ * 渲染后端到功能渲染器工厂的映射。
34
+ */
35
+ export type RendererFactoryMap<TBackend extends RendererBackend, TOptions, TRenderer extends MapRenderer> = Readonly<Partial<Record<TBackend, RendererFactory<TOptions, TRenderer>>>>;
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Available renderer backends.
3
+ * 可用的渲染后端。
4
+ */
5
+ export type RendererBackend = 'cpu' | 'webgl' | 'webgl2' | 'webgpu';
6
+ /**
7
+ * GPU renderer backends.
8
+ * GPU 渲染后端。
9
+ */
10
+ export type GpuRendererBackend = Extract<RendererBackend, 'webgl2' | 'webgpu'>;
11
+ /**
12
+ * Renderer lifecycle states.
13
+ * 渲染器生命周期状态。
14
+ */
15
+ export type RendererLifecycleState = 'idle' | 'initializing' | 'ready' | 'lost' | 'restoring' | 'destroyed';
16
+ /**
17
+ * Reasons for releasing feature resources.
18
+ * 释放功能资源的原因。
19
+ */
20
+ export type RendererReleaseReason = 'destroy' | 'device-lost' | 'context-lost' | 'reinitialize' | 'initialization-failed';
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,37 @@
1
+ import type { MapCrs, MapRenderViewport } from '../../shared/map/types';
2
+ import type { MapRenderer } from '../renderer';
3
+ import type { RendererLifecycleState, RendererReleaseReason } from '../types';
4
+ import type { Webgl2FrameContext, Webgl2RendererRequirements } from './types';
5
+ /** 管理 WebGL2 上下文、帧循环、丢失恢复和公共资源工具。 */
6
+ export declare abstract class BaseWebgl2Renderer implements MapRenderer<'webgl2'> {
7
+ readonly backend: "webgl2";
8
+ private lifecycleState;
9
+ private canvas;
10
+ private context;
11
+ private crs;
12
+ private lastViewport;
13
+ private readonly contextLostHandler;
14
+ private readonly contextRestoredHandler;
15
+ get state(): RendererLifecycleState;
16
+ initialize(canvas: HTMLCanvasElement, crs: MapCrs): void;
17
+ render(viewport: MapRenderViewport): void;
18
+ destroy(): void;
19
+ protected getRequirements(): Webgl2RendererRequirements;
20
+ protected abstract createFeatureResources(): void;
21
+ protected abstract releaseFeatureResources(reason: RendererReleaseReason): void;
22
+ protected prepareFrame(_frame: Webgl2FrameContext): void;
23
+ protected encodePrePasses(_frame: Webgl2FrameContext): void;
24
+ protected abstract encodeMainPass(frame: Webgl2FrameContext): void;
25
+ protected encodePostPasses(_frame: Webgl2FrameContext): void;
26
+ protected getGl(): WebGL2RenderingContext;
27
+ protected getCrs(): MapCrs;
28
+ protected createProgram(vertexSource: string, fragmentSource: string): WebGLProgram;
29
+ protected getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation;
30
+ private getCanvas;
31
+ private createContextAndResources;
32
+ private createShader;
33
+ private resetFrameState;
34
+ private handleContextLost;
35
+ private handleContextRestored;
36
+ private releaseCurrentResources;
37
+ }
@@ -0,0 +1 @@
1
+ function _0x5fdd(_0x3c3290,_0x7fc036){const _0x3f0d36=_0x3f0d();return _0x5fdd=function(_0x5fdd10,_0x5a5aac){_0x5fdd10=_0x5fdd10-0x1f1;let _0x38bf23=_0x3f0d36[_0x5fdd10];return _0x38bf23;},_0x5fdd(_0x3c3290,_0x7fc036);}const _0x3885da=_0x5fdd;(function(_0x512778,_0x14fd15){const _0x4a178d=_0x5fdd,_0x400004=_0x512778();while(!![]){try{const _0x5490a0=parseInt(_0x4a178d(0x1f3))/0x1+parseInt(_0x4a178d(0x244))/0x2*(-parseInt(_0x4a178d(0x203))/0x3)+-parseInt(_0x4a178d(0x23b))/0x4+-parseInt(_0x4a178d(0x223))/0x5+parseInt(_0x4a178d(0x20b))/0x6+parseInt(_0x4a178d(0x23a))/0x7*(parseInt(_0x4a178d(0x1f4))/0x8)+-parseInt(_0x4a178d(0x1f8))/0x9*(-parseInt(_0x4a178d(0x232))/0xa);if(_0x5490a0===_0x14fd15)break;else _0x400004['push'](_0x400004['shift']());}catch(_0x47c4f4){_0x400004['push'](_0x400004['shift']());}}}(_0x3f0d,0xa49df));function _0x3f0d(){const _0x1b7982=['render','缺少必须的\x20WebGL2\x20扩展:','getCrs','width','crs','链接\x20WebGL2\x20Program\x20失败:','backend','683814VGdbdL','extensions','getProgramInfoLog','LINK_STATUS','ONE_MINUS_SRC_ALPHA','createContextAndResources','deleteProgram','initializing','2590176UlsfXk','当前浏览器不支持\x20WebGL2。','clear','createShader','clearColor','WebGL2\x20地图坐标系尚未初始化。','已销毁的\x20WebGL2\x20渲染器不能再次初始化。','height','removeEventListener','contextAttributes','handleContextRestored','blendFunc','COLOR_BUFFER_BIT','创建\x20WebGL2\x20Shader\x20失败。','DEPTH_TEST','VERTEX_SHADER','contextRestoredHandler','编译\x20WebGL2\x20Shader\x20失败:','context','shaderSource','webglcontextrestored','webgl2','attachShader','getRequirements','5004110jDJxIQ','releaseCurrentResources','linkProgram','getUniformLocation','canvasWidth','getExtension','releaseFeatureResources','canvas','FRAMEBUFFER','getCanvas','destroy','resetFrameState','lastViewport','WebGL2\x20上下文尚未初始化。','STENCIL_TEST','10400tGocwk','reinitialize','创建\x20WebGL2\x20Program\x20失败。','compileShader','未知错误','lifecycleState','state','handleContextLost','21WlKQDd','2929044TELvMb','ready','contextLostHandler','deleteShader','initialize','FRAGMENT_SHADER','getProgramParameter','canvasHeight','idle','4gkRMaO','viewport','createFeatureResources','getGl','destroyed','addEventListener','context-lost','createProgram','359140buTyRe','2023664AOgBCU','encodePrePasses','getContext','COMPILE_STATUS','11367llavLj','prepareFrame','encodeMainPass','encodePostPasses'];_0x3f0d=function(){return _0x1b7982;};return _0x3f0d();}export class BaseWebgl2Renderer{[_0x3885da(0x202)]=_0x3885da(0x220);[_0x3885da(0x237)]=_0x3885da(0x243);['canvas']=null;['context']=null;[_0x3885da(0x200)]=null;[_0x3885da(0x22f)]=null;['contextLostHandler']=_0x5414b2=>this[_0x3885da(0x239)](_0x5414b2);[_0x3885da(0x21b)]=()=>this[_0x3885da(0x215)]();get[_0x3885da(0x238)](){const _0x4ad81e=_0x3885da;return this[_0x4ad81e(0x237)];}[_0x3885da(0x23f)](_0x1e1ee2,_0x208986){const _0x590ab7=_0x3885da;if(this[_0x590ab7(0x237)]==='destroyed')throw new Error(_0x590ab7(0x211));if(this[_0x590ab7(0x21d)])this[_0x590ab7(0x224)](_0x590ab7(0x233));this['lifecycleState']=_0x590ab7(0x20a),this[_0x590ab7(0x22a)]=_0x1e1ee2,this[_0x590ab7(0x200)]=_0x208986,_0x1e1ee2[_0x590ab7(0x249)]('webglcontextlost',this['contextLostHandler']),_0x1e1ee2[_0x590ab7(0x249)](_0x590ab7(0x21f),this[_0x590ab7(0x21b)]),this['createContextAndResources'](),this[_0x590ab7(0x237)]=_0x590ab7(0x23c);}[_0x3885da(0x1fc)](_0x2a46f5){const _0x2bbc41=_0x3885da;if(this[_0x2bbc41(0x237)]!==_0x2bbc41(0x23c))return;const _0x51bc7f=this[_0x2bbc41(0x247)](),_0x3d826c=this[_0x2bbc41(0x22c)]();if(_0x3d826c[_0x2bbc41(0x1ff)]!==_0x2a46f5['canvasWidth'])_0x3d826c[_0x2bbc41(0x1ff)]=_0x2a46f5[_0x2bbc41(0x227)];if(_0x3d826c[_0x2bbc41(0x212)]!==_0x2a46f5['canvasHeight'])_0x3d826c[_0x2bbc41(0x212)]=_0x2a46f5[_0x2bbc41(0x242)];_0x51bc7f[_0x2bbc41(0x245)](0x0,0x0,_0x2a46f5[_0x2bbc41(0x227)],_0x2a46f5[_0x2bbc41(0x242)]),this[_0x2bbc41(0x22f)]={..._0x2a46f5};const _0x5e0de1={'gl':_0x51bc7f,'viewport':_0x2a46f5};this[_0x2bbc41(0x1f9)](_0x5e0de1),this['resetFrameState'](_0x51bc7f),this[_0x2bbc41(0x1f5)](_0x5e0de1),this[_0x2bbc41(0x1fa)](_0x5e0de1),this['encodePostPasses'](_0x5e0de1);}['destroy'](){const _0x1ddc32=_0x3885da;if(this[_0x1ddc32(0x237)]===_0x1ddc32(0x248))return;this[_0x1ddc32(0x224)](_0x1ddc32(0x22d)),this[_0x1ddc32(0x22a)]?.[_0x1ddc32(0x213)]('webglcontextlost',this[_0x1ddc32(0x23d)]),this['canvas']?.[_0x1ddc32(0x213)](_0x1ddc32(0x21f),this[_0x1ddc32(0x21b)]),this['canvas']=null,this['crs']=null,this[_0x1ddc32(0x22f)]=null,this[_0x1ddc32(0x237)]=_0x1ddc32(0x248);}[_0x3885da(0x222)](){return{};}[_0x3885da(0x1f9)](_0xb0718f){}[_0x3885da(0x1f5)](_0x41a7cd){}[_0x3885da(0x1fb)](_0x5b2665){}[_0x3885da(0x247)](){const _0x548cde=_0x3885da;if(!this[_0x548cde(0x21d)])throw new Error(_0x548cde(0x230));return this[_0x548cde(0x21d)];}[_0x3885da(0x1fe)](){const _0x43d69d=_0x3885da;if(!this[_0x43d69d(0x200)])throw new Error(_0x43d69d(0x210));return this['crs'];}[_0x3885da(0x1f2)](_0x3e07d5,_0x1083f5){const _0x2512e1=_0x3885da,_0x1178c6=this[_0x2512e1(0x247)](),_0x5e3033=this[_0x2512e1(0x20e)](_0x1178c6[_0x2512e1(0x21a)],_0x3e07d5),_0xc9f3c8=this[_0x2512e1(0x20e)](_0x1178c6[_0x2512e1(0x240)],_0x1083f5),_0x423bfc=_0x1178c6[_0x2512e1(0x1f2)]();if(!_0x423bfc)throw new Error(_0x2512e1(0x234));_0x1178c6[_0x2512e1(0x221)](_0x423bfc,_0x5e3033),_0x1178c6[_0x2512e1(0x221)](_0x423bfc,_0xc9f3c8),_0x1178c6[_0x2512e1(0x225)](_0x423bfc),_0x1178c6['deleteShader'](_0x5e3033),_0x1178c6[_0x2512e1(0x23e)](_0xc9f3c8);if(!_0x1178c6[_0x2512e1(0x241)](_0x423bfc,_0x1178c6[_0x2512e1(0x206)])){const _0x301c4d=_0x1178c6[_0x2512e1(0x205)](_0x423bfc)??_0x2512e1(0x236);_0x1178c6[_0x2512e1(0x209)](_0x423bfc);throw new Error(_0x2512e1(0x201)+_0x301c4d);}return _0x423bfc;}[_0x3885da(0x226)](_0x4bd910,_0x185fab){const _0x295981=_0x3885da,_0xf51de9=this[_0x295981(0x247)]()['getUniformLocation'](_0x4bd910,_0x185fab);if(!_0xf51de9)throw new Error('WebGL2\x20uniform\x20不存在:'+_0x185fab);return _0xf51de9;}[_0x3885da(0x22c)](){const _0x57b043=_0x3885da;if(!this[_0x57b043(0x22a)])throw new Error('WebGL2\x20画布尚未初始化。');return this['canvas'];}[_0x3885da(0x208)](){const _0x48b8d3=_0x3885da,_0xa8344a=this[_0x48b8d3(0x22c)](),_0x1c0a95=this[_0x48b8d3(0x222)](),_0x3a2b2f={..._0x1c0a95[_0x48b8d3(0x214)],'alpha':!![],'premultipliedAlpha':!![],'antialias':![],'stencil':!![]},_0x557fbe=_0xa8344a[_0x48b8d3(0x1f6)](_0x48b8d3(0x220),_0x3a2b2f);if(!_0x557fbe)throw new Error(_0x48b8d3(0x20c));for(const _0xd1311d of _0x1c0a95[_0x48b8d3(0x204)]??[]){if(!_0x557fbe[_0x48b8d3(0x228)](_0xd1311d))throw new Error(_0x48b8d3(0x1fd)+_0xd1311d);}this[_0x48b8d3(0x21d)]=_0x557fbe,this[_0x48b8d3(0x246)]();}[_0x3885da(0x20e)](_0xb6b80b,_0x19113b){const _0x287774=_0x3885da,_0x382ffc=this['getGl'](),_0x5dabc2=_0x382ffc['createShader'](_0xb6b80b);if(!_0x5dabc2)throw new Error(_0x287774(0x218));_0x382ffc[_0x287774(0x21e)](_0x5dabc2,_0x19113b),_0x382ffc[_0x287774(0x235)](_0x5dabc2);if(!_0x382ffc['getShaderParameter'](_0x5dabc2,_0x382ffc[_0x287774(0x1f7)])){const _0x2fcf02=_0x382ffc['getShaderInfoLog'](_0x5dabc2)??_0x287774(0x236);_0x382ffc[_0x287774(0x23e)](_0x5dabc2);throw new Error(_0x287774(0x21c)+_0x2fcf02);}return _0x5dabc2;}[_0x3885da(0x22e)](_0x7bc87e){const _0x69b522=_0x3885da;_0x7bc87e['bindFramebuffer'](_0x7bc87e[_0x69b522(0x22b)],null),_0x7bc87e['disable'](_0x7bc87e[_0x69b522(0x219)]),_0x7bc87e['disable'](_0x7bc87e[_0x69b522(0x231)]),_0x7bc87e['enable'](_0x7bc87e['BLEND']),_0x7bc87e[_0x69b522(0x216)](_0x7bc87e['ONE'],_0x7bc87e[_0x69b522(0x207)]),_0x7bc87e['colorMask'](!![],!![],!![],!![]),_0x7bc87e[_0x69b522(0x20f)](0x0,0x0,0x0,0x0),_0x7bc87e[_0x69b522(0x20d)](_0x7bc87e[_0x69b522(0x217)]);}[_0x3885da(0x239)](_0x4398d4){const _0x16f909=_0x3885da;_0x4398d4['preventDefault']();if(this[_0x16f909(0x237)]===_0x16f909(0x248))return;this[_0x16f909(0x237)]='lost',this[_0x16f909(0x229)](_0x16f909(0x1f1)),this[_0x16f909(0x21d)]=null;}['handleContextRestored'](){const _0xb85383=_0x3885da;if(this[_0xb85383(0x237)]===_0xb85383(0x248))return;this['lifecycleState']='restoring',this[_0xb85383(0x208)](),this[_0xb85383(0x237)]=_0xb85383(0x23c);if(this[_0xb85383(0x22f)])this[_0xb85383(0x1fc)](this['lastViewport']);}[_0x3885da(0x224)](_0x26bff1){const _0x5b6a93=_0x3885da;if(this[_0x5b6a93(0x21d)])this[_0x5b6a93(0x229)](_0x26bff1);this[_0x5b6a93(0x21d)]=null;}}
@@ -0,0 +1,4 @@
1
+ export { BaseWebgl2Renderer } from './baseWebgl2Renderer';
2
+ export { Webgl2CoverageResources } from './webgl2CoverageResources';
3
+ export { Webgl2VisualizationResources } from './webgl2VisualizationResources';
4
+ export type { Webgl2FrameContext, Webgl2RendererRequirements, Webgl2RendererResources } from './types';
@@ -0,0 +1 @@
1
+ (function(_0x3cce64,_0xfae9dc){var _0x630813=_0x3217,_0x5e32e4=_0x3cce64();while(!![]){try{var _0x41feff=parseInt(_0x630813(0x1e4))/0x1*(parseInt(_0x630813(0x1e5))/0x2)+-parseInt(_0x630813(0x1e2))/0x3*(-parseInt(_0x630813(0x1dd))/0x4)+parseInt(_0x630813(0x1df))/0x5+-parseInt(_0x630813(0x1e1))/0x6+-parseInt(_0x630813(0x1e0))/0x7+-parseInt(_0x630813(0x1e3))/0x8+parseInt(_0x630813(0x1de))/0x9;if(_0x41feff===_0xfae9dc)break;else _0x5e32e4['push'](_0x5e32e4['shift']());}catch(_0x249e94){_0x5e32e4['push'](_0x5e32e4['shift']());}}}(_0x517a,0xc3320));function _0x3217(_0x415c75,_0x432c91){var _0x517a51=_0x517a();return _0x3217=function(_0x3217c9,_0x36b9f8){_0x3217c9=_0x3217c9-0x1dd;var _0x468437=_0x517a51[_0x3217c9];return _0x468437;},_0x3217(_0x415c75,_0x432c91);}export{BaseWebgl2Renderer}from'./baseWebgl2Renderer';export{Webgl2CoverageResources}from'./webgl2CoverageResources';export{Webgl2VisualizationResources}from'./webgl2VisualizationResources';function _0x517a(){var _0x16c6e6=['35513055Zngyti','3582525hbxbyZ','10977526nkEUyg','9148704fGFACZ','18651ERPsXm','10424752ceICEP','71733qPMklY','14wEqRfm','20CrOiCS'];_0x517a=function(){return _0x16c6e6;};return _0x517a();}
@@ -0,0 +1,24 @@
1
+ import type { MapRenderViewport } from '../../shared/map/types';
2
+ /**
3
+ * Capabilities requested before initializing a WebGL2 renderer.
4
+ * WebGL2 渲染器初始化前声明的能力要求。
5
+ */
6
+ export interface Webgl2RendererRequirements {
7
+ contextAttributes?: WebGLContextAttributes;
8
+ extensions?: readonly string[];
9
+ }
10
+ /**
11
+ * Resources owned by the WebGL2 renderer lifecycle.
12
+ * WebGL2 渲染器生命周期管理的基础资源。
13
+ */
14
+ export interface Webgl2RendererResources {
15
+ readonly gl: WebGL2RenderingContext;
16
+ }
17
+ /**
18
+ * Fixed context supplied while rendering a WebGL2 frame.
19
+ * WebGL2 帧渲染过程中使用的固定上下文。
20
+ */
21
+ export interface Webgl2FrameContext {
22
+ readonly gl: WebGL2RenderingContext;
23
+ readonly viewport: MapRenderViewport;
24
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,29 @@
1
+ import type { ClipMode } from '../../shared/coverage';
2
+ import type { MapCrs, MapRenderViewport } from '../../shared/map/types';
3
+ import type { PolygonMesh } from '../../shared/polygon';
4
+ /** 管理 WebGL2 边界网格、模板覆盖和遮罩纹理。 */
5
+ export declare class Webgl2CoverageResources {
6
+ private readonly gl;
7
+ private readonly program;
8
+ private readonly viewportLocation;
9
+ private readonly mapMetaLocation;
10
+ private readonly vertexBuffer;
11
+ private maskTexture;
12
+ private maskFramebuffer;
13
+ private vertexCount;
14
+ private width;
15
+ private height;
16
+ constructor(gl: WebGL2RenderingContext, crs: MapCrs, createProgram: (vertex: string, fragment: string) => WebGLProgram);
17
+ get mask(): WebGLTexture | null;
18
+ updateMesh(mesh: PolygonMesh | null): void;
19
+ resize(width: number, height: number): void;
20
+ encode(mode: ClipMode, viewport: MapRenderViewport): void;
21
+ enableStencil(): void;
22
+ drawDirect(): boolean;
23
+ destroy(): void;
24
+ private encodeStencil;
25
+ private encodeMask;
26
+ private drawCoverage;
27
+ private bindGeometry;
28
+ private getLocation;
29
+ }
@@ -0,0 +1 @@
1
+ function _0x5118(){const _0xcc861f=['maskTexture','4ICWRAY','drawArrays','1745015nEFCki','COLOR_BUFFER_BIT','uMapMeta','TEXTURE_MIN_FILTER','texParameteri','STENCIL_TEST','32YSZHpJ','devicePixelRatio','worldTopLeftY','vertices','updateMesh','FRAMEBUFFER','enableStencil','mask','#version\x20300\x20es\x0aprecision\x20highp\x20float;\x0alayout(location\x20=\x200)\x20in\x20vec2\x20aCoordinate;\x0auniform\x20vec4\x20uViewport;\x0auniform\x20vec2\x20uMapMeta;\x0a/*\x20__COORDINATE_SOURCE__\x20*/\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20world\x20=\x20coordinateToWorld(aCoordinate,\x20uMapMeta.x);\x0a\x20\x20\x20\x20vec2\x20pixel\x20=\x20(world\x20-\x20uViewport.zw)\x20*\x20uMapMeta.y;\x0a\x20\x20\x20\x20vec2\x20clip\x20=\x20vec2(pixel.x\x20/\x20uViewport.x\x20*\x202.0\x20-\x201.0,\x201.0\x20-\x20pixel.y\x20/\x20uViewport.y\x20*\x202.0);\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(clip,\x200.0,\x201.0);\x0a}','REPLACE','FLOAT','framebufferTexture2D','createBuffer','WebGL2\x20coverage\x20uniform\x20不存在:','clear','clearColor','TEXTURE_MAG_FILTER','uViewport','TEXTURE_2D','stencilFunc','STENCIL_BUFFER_BIT','uniform2f','stencilMask','531801TrSDql','enable','663082DgPCSp','4046110QfwbjK','zoom','deleteFramebuffer','deleteBuffer','encodeStencil','342682XxIKBC','bindBuffer','width','bindTexture','ALWAYS','18DWOLpm','height','getLocation','canvasHeight','bindFramebuffer','maskFramebuffer','drawDirect','viewportLocation','texImage2D','uniform4f','resize','vertexCount','COLOR_ATTACHMENT0','useProgram','colorMask','destroy','viewport','1909881DjEjXx','worldTopLeftX','ARRAY_BUFFER','canvasWidth','enableVertexAttribArray','bindGeometry','1EbhPQw','RED','vertexAttribPointer','KEEP','创建\x20WebGL2\x20mask\x20资源失败。','program','getUniformLocation','vertexBuffer','stencilOp','mapMetaLocation','#version\x20300\x20es\x0aprecision\x20highp\x20float;\x0aout\x20vec4\x20outColor;\x0avoid\x20main()\x20{\x20outColor\x20=\x20vec4(1.0);\x20}','createFramebuffer','createTexture','24499764wmkclz','deleteTexture','NEAREST','drawCoverage','TRIANGLES','22ARZjpN'];_0x5118=function(){return _0xcc861f;};return _0x5118();}function _0x23ee(_0x4996fe,_0x27a972){const _0x511895=_0x5118();return _0x23ee=function(_0x23ee85,_0x11e8c7){_0x23ee85=_0x23ee85-0x9b;let _0x78ab9b=_0x511895[_0x23ee85];return _0x78ab9b;},_0x23ee(_0x4996fe,_0x27a972);}const _0x410037=_0x23ee;(function(_0xc69354,_0x23c8f7){const _0x28d5a2=_0x23ee,_0x4b9a19=_0xc69354();while(!![]){try{const _0x28bfe9=parseInt(_0x28d5a2(0xc9))/0x1*(-parseInt(_0x28d5a2(0xad))/0x2)+-parseInt(_0x28d5a2(0xa5))/0x3*(-parseInt(_0x28d5a2(0xdd))/0x4)+-parseInt(_0x28d5a2(0xdf))/0x5*(-parseInt(_0x28d5a2(0xb2))/0x6)+-parseInt(_0x28d5a2(0xa7))/0x7+-parseInt(_0x28d5a2(0xe5))/0x8*(-parseInt(_0x28d5a2(0xc3))/0x9)+-parseInt(_0x28d5a2(0xa8))/0xa*(-parseInt(_0x28d5a2(0xdb))/0xb)+-parseInt(_0x28d5a2(0xd6))/0xc;if(_0x28bfe9===_0x23c8f7)break;else _0x4b9a19['push'](_0x4b9a19['shift']());}catch(_0x22dc78){_0x4b9a19['push'](_0x4b9a19['shift']());}}}(_0x5118,0x8c49c));import{createWebgl2CoordinateShaderSource}from'../../shared/coordinate-shader/webgl2';const VERTEX_SOURCE=_0x410037(0xed),FRAGMENT_SOURCE=_0x410037(0xd3);export class Webgl2CoverageResources{['gl'];[_0x410037(0xce)];['viewportLocation'];['mapMetaLocation'];['vertexBuffer'];[_0x410037(0xdc)]=null;['maskFramebuffer']=null;[_0x410037(0xbd)]=0x0;['width']=0x0;['height']=0x0;constructor(_0x149cf3,_0xd5b077,_0x3d1d15){const _0x19d068=_0x410037;this['gl']=_0x149cf3,this['program']=_0x3d1d15(createWebgl2CoordinateShaderSource(VERTEX_SOURCE,_0xd5b077),FRAGMENT_SOURCE),this[_0x19d068(0xb9)]=this['getLocation'](_0x19d068(0x9f)),this[_0x19d068(0xd2)]=this['getLocation'](_0x19d068(0xe1));const _0x1485d9=_0x149cf3[_0x19d068(0xf1)]();if(!_0x1485d9)throw new Error('创建\x20WebGL2\x20边界顶点\x20Buffer\x20失败。');this[_0x19d068(0xd0)]=_0x1485d9;}get[_0x410037(0xec)](){return this['maskTexture'];}[_0x410037(0xe9)](_0x1d101c){const _0x284218=_0x410037,_0x1710ca=this['gl'];_0x1710ca[_0x284218(0xae)](_0x1710ca[_0x284218(0xc5)],this['vertexBuffer']),_0x1710ca['bufferData'](_0x1710ca[_0x284218(0xc5)],_0x1d101c?.[_0x284218(0xe8)]??new Float32Array(),_0x1710ca['STATIC_DRAW']),this[_0x284218(0xbd)]=_0x1d101c?.[_0x284218(0xbd)]??0x0;}[_0x410037(0xbc)](_0x5d3d58,_0x5c168b){const _0x1266c2=_0x410037;if(this[_0x1266c2(0xaf)]===_0x5d3d58&&this[_0x1266c2(0xb3)]===_0x5c168b)return;const _0x4f6e61=this['gl'];if(!this[_0x1266c2(0xdc)])this[_0x1266c2(0xdc)]=_0x4f6e61[_0x1266c2(0xd5)]();if(!this[_0x1266c2(0xb7)])this[_0x1266c2(0xb7)]=_0x4f6e61[_0x1266c2(0xd4)]();if(!this[_0x1266c2(0xdc)]||!this[_0x1266c2(0xb7)])throw new Error(_0x1266c2(0xcd));this[_0x1266c2(0xaf)]=_0x5d3d58,this['height']=_0x5c168b,_0x4f6e61[_0x1266c2(0xb0)](_0x4f6e61[_0x1266c2(0xa0)],this['maskTexture']),_0x4f6e61[_0x1266c2(0xe3)](_0x4f6e61[_0x1266c2(0xa0)],_0x4f6e61[_0x1266c2(0xe2)],_0x4f6e61['NEAREST']),_0x4f6e61[_0x1266c2(0xe3)](_0x4f6e61[_0x1266c2(0xa0)],_0x4f6e61[_0x1266c2(0x9e)],_0x4f6e61[_0x1266c2(0xd8)]),_0x4f6e61[_0x1266c2(0xba)](_0x4f6e61[_0x1266c2(0xa0)],0x0,_0x4f6e61['R8'],_0x5d3d58,_0x5c168b,0x0,_0x4f6e61[_0x1266c2(0xca)],_0x4f6e61['UNSIGNED_BYTE'],null),_0x4f6e61[_0x1266c2(0xb6)](_0x4f6e61[_0x1266c2(0xea)],this[_0x1266c2(0xb7)]),_0x4f6e61[_0x1266c2(0xf0)](_0x4f6e61['FRAMEBUFFER'],_0x4f6e61[_0x1266c2(0xbe)],_0x4f6e61[_0x1266c2(0xa0)],this[_0x1266c2(0xdc)],0x0),_0x4f6e61[_0x1266c2(0xb6)](_0x4f6e61[_0x1266c2(0xea)],null);}['encode'](_0x2279cd,_0x8915e){const _0x204ac6=_0x410037;if(this['vertexCount']===0x0)return;if(_0x2279cd==='mask')this['encodeMask'](_0x8915e);if(_0x2279cd==='stencil'||_0x2279cd==='direct')this[_0x204ac6(0xac)](_0x8915e);}[_0x410037(0xeb)](){const _0x94df5d=_0x410037,_0x458e07=this['gl'];_0x458e07['enable'](_0x458e07[_0x94df5d(0xe4)]),_0x458e07[_0x94df5d(0xa4)](0x0),_0x458e07[_0x94df5d(0xa1)](_0x458e07['EQUAL'],0x1,0xff),_0x458e07[_0x94df5d(0xd1)](_0x458e07[_0x94df5d(0xcc)],_0x458e07['KEEP'],_0x458e07['KEEP']);}[_0x410037(0xb8)](){const _0x494440=_0x410037;if(this[_0x494440(0xbd)]===0x0)return![];return this['bindGeometry'](),this['gl'][_0x494440(0xde)](this['gl'][_0x494440(0xda)],0x0,this[_0x494440(0xbd)]),!![];}[_0x410037(0xc1)](){const _0x249c60=_0x410037;this['gl']['deleteProgram'](this[_0x249c60(0xce)]),this['gl'][_0x249c60(0xab)](this['vertexBuffer']),this['gl'][_0x249c60(0xd7)](this['maskTexture']),this['gl'][_0x249c60(0xaa)](this[_0x249c60(0xb7)]);}[_0x410037(0xac)](_0x4b83ba){const _0x17421a=_0x410037,_0x596a21=this['gl'];_0x596a21[_0x17421a(0xb6)](_0x596a21[_0x17421a(0xea)],null),_0x596a21[_0x17421a(0xa6)](_0x596a21[_0x17421a(0xe4)]),_0x596a21['clearStencil'](0x0),_0x596a21['clear'](_0x596a21[_0x17421a(0xa2)]),_0x596a21['colorMask'](![],![],![],![]),_0x596a21[_0x17421a(0xa4)](0xff),_0x596a21[_0x17421a(0xa1)](_0x596a21[_0x17421a(0xb1)],0x1,0xff),_0x596a21[_0x17421a(0xd1)](_0x596a21[_0x17421a(0xcc)],_0x596a21['KEEP'],_0x596a21[_0x17421a(0xee)]),this[_0x17421a(0xd9)](_0x4b83ba),_0x596a21[_0x17421a(0xc0)](!![],!![],!![],!![]);}['encodeMask'](_0x1a9905){const _0x3519f6=_0x410037;if(!this['maskFramebuffer'])return;const _0x1cb850=this['gl'];_0x1cb850[_0x3519f6(0xb6)](_0x1cb850[_0x3519f6(0xea)],this[_0x3519f6(0xb7)]),_0x1cb850[_0x3519f6(0xc2)](0x0,0x0,_0x1a9905['canvasWidth'],_0x1a9905[_0x3519f6(0xb5)]),_0x1cb850[_0x3519f6(0x9d)](0x0,0x0,0x0,0x0),_0x1cb850[_0x3519f6(0x9c)](_0x1cb850[_0x3519f6(0xe0)]),this[_0x3519f6(0xd9)](_0x1a9905),_0x1cb850[_0x3519f6(0xb6)](_0x1cb850[_0x3519f6(0xea)],null),_0x1cb850[_0x3519f6(0xc2)](0x0,0x0,_0x1a9905['canvasWidth'],_0x1a9905['canvasHeight']);}['drawCoverage'](_0x2b1f2e){const _0x2c8bee=_0x410037,_0x4ed136=this['gl'];_0x4ed136[_0x2c8bee(0xbf)](this[_0x2c8bee(0xce)]),_0x4ed136[_0x2c8bee(0xbb)](this['viewportLocation'],_0x2b1f2e[_0x2c8bee(0xc6)],_0x2b1f2e[_0x2c8bee(0xb5)],_0x2b1f2e[_0x2c8bee(0xc4)],_0x2b1f2e[_0x2c8bee(0xe7)]),_0x4ed136[_0x2c8bee(0xa3)](this[_0x2c8bee(0xd2)],_0x2b1f2e[_0x2c8bee(0xa9)],_0x2b1f2e[_0x2c8bee(0xe6)]),this['bindGeometry'](),_0x4ed136[_0x2c8bee(0xde)](_0x4ed136[_0x2c8bee(0xda)],0x0,this[_0x2c8bee(0xbd)]);}[_0x410037(0xc8)](){const _0x3b78f4=_0x410037,_0x46dcb6=this['gl'];_0x46dcb6[_0x3b78f4(0xae)](_0x46dcb6[_0x3b78f4(0xc5)],this[_0x3b78f4(0xd0)]),_0x46dcb6[_0x3b78f4(0xc7)](0x0),_0x46dcb6[_0x3b78f4(0xcb)](0x0,0x2,_0x46dcb6[_0x3b78f4(0xef)],![],0x8,0x0);}[_0x410037(0xb4)](_0x1bd1bb){const _0x304b49=_0x410037,_0x51f0fc=this['gl'][_0x304b49(0xcf)](this['program'],_0x1bd1bb);if(!_0x51f0fc)throw new Error(_0x304b49(0x9b)+_0x1bd1bb);return _0x51f0fc;}}
@@ -0,0 +1,33 @@
1
+ import type { MapRenderViewport } from '../../shared/map/types';
2
+ import type { ColorMode, ColorRange, ColorStop, ColorStopArrays, GridData, SampleMode } from '../../shared/visualization';
3
+ interface Webgl2VisualizationInput {
4
+ viewport: MapRenderViewport;
5
+ grid: GridData;
6
+ colorStops: readonly ColorStop[];
7
+ colorRange: ColorRange | null;
8
+ opacity: number;
9
+ colorMode: ColorMode;
10
+ sampleMode: SampleMode;
11
+ lineWidth?: number;
12
+ maskEnabled?: boolean;
13
+ }
14
+ /** 管理 WebGL2 共用的网格与色标纹理和参数绑定。 */
15
+ export declare class Webgl2VisualizationResources {
16
+ private readonly gl;
17
+ private readonly gridTexture;
18
+ private readonly minTexture;
19
+ private readonly maxTexture;
20
+ private readonly colorTexture;
21
+ constructor(gl: WebGL2RenderingContext);
22
+ updateGrid(grid: GridData): void;
23
+ updateColorStops(arrays: ColorStopArrays): void;
24
+ bind(program: WebGLProgram, input: Webgl2VisualizationInput): void;
25
+ bindMask(program: WebGLProgram, texture: WebGLTexture): void;
26
+ destroy(): void;
27
+ private createTexture;
28
+ private uploadFloatTexture;
29
+ private setNearestClamp;
30
+ private bindTexture;
31
+ private location;
32
+ }
33
+ export {};
@@ -0,0 +1 @@
1
+ const _0x2ac796=_0x5de3;function _0x5c22(){const _0x36c089=['maskEnabled','location','uGridTexture','TEXTURE_WRAP_S','uColorMinTexture','TEXTURE_WRAP_T','uViewport','646098MLkMBh','useProgram','5dZTVQN','uGridMeta','opacity','3559869yhseBS','uniform1i','grid','height','uColorMaxTexture','worldTopLeftX','updateGrid','uMaskTexture','deleteTexture','maxLat','length','maxLng','TEXTURE0','minValue','texParameteri','14FjoNuV','RGBA32F','colorRange','colorTexture','CLAMP_TO_EDGE','noData','texImage2D','RED','FLOAT','1551304QFIArh','zoom','TEXTURE_MIN_FILTER','uNoData','colorMode','创建\x20WebGL2\x20可视化纹理失败。','destroy','520KhLSzr','bindTexture','minTexture','getUniformLocation','gridTexture','lineWidth','uMapMeta','uColorTexture','uRenderMeta','maxValue','worldTopLeftY','13441gREdyl','values','colors','uGridBounds','534288coNkXC','uniform4f','uploadFloatTexture','R32F','createTexture','6wLZrYt','264044tgSvtH','uStyle','440728RFgdsm','minLng','canvasHeight','bind','minLat','NEAREST','WebGL2\x20可视化\x20uniform\x20不存在:','viewport','TEXTURE_2D','activeTexture','colorStops','devicePixelRatio','maxs','maxTexture','width','TEXTURE_MAG_FILTER'];_0x5c22=function(){return _0x36c089;};return _0x5c22();}function _0x5de3(_0x23b3b5,_0x574a8d){const _0x5c227e=_0x5c22();return _0x5de3=function(_0x5de31e,_0x3714f6){_0x5de31e=_0x5de31e-0x1c7;let _0x244df8=_0x5c227e[_0x5de31e];return _0x244df8;},_0x5de3(_0x23b3b5,_0x574a8d);}(function(_0x5eed87,_0x12311f){const _0xdd0044=_0x5de3,_0x24451d=_0x5eed87();while(!![]){try{const _0x910ed8=-parseInt(_0xdd0044(0x218))/0x1*(-parseInt(_0xdd0044(0x1cf))/0x2)+-parseInt(_0xdd0044(0x1e9))/0x3+-parseInt(_0xdd0044(0x1d2))/0x4*(parseInt(_0xdd0044(0x1eb))/0x5)+parseInt(_0xdd0044(0x1ca))/0x6+-parseInt(_0xdd0044(0x1fd))/0x7*(parseInt(_0xdd0044(0x206))/0x8)+-parseInt(_0xdd0044(0x1ee))/0x9+parseInt(_0xdd0044(0x20d))/0xa*(parseInt(_0xdd0044(0x1d0))/0xb);if(_0x910ed8===_0x12311f)break;else _0x24451d['push'](_0x24451d['shift']());}catch(_0x4edbe9){_0x24451d['push'](_0x24451d['shift']());}}}(_0x5c22,0x41978));import{colorModeToShaderValue,sampleModeToShaderValue,toShaderFloat,validateGridData}from'../../shared/visualization';export class Webgl2VisualizationResources{['gl'];['gridTexture'];[_0x2ac796(0x20f)];[_0x2ac796(0x1df)];[_0x2ac796(0x200)];constructor(_0x420b85){const _0x47883f=_0x2ac796;this['gl']=_0x420b85,this[_0x47883f(0x211)]=this[_0x47883f(0x1ce)](),this['minTexture']=this[_0x47883f(0x1ce)](),this[_0x47883f(0x1df)]=this['createTexture'](),this[_0x47883f(0x200)]=this['createTexture']();}[_0x2ac796(0x1f4)](_0x5665a3){const _0x4f5e00=_0x2ac796;validateGridData(_0x5665a3);const _0x5af04b=this['gl'];_0x5af04b[_0x4f5e00(0x20e)](_0x5af04b['TEXTURE_2D'],this[_0x4f5e00(0x211)]),this['setNearestClamp'](),_0x5af04b[_0x4f5e00(0x203)](_0x5af04b['TEXTURE_2D'],0x0,_0x5af04b['R32F'],_0x5665a3['width'],_0x5665a3['height'],0x0,_0x5af04b[_0x4f5e00(0x204)],_0x5af04b[_0x4f5e00(0x205)],_0x5665a3[_0x4f5e00(0x1c7)]);}['updateColorStops'](_0x2fa228){const _0x5e317b=_0x2ac796,_0xd69ab3=this['gl'];this[_0x5e317b(0x1cc)](this[_0x5e317b(0x20f)],_0xd69ab3[_0x5e317b(0x1cd)],_0xd69ab3['RED'],_0x2fa228['mins'][_0x5e317b(0x1f8)],_0x2fa228['mins']),this[_0x5e317b(0x1cc)](this[_0x5e317b(0x1df)],_0xd69ab3[_0x5e317b(0x1cd)],_0xd69ab3['RED'],_0x2fa228[_0x5e317b(0x1de)][_0x5e317b(0x1f8)],_0x2fa228[_0x5e317b(0x1de)]),this[_0x5e317b(0x1cc)](this[_0x5e317b(0x200)],_0xd69ab3[_0x5e317b(0x1fe)],_0xd69ab3['RGBA'],_0x2fa228['mins'][_0x5e317b(0x1f8)],_0x2fa228[_0x5e317b(0x1c8)]);}[_0x2ac796(0x1d5)](_0x2996fd,_0x404a5b){const _0xb47cb3=_0x2ac796,_0x5d576f=this['gl'],_0x269a4d=_0x404a5b[_0xb47cb3(0x1dc)][0x0],_0x54f6cd=_0x404a5b[_0xb47cb3(0x1dc)][_0x404a5b[_0xb47cb3(0x1dc)]['length']-0x1];_0x5d576f[_0xb47cb3(0x1ea)](_0x2996fd),this[_0xb47cb3(0x20e)](_0x2996fd,_0xb47cb3(0x1e4),this[_0xb47cb3(0x211)],0x0),this['bindTexture'](_0x2996fd,_0xb47cb3(0x1e6),this[_0xb47cb3(0x20f)],0x1),this[_0xb47cb3(0x20e)](_0x2996fd,_0xb47cb3(0x1f2),this['maxTexture'],0x2),this['bindTexture'](_0x2996fd,_0xb47cb3(0x214),this['colorTexture'],0x3),_0x5d576f['uniform4f'](this[_0xb47cb3(0x1e3)](_0x2996fd,_0xb47cb3(0x1e8)),_0x404a5b[_0xb47cb3(0x1d9)]['canvasWidth'],_0x404a5b[_0xb47cb3(0x1d9)][_0xb47cb3(0x1d4)],_0x404a5b[_0xb47cb3(0x1d9)][_0xb47cb3(0x1f3)],_0x404a5b[_0xb47cb3(0x1d9)][_0xb47cb3(0x217)]),_0x5d576f[_0xb47cb3(0x1cb)](this[_0xb47cb3(0x1e3)](_0x2996fd,_0xb47cb3(0x213)),_0x404a5b[_0xb47cb3(0x1d9)][_0xb47cb3(0x207)],_0x404a5b['viewport'][_0xb47cb3(0x1dd)],_0x404a5b[_0xb47cb3(0x212)]??0x0,0x0),_0x5d576f[_0xb47cb3(0x1cb)](this[_0xb47cb3(0x1e3)](_0x2996fd,_0xb47cb3(0x1c9)),_0x404a5b[_0xb47cb3(0x1f0)][_0xb47cb3(0x1d3)],_0x404a5b[_0xb47cb3(0x1f0)][_0xb47cb3(0x1f9)],_0x404a5b[_0xb47cb3(0x1f0)][_0xb47cb3(0x1d6)],_0x404a5b[_0xb47cb3(0x1f0)][_0xb47cb3(0x1f7)]),_0x5d576f[_0xb47cb3(0x1cb)](this['location'](_0x2996fd,_0xb47cb3(0x1ec)),_0x404a5b['grid'][_0xb47cb3(0x1e0)],_0x404a5b['grid'][_0xb47cb3(0x1f1)],_0x404a5b[_0xb47cb3(0x1f0)]['valueScale'],_0x404a5b['colorStops'][_0xb47cb3(0x1f8)]),_0x5d576f[_0xb47cb3(0x1cb)](this['location'](_0x2996fd,_0xb47cb3(0x1d1)),toShaderFloat(_0x404a5b[_0xb47cb3(0x1ff)]?.[_0xb47cb3(0x1fb)]??_0x269a4d['min']),toShaderFloat(_0x404a5b[_0xb47cb3(0x1ff)]?.[_0xb47cb3(0x216)]??_0x54f6cd['max']),_0x404a5b[_0xb47cb3(0x1ed)],0x0),_0x5d576f[_0xb47cb3(0x1cb)](this[_0xb47cb3(0x1e3)](_0x2996fd,_0xb47cb3(0x215)),colorModeToShaderValue(_0x404a5b[_0xb47cb3(0x20a)]),sampleModeToShaderValue(_0x404a5b['sampleMode']),_0x404a5b[_0xb47cb3(0x1e2)]?0x1:0x0,0x0),_0x5d576f['uniform4f'](this[_0xb47cb3(0x1e3)](_0x2996fd,_0xb47cb3(0x209)),_0x404a5b[_0xb47cb3(0x1f0)][_0xb47cb3(0x202)]??0x0,_0x404a5b[_0xb47cb3(0x1f0)][_0xb47cb3(0x202)]===undefined?0x0:0x1,0x0,0x0);}['bindMask'](_0x184a9d,_0x12032c){const _0x3dd312=_0x2ac796;this[_0x3dd312(0x20e)](_0x184a9d,_0x3dd312(0x1f5),_0x12032c,0x4);}[_0x2ac796(0x20c)](){const _0x57b572=_0x2ac796;this['gl'][_0x57b572(0x1f6)](this[_0x57b572(0x211)]),this['gl'][_0x57b572(0x1f6)](this['minTexture']),this['gl'][_0x57b572(0x1f6)](this[_0x57b572(0x1df)]),this['gl'][_0x57b572(0x1f6)](this[_0x57b572(0x200)]);}[_0x2ac796(0x1ce)](){const _0x3567a8=_0x2ac796,_0x40682f=this['gl'][_0x3567a8(0x1ce)]();if(!_0x40682f)throw new Error(_0x3567a8(0x20b));return _0x40682f;}[_0x2ac796(0x1cc)](_0x37c736,_0x22f4ee,_0x4541eb,_0x5f1b32,_0x19c2fc){const _0x46b06e=_0x2ac796,_0x2871ee=this['gl'];_0x2871ee[_0x46b06e(0x20e)](_0x2871ee[_0x46b06e(0x1da)],_0x37c736),this['setNearestClamp'](),_0x2871ee['texImage2D'](_0x2871ee[_0x46b06e(0x1da)],0x0,_0x22f4ee,_0x5f1b32,0x1,0x0,_0x4541eb,_0x2871ee[_0x46b06e(0x205)],_0x19c2fc);}['setNearestClamp'](){const _0x23094d=_0x2ac796,_0x3d5bc6=this['gl'];_0x3d5bc6[_0x23094d(0x1fc)](_0x3d5bc6[_0x23094d(0x1da)],_0x3d5bc6[_0x23094d(0x208)],_0x3d5bc6[_0x23094d(0x1d7)]),_0x3d5bc6[_0x23094d(0x1fc)](_0x3d5bc6[_0x23094d(0x1da)],_0x3d5bc6[_0x23094d(0x1e1)],_0x3d5bc6[_0x23094d(0x1d7)]),_0x3d5bc6['texParameteri'](_0x3d5bc6['TEXTURE_2D'],_0x3d5bc6[_0x23094d(0x1e5)],_0x3d5bc6[_0x23094d(0x201)]),_0x3d5bc6['texParameteri'](_0x3d5bc6[_0x23094d(0x1da)],_0x3d5bc6[_0x23094d(0x1e7)],_0x3d5bc6['CLAMP_TO_EDGE']);}[_0x2ac796(0x20e)](_0x1fc499,_0x3274e5,_0x308a06,_0x2f6cd0){const _0x500a97=_0x2ac796,_0x27f24f=this['gl'];_0x27f24f[_0x500a97(0x1db)](_0x27f24f[_0x500a97(0x1fa)]+_0x2f6cd0),_0x27f24f[_0x500a97(0x20e)](_0x27f24f[_0x500a97(0x1da)],_0x308a06),_0x27f24f[_0x500a97(0x1ef)](this['location'](_0x1fc499,_0x3274e5),_0x2f6cd0);}[_0x2ac796(0x1e3)](_0x3d3b71,_0x4d2457){const _0xb251c2=_0x2ac796,_0x3b16a7=this['gl'][_0xb251c2(0x210)](_0x3d3b71,_0x4d2457);if(!_0x3b16a7)throw new Error(_0xb251c2(0x1d8)+_0x4d2457);return _0x3b16a7;}}