@antv/l7-layers 2.8.35 → 2.8.38

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 (196) hide show
  1. package/es/Geometry/models/billboard.d.ts +0 -3
  2. package/es/Geometry/models/billboard.js +0 -9
  3. package/es/Geometry/models/billboard.js.map +1 -1
  4. package/es/Geometry/models/sprite.js +2 -2
  5. package/es/core/BaseLayer.d.ts +2 -2
  6. package/es/core/BaseLayer.js.map +1 -1
  7. package/es/core/LayerGroup.d.ts +2 -1
  8. package/es/core/LayerGroup.js +5 -0
  9. package/es/core/LayerGroup.js.map +1 -1
  10. package/es/core/interface.d.ts +25 -2
  11. package/es/core/interface.js.map +1 -1
  12. package/es/image/models/image.js.map +1 -1
  13. package/es/index.d.ts +2 -2
  14. package/es/index.js +2 -2
  15. package/es/index.js.map +1 -1
  16. package/es/line/models/arc.js +4 -4
  17. package/es/line/models/arc.js.map +1 -1
  18. package/es/line/models/arc_3d.js +4 -5
  19. package/es/line/models/arc_3d.js.map +1 -1
  20. package/es/line/models/arcmini.js +5 -5
  21. package/es/line/models/arcmini.js.map +1 -1
  22. package/es/line/models/great_circle.js +3 -3
  23. package/es/line/models/great_circle.js.map +1 -1
  24. package/es/line/models/line.js +3 -3
  25. package/es/line/models/line.js.map +1 -1
  26. package/es/line/models/linearline.js +3 -3
  27. package/es/line/models/linearline.js.map +1 -1
  28. package/es/line/models/simpleLine.js +8 -8
  29. package/es/line/models/simpleLine.js.map +1 -1
  30. package/es/line/models/wall.js +5 -5
  31. package/es/line/models/wall.js.map +1 -1
  32. package/es/mask/index.d.ts +1 -4
  33. package/es/mask/index.js.map +1 -1
  34. package/es/mask/models/fill.js.map +1 -1
  35. package/es/plugins/DataMappingPlugin.d.ts +1 -0
  36. package/es/plugins/DataMappingPlugin.js +17 -9
  37. package/es/plugins/DataMappingPlugin.js.map +1 -1
  38. package/es/plugins/FeatureScalePlugin.d.ts +1 -2
  39. package/es/plugins/FeatureScalePlugin.js +42 -33
  40. package/es/plugins/FeatureScalePlugin.js.map +1 -1
  41. package/es/plugins/ShaderUniformPlugin.d.ts +1 -0
  42. package/es/plugins/ShaderUniformPlugin.js +12 -0
  43. package/es/plugins/ShaderUniformPlugin.js.map +1 -1
  44. package/es/point/models/extrude.js +3 -4
  45. package/es/point/models/extrude.js.map +1 -1
  46. package/es/point/models/fill.js +3 -4
  47. package/es/point/models/fill.js.map +1 -1
  48. package/es/point/models/fillmage.d.ts +1 -1
  49. package/es/point/models/fillmage.js +6 -21
  50. package/es/point/models/fillmage.js.map +1 -1
  51. package/es/point/models/icon-font.js +1 -1
  52. package/es/point/models/image.js +4 -4
  53. package/es/point/models/image.js.map +1 -1
  54. package/es/point/models/normal.js +1 -2
  55. package/es/point/models/normal.js.map +1 -1
  56. package/es/point/models/radar.js +5 -18
  57. package/es/point/models/radar.js.map +1 -1
  58. package/es/point/models/simplePoint.js +5 -6
  59. package/es/point/models/simplePoint.js.map +1 -1
  60. package/es/point/models/text.js +4 -4
  61. package/es/point/models/text.js.map +1 -1
  62. package/es/polygon/models/extrude.js +3 -4
  63. package/es/polygon/models/extrude.js.map +1 -1
  64. package/es/polygon/models/fill.d.ts +1 -0
  65. package/es/polygon/models/fill.js +37 -12
  66. package/es/polygon/models/fill.js.map +1 -1
  67. package/es/polygon/models/ocean.js +3 -4
  68. package/es/polygon/models/ocean.js.map +1 -1
  69. package/es/polygon/models/water.js +3 -4
  70. package/es/polygon/models/water.js.map +1 -1
  71. package/es/raster/index.d.ts +3 -3
  72. package/es/raster/index.js +16 -6
  73. package/es/raster/index.js.map +1 -1
  74. package/es/raster/models/index.d.ts +1 -1
  75. package/es/raster/models/index.js +3 -1
  76. package/es/raster/models/index.js.map +1 -1
  77. package/es/raster/models/raste-tile.d.ts +23 -0
  78. package/es/raster/models/raste-tile.js +285 -0
  79. package/es/raster/models/raste-tile.js.map +1 -0
  80. package/es/raster/models/raster.js +2 -0
  81. package/es/raster/models/raster.js.map +1 -1
  82. package/es/wind/index.d.ts +1 -17
  83. package/es/wind/index.js.map +1 -1
  84. package/es/wind/models/utils.d.ts +12 -12
  85. package/es/wind/models/utils.js +6 -5
  86. package/es/wind/models/utils.js.map +1 -1
  87. package/es/wind/models/wind.js.map +1 -1
  88. package/es/wind/models/windRender.js.map +1 -1
  89. package/lib/Geometry/models/billboard.js +0 -6
  90. package/lib/Geometry/models/billboard.js.map +1 -1
  91. package/lib/Geometry/models/sprite.js +2 -2
  92. package/lib/core/BaseLayer.js.map +1 -1
  93. package/lib/core/LayerGroup.js +5 -0
  94. package/lib/core/LayerGroup.js.map +1 -1
  95. package/lib/core/interface.js.map +1 -1
  96. package/lib/image/models/image.js.map +1 -1
  97. package/lib/index.js +29 -8
  98. package/lib/index.js.map +1 -1
  99. package/lib/line/models/arc.js +4 -5
  100. package/lib/line/models/arc.js.map +1 -1
  101. package/lib/line/models/arc_3d.js +4 -6
  102. package/lib/line/models/arc_3d.js.map +1 -1
  103. package/lib/line/models/arcmini.js +5 -6
  104. package/lib/line/models/arcmini.js.map +1 -1
  105. package/lib/line/models/great_circle.js +3 -4
  106. package/lib/line/models/great_circle.js.map +1 -1
  107. package/lib/line/models/line.js +3 -4
  108. package/lib/line/models/line.js.map +1 -1
  109. package/lib/line/models/linearline.js +3 -4
  110. package/lib/line/models/linearline.js.map +1 -1
  111. package/lib/line/models/simpleLine.js +8 -9
  112. package/lib/line/models/simpleLine.js.map +1 -1
  113. package/lib/line/models/wall.js +5 -6
  114. package/lib/line/models/wall.js.map +1 -1
  115. package/lib/mask/index.js.map +1 -1
  116. package/lib/mask/models/fill.js.map +1 -1
  117. package/lib/plugins/DataMappingPlugin.js +17 -9
  118. package/lib/plugins/DataMappingPlugin.js.map +1 -1
  119. package/lib/plugins/FeatureScalePlugin.js +43 -33
  120. package/lib/plugins/FeatureScalePlugin.js.map +1 -1
  121. package/lib/plugins/ShaderUniformPlugin.js +12 -0
  122. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  123. package/lib/point/models/extrude.js +3 -5
  124. package/lib/point/models/extrude.js.map +1 -1
  125. package/lib/point/models/fill.js +3 -5
  126. package/lib/point/models/fill.js.map +1 -1
  127. package/lib/point/models/fillmage.js +7 -23
  128. package/lib/point/models/fillmage.js.map +1 -1
  129. package/lib/point/models/icon-font.js +1 -1
  130. package/lib/point/models/image.js +4 -5
  131. package/lib/point/models/image.js.map +1 -1
  132. package/lib/point/models/normal.js +1 -3
  133. package/lib/point/models/normal.js.map +1 -1
  134. package/lib/point/models/radar.js +5 -19
  135. package/lib/point/models/radar.js.map +1 -1
  136. package/lib/point/models/simplePoint.js +5 -7
  137. package/lib/point/models/simplePoint.js.map +1 -1
  138. package/lib/point/models/text.js +4 -5
  139. package/lib/point/models/text.js.map +1 -1
  140. package/lib/polygon/models/extrude.js +3 -5
  141. package/lib/polygon/models/extrude.js.map +1 -1
  142. package/lib/polygon/models/fill.js +37 -13
  143. package/lib/polygon/models/fill.js.map +1 -1
  144. package/lib/polygon/models/ocean.js +3 -5
  145. package/lib/polygon/models/ocean.js.map +1 -1
  146. package/lib/polygon/models/water.js +3 -5
  147. package/lib/polygon/models/water.js.map +1 -1
  148. package/lib/raster/index.js +16 -6
  149. package/lib/raster/index.js.map +1 -1
  150. package/lib/raster/models/index.js +4 -1
  151. package/lib/raster/models/index.js.map +1 -1
  152. package/lib/raster/models/raste-tile.js +294 -0
  153. package/lib/raster/models/raste-tile.js.map +1 -0
  154. package/lib/raster/models/raster.js +2 -0
  155. package/lib/raster/models/raster.js.map +1 -1
  156. package/lib/wind/index.js.map +1 -1
  157. package/lib/wind/models/utils.js +6 -5
  158. package/lib/wind/models/utils.js.map +1 -1
  159. package/lib/wind/models/wind.js.map +1 -1
  160. package/lib/wind/models/windRender.js.map +1 -1
  161. package/package.json +7 -6
  162. package/es/imagetile/index.d.ts +0 -22
  163. package/es/imagetile/index.js +0 -82
  164. package/es/imagetile/index.js.map +0 -1
  165. package/es/imagetile/models/imagetile.d.ts +0 -12
  166. package/es/imagetile/models/imagetile.js +0 -133
  167. package/es/imagetile/models/imagetile.js.map +0 -1
  168. package/es/imagetile/models/index.d.ts +0 -5
  169. package/es/imagetile/models/index.js +0 -6
  170. package/es/imagetile/models/index.js.map +0 -1
  171. package/es/imagetile/utils/ImageTile.d.ts +0 -20
  172. package/es/imagetile/utils/ImageTile.js +0 -92
  173. package/es/imagetile/utils/ImageTile.js.map +0 -1
  174. package/es/imagetile/utils/Tile.d.ts +0 -27
  175. package/es/imagetile/utils/Tile.js +0 -313
  176. package/es/imagetile/utils/Tile.js.map +0 -1
  177. package/es/imagetile/utils/lruCache.d.ts +0 -20
  178. package/es/imagetile/utils/lruCache.js +0 -105
  179. package/es/imagetile/utils/lruCache.js.map +0 -1
  180. package/es/imagetile/utils/tileCache.d.ts +0 -8
  181. package/es/imagetile/utils/tileCache.js +0 -50
  182. package/es/imagetile/utils/tileCache.js.map +0 -1
  183. package/lib/imagetile/index.js +0 -95
  184. package/lib/imagetile/index.js.map +0 -1
  185. package/lib/imagetile/models/imagetile.js +0 -146
  186. package/lib/imagetile/models/imagetile.js.map +0 -1
  187. package/lib/imagetile/models/index.js +0 -17
  188. package/lib/imagetile/models/index.js.map +0 -1
  189. package/lib/imagetile/utils/ImageTile.js +0 -101
  190. package/lib/imagetile/utils/ImageTile.js.map +0 -1
  191. package/lib/imagetile/utils/Tile.js +0 -316
  192. package/lib/imagetile/utils/Tile.js.map +0 -1
  193. package/lib/imagetile/utils/lruCache.js +0 -109
  194. package/lib/imagetile/utils/lruCache.js.map +0 -1
  195. package/lib/imagetile/utils/tileCache.js +0 -58
  196. package/lib/imagetile/utils/tileCache.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/polygon/models/ocean.ts"],"names":["AttributeType","gl","getMask","rgb2arr","BaseModel","polygonTriangulation","OceanModel","layer","getLayerConfig","opacity","watercolor","watercolor2","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","LUMINANCE","type","FLOAT","u_texture1","texture1","u_texture2","texture2","u_texture3","texture3","u_watercolor","u_watercolor2","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_opacity","u_time","getLayerAnimateTime","loadTexture","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","ocean_vert","fragmentShader","ocean_frag","triangulation","depth","enable","stencil","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","rendererService","defaultTextureOptions","initImage","images","initTex","layerService","updateLayerRenderList","renderLayers","callback","loadedCount","loadedImages","map","imgSrc","image","Image","crossOrigin","src","push","onload","wrapS","MIRRORED_REPEAT","wrapT","min","LINEAR","mag"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask, rgb2arr } from '@antv/l7-utils';\nimport { create, isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\nimport ocean_frag from '../shaders/water/polygon_ocean_frag.glsl';\nimport ocean_vert from '../shaders/water/polygon_ocean_vert.glsl';\nexport default class OceanModel extends BaseModel {\n private texture1: ITexture2D;\n private texture2: ITexture2D;\n private texture3: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n watercolor = '#6D99A8',\n watercolor2 = '#0F121C',\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_texture1: this.texture1,\n u_texture2: this.texture2,\n u_texture3: this.texture3,\n u_watercolor: rgb2arr(watercolor),\n u_watercolor2: rgb2arr(watercolor2),\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n };\n }\n\n public getAnimateUniforms(): IModelUniform {\n return {\n u_time: this.layer.getLayerAnimateTime(),\n };\n }\n\n public initModels(): IModel[] {\n this.loadTexture();\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n return [\n this.layer.buildLayerModel({\n moduleName: 'polygon_ocean',\n vertexShader: ocean_vert,\n fragmentShader: ocean_frag,\n triangulation: polygonTriangulation,\n depth: { enable: false },\n\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels() {\n this.texture1?.destroy();\n this.texture2?.destroy();\n this.texture3?.destroy();\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'oceanUv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.STATIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n normal: number[],\n ) => {\n const [lng, lat] = vertex;\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen];\n },\n },\n });\n }\n\n private loadTexture() {\n const { createTexture2D } = this.rendererService;\n const defaultTextureOptions = { height: 0, width: 0 };\n // 默认索引为 undefined,所以单独赋值\n this.texture1 = createTexture2D(defaultTextureOptions);\n this.texture2 = createTexture2D(defaultTextureOptions);\n this.texture3 = createTexture2D(defaultTextureOptions);\n\n // 加载完 image 后单独给 texture f赋值\n initImage((images: HTMLImageElement[]) => {\n this.texture1 = initTex(images[0]);\n this.texture2 = initTex(images[1]);\n this.texture3 = initTex(images[2]);\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n });\n\n function initImage(callback: (loadedImages: HTMLImageElement[]) => void) {\n let loadedCount = 0;\n const loadedImages: HTMLImageElement[] = [];\n const images = [\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ',\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*MJ22QbpuCzIAAAAAAAAAAAAAARQnAQ',\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*-z2HSIVDsHIAAAAAAAAAAAAAARQnAQ',\n ];\n images.map((imgSrc: string) => {\n const image = new Image();\n image.crossOrigin = '';\n image.src = imgSrc;\n loadedImages.push(image);\n image.onload = () => {\n loadedCount++;\n if (loadedCount === 3) {\n callback(loadedImages);\n }\n };\n });\n }\n\n function initTex(image: HTMLImageElement) {\n return createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.MIRRORED_REPEAT,\n wrapT: gl.MIRRORED_REPEAT,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n }\n }\n}\n"],"file":"ocean.js"}
1
+ {"version":3,"sources":["../../../src/polygon/models/ocean.ts"],"names":["AttributeType","gl","getMask","rgb2arr","BaseModel","polygonTriangulation","OceanModel","layer","getLayerConfig","opacity","watercolor","watercolor2","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","LUMINANCE","type","FLOAT","u_texture1","texture1","u_texture2","texture2","u_texture3","texture3","u_watercolor","u_watercolor2","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_opacity","u_time","getLayerAnimateTime","loadTexture","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","ocean_vert","fragmentShader","ocean_frag","triangulation","depth","enable","stencil","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","rendererService","defaultTextureOptions","initImage","images","initTex","layerService","updateLayerRenderList","renderLayers","callback","loadedCount","loadedImages","map","imgSrc","image","Image","crossOrigin","src","push","onload","wrapS","MIRRORED_REPEAT","wrapT","min","LINEAR","mag"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask, rgb2arr } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\nimport ocean_frag from '../shaders/water/polygon_ocean_frag.glsl';\nimport ocean_vert from '../shaders/water/polygon_ocean_vert.glsl';\nexport default class OceanModel extends BaseModel {\n private texture1: ITexture2D;\n private texture2: ITexture2D;\n private texture3: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n watercolor = '#6D99A8',\n watercolor2 = '#0F121C',\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_texture1: this.texture1,\n u_texture2: this.texture2,\n u_texture3: this.texture3,\n u_watercolor: rgb2arr(watercolor),\n u_watercolor2: rgb2arr(watercolor2),\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_opacity: opacity,\n };\n }\n\n public getAnimateUniforms(): IModelUniform {\n return {\n u_time: this.layer.getLayerAnimateTime(),\n };\n }\n\n public initModels(): IModel[] {\n this.loadTexture();\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n return [\n this.layer.buildLayerModel({\n moduleName: 'polygon_ocean',\n vertexShader: ocean_vert,\n fragmentShader: ocean_frag,\n triangulation: polygonTriangulation,\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels() {\n this.texture1?.destroy();\n this.texture2?.destroy();\n this.texture3?.destroy();\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'oceanUv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.STATIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n normal: number[],\n ) => {\n const [lng, lat] = vertex;\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen];\n },\n },\n });\n }\n\n private loadTexture() {\n const { createTexture2D } = this.rendererService;\n const defaultTextureOptions = { height: 0, width: 0 };\n // 默认索引为 undefined,所以单独赋值\n this.texture1 = createTexture2D(defaultTextureOptions);\n this.texture2 = createTexture2D(defaultTextureOptions);\n this.texture3 = createTexture2D(defaultTextureOptions);\n\n // 加载完 image 后单独给 texture f赋值\n initImage((images: HTMLImageElement[]) => {\n this.texture1 = initTex(images[0]);\n this.texture2 = initTex(images[1]);\n this.texture3 = initTex(images[2]);\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n });\n\n function initImage(callback: (loadedImages: HTMLImageElement[]) => void) {\n let loadedCount = 0;\n const loadedImages: HTMLImageElement[] = [];\n const images = [\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ',\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*MJ22QbpuCzIAAAAAAAAAAAAAARQnAQ',\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*-z2HSIVDsHIAAAAAAAAAAAAAARQnAQ',\n ];\n images.map((imgSrc: string) => {\n const image = new Image();\n image.crossOrigin = '';\n image.src = imgSrc;\n loadedImages.push(image);\n image.onload = () => {\n loadedCount++;\n if (loadedCount === 3) {\n callback(loadedImages);\n }\n };\n });\n }\n\n function initTex(image: HTMLImageElement) {\n return createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.MIRRORED_REPEAT,\n wrapT: gl.MIRRORED_REPEAT,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n }\n }\n}\n"],"file":"ocean.js"}
@@ -6,7 +6,6 @@ import _inherits from "@babel/runtime/helpers/inherits";
6
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
- import _isNumber from "lodash/isNumber";
10
9
 
11
10
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
11
 
@@ -16,8 +15,8 @@ import { AttributeType, gl } from '@antv/l7-core';
16
15
  import { getMask } from '@antv/l7-utils';
17
16
  import BaseModel from '../../core/BaseModel';
18
17
  import { polygonTriangulation } from '../../core/triangulation';
19
- var water_frag = "\nuniform sampler2D u_texture;\nuniform float u_time;\nuniform float u_speed: 1.0;\nuniform float u_opacity: 1.0;\n\nvarying vec4 v_Color;\nvarying vec2 v_uv;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"picking\"\n\n float rand(vec2 n) { return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453); }\n\n float water(vec3 p) {\n float t = u_time * u_speed;\n p.z += t * 2.; p.x += t * 2.;\n vec3 c1 = texture2D(u_texture, p.xz / 30.).xyz;\n p.z += t * 3.; p.x += t * 0.52;\n vec3 c2 = texture2D(u_texture, p.xz / 30.).xyz;\n p.z += t * 4.; p.x += t * 0.8;\n vec3 c3 = texture2D(u_texture, p.xz / 30.).xyz;\n c1 += c2 - c3;\n float z = (c1.x + c1.y + c1.z) / 3.;\n return p.y + z / 4.;\n }\n\n float map(vec3 p) {\n float d = 100.0;\n d = water(p);\n return d;\n }\n\n float intersect(vec3 ro, vec3 rd) {\n float d = 0.0;\n for (int i = 0; i <= 100; i++) {\n float h = map(ro + rd * d);\n if (h < 0.1) return d;\n d += h;\n }\n return 0.0;\n }\n \n vec3 norm(vec3 p) {\n float eps = .1;\n return normalize(vec3(\n map(p + vec3(eps, 0, 0)) - map(p + vec3(-eps, 0, 0)),\n map(p + vec3(0, eps, 0)) - map(p + vec3(0, -eps, 0)),\n map(p + vec3(0, 0, eps)) - map(p + vec3(0, 0, -eps))\n ));\n } \n\n float calSpc() {\n vec3 l1 = normalize(vec3(1, 1, 1));\n vec3 ro = vec3(-3, 20, -8);\n vec3 rc = vec3(0, 0, 0);\n vec3 ww = normalize(rc - ro);\n vec3 uu = normalize(cross(vec3(0,1,0), ww));\n vec3 vv = normalize(cross(rc - ro, uu));\n vec3 rd = normalize(uu * v_uv.x + vv * v_uv.y + ww);\n float d = intersect(ro, rd);\n vec3 p = ro + rd * d;\n vec3 n = norm(p);\n float spc = pow(max(0.0, dot(reflect(l1, n), rd)), 30.0);\n return spc;\n }\n\nvoid main() {\n float opacity = styleMappingMat[0][0];\n gl_FragColor = v_Color;\n gl_FragColor.a *= opacity;\n\n float spc = calSpc();\n gl_FragColor += spc * 0.4;\n}\n";
20
- var water_vert = "attribute vec4 a_Color;\nattribute vec2 a_uv;\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_Color;\nvarying vec2 v_uv;\nuniform float u_opacity: 1.0;\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n v_uv = a_uv;\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\nstyleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n\n v_Color = a_Color;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n\n";
18
+ var water_frag = "uniform sampler2D u_texture;\nuniform float u_time: 0.0;\nuniform float u_speed: 1.0;\nuniform float u_opacity: 1.0;\n\nvarying vec4 v_Color;\nvarying vec2 v_uv;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n\nfloat rand(vec2 n) { return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453); }\n\nfloat water(vec3 p) {\n float t = u_time * u_speed;\n p.z += t * 2.; p.x += t * 2.;\n vec3 c1 = texture2D(u_texture, p.xz / 30.).xyz;\n p.z += t * 3.; p.x += t * 0.52;\n vec3 c2 = texture2D(u_texture, p.xz / 30.).xyz;\n p.z += t * 4.; p.x += t * 0.8;\n vec3 c3 = texture2D(u_texture, p.xz / 30.).xyz;\n c1 += c2 - c3;\n float z = (c1.x + c1.y + c1.z) / 3.;\n return p.y + z / 4.;\n}\n\nfloat map(vec3 p) {\n float d = 100.0;\n d = water(p);\n return d;\n}\n\nfloat intersect(vec3 ro, vec3 rd) {\n float d = 0.0;\n for (int i = 0; i <= 100; i++) {\n float h = map(ro + rd * d);\n if (h < 0.1) return d;\n d += h;\n }\n return 0.0;\n}\n\nvec3 norm(vec3 p) {\n float eps = .1;\n return normalize(vec3(\n map(p + vec3(eps, 0, 0)) - map(p + vec3(-eps, 0, 0)),\n map(p + vec3(0, eps, 0)) - map(p + vec3(0, -eps, 0)),\n map(p + vec3(0, 0, eps)) - map(p + vec3(0, 0, -eps))\n ));\n} \n\nfloat calSpc() {\n vec3 l1 = normalize(vec3(1, 1, 1));\n vec3 ro = vec3(-3, 20, -8);\n vec3 rc = vec3(0, 0, 0);\n vec3 ww = normalize(rc - ro);\n vec3 uu = normalize(cross(vec3(0,1,0), ww));\n vec3 vv = normalize(cross(rc - ro, uu));\n vec3 rd = normalize(uu * v_uv.x + vv * v_uv.y + ww);\n float d = intersect(ro, rd);\n vec3 p = ro + rd * d;\n vec3 n = norm(p);\n float spc = pow(max(0.0, dot(reflect(l1, n), rd)), 30.0);\n return spc;\n}\n\nvoid main() {\n float opacity = styleMappingMat[0][0];\n gl_FragColor = v_Color;\n gl_FragColor.a *= opacity;\n\n float spc = calSpc();\n gl_FragColor += spc * 0.4;\n}\n";
19
+ var water_vert = "attribute vec4 a_Color;\nattribute vec2 a_uv;\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_Color;\nvarying vec2 v_uv;\nuniform float u_opacity: 1.0;\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n\nvoid main() {\n v_uv = a_uv;\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\nstyleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n\n v_Color = a_Color;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n}\n\n";
21
20
 
22
21
  var WaterModel = function (_BaseModel) {
23
22
  _inherits(WaterModel, _BaseModel);
@@ -85,7 +84,7 @@ var WaterModel = function (_BaseModel) {
85
84
  u_dataTexture: this.dataTexture,
86
85
  u_cellTypeLayout: this.getCellTypeLayout(),
87
86
  u_speed: speed,
88
- u_opacity: _isNumber(opacity) ? opacity : 1.0
87
+ u_opacity: opacity
89
88
  };
90
89
  }
91
90
  }, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/polygon/models/water.ts"],"names":["AttributeType","gl","getMask","BaseModel","polygonTriangulation","WaterModel","layer","getLayerConfig","opacity","speed","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","LUMINANCE","type","FLOAT","u_texture","texture","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_speed","u_opacity","u_time","getLayerAnimateTime","loadTexture","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","water_vert","fragmentShader","water_frag","triangulation","depth","enable","stencil","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","waterTexture","rendererService","image","Image","crossOrigin","console","warn","src","onload","wrapS","MIRRORED_REPEAT","wrapT","min","LINEAR","mag","layerService","updateLayerRenderList","renderLayers"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\nimport water_frag from '../shaders/water/polygon_water_frag.glsl';\nimport water_vert from '../shaders/water/polygon_water_vert.glsl';\nexport default class WaterModel extends BaseModel {\n private texture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n speed = 0.5,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_texture: this.texture,\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_speed: speed,\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n };\n }\n\n public getAnimateUniforms(): IModelUniform {\n return {\n u_time: this.layer.getLayerAnimateTime(),\n };\n }\n\n public initModels(): IModel[] {\n this.loadTexture();\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n return [\n this.layer.buildLayerModel({\n moduleName: 'polygon_water',\n vertexShader: water_vert,\n fragmentShader: water_frag,\n triangulation: polygonTriangulation,\n depth: { enable: false },\n\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels() {\n this.texture?.destroy();\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'waterUv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.STATIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n normal: number[],\n ) => {\n const [lng, lat] = vertex;\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen];\n },\n },\n });\n }\n\n private loadTexture() {\n const {\n waterTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n const image = new Image();\n image.crossOrigin = '';\n if (waterTexture) {\n // custom texture\n console.warn(\n 'L7 recommend:https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ',\n );\n image.src = waterTexture;\n } else {\n // default texture\n image.src =\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ';\n }\n\n image.onload = () => {\n this.texture = createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.MIRRORED_REPEAT,\n wrapT: gl.MIRRORED_REPEAT,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n }\n}\n"],"file":"water.js"}
1
+ {"version":3,"sources":["../../../src/polygon/models/water.ts"],"names":["AttributeType","gl","getMask","BaseModel","polygonTriangulation","WaterModel","layer","getLayerConfig","opacity","speed","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","LUMINANCE","type","FLOAT","u_texture","texture","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_speed","u_opacity","u_time","getLayerAnimateTime","loadTexture","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","water_vert","fragmentShader","water_frag","triangulation","depth","enable","stencil","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","waterTexture","rendererService","image","Image","crossOrigin","console","warn","src","onload","wrapS","MIRRORED_REPEAT","wrapT","min","LINEAR","mag","layerService","updateLayerRenderList","renderLayers"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\nimport water_frag from '../shaders/water/polygon_water_frag.glsl';\nimport water_vert from '../shaders/water/polygon_water_vert.glsl';\nexport default class WaterModel extends BaseModel {\n private texture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n speed = 0.5,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_texture: this.texture,\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_speed: speed,\n u_opacity: opacity,\n };\n }\n\n public getAnimateUniforms(): IModelUniform {\n return {\n u_time: this.layer.getLayerAnimateTime(),\n };\n }\n\n public initModels(): IModel[] {\n this.loadTexture();\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n return [\n this.layer.buildLayerModel({\n moduleName: 'polygon_water',\n vertexShader: water_vert,\n fragmentShader: water_frag,\n triangulation: polygonTriangulation,\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels() {\n this.texture?.destroy();\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'waterUv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.STATIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n normal: number[],\n ) => {\n const [lng, lat] = vertex;\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen];\n },\n },\n });\n }\n\n private loadTexture() {\n const {\n waterTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n const image = new Image();\n image.crossOrigin = '';\n if (waterTexture) {\n // custom texture\n console.warn(\n 'L7 recommend:https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ',\n );\n image.src = waterTexture;\n } else {\n // default texture\n image.src =\n 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ';\n }\n\n image.onload = () => {\n this.texture = createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.MIRRORED_REPEAT,\n wrapT: gl.MIRRORED_REPEAT,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n }\n}\n"],"file":"water.js"}
@@ -1,7 +1,7 @@
1
- import BaseLayer from '../core/BaseLayer';
2
1
  import { IRasterLayerStyleOptions } from '../core/interface';
2
+ import LayerGroup from '../core/LayerGroup';
3
3
  import { RasterModelType } from './models/index';
4
- export default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {
4
+ export default class RaterLayer extends LayerGroup<IRasterLayerStyleOptions> {
5
5
  type: string;
6
6
  buildModels(): void;
7
7
  rebuildModels(): void;
@@ -14,6 +14,6 @@ export default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {
14
14
  };
15
15
  };
16
16
  };
17
- protected getDefaultConfig(): {} | {};
17
+ protected getDefaultConfig(): {} | {} | {};
18
18
  protected getModelType(): RasterModelType;
19
19
  }
@@ -10,11 +10,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
- import BaseLayer from '../core/BaseLayer';
13
+ import LayerGroup from '../core/LayerGroup';
14
14
  import RasterModels from './models/index';
15
15
 
16
- var RaterLayer = function (_BaseLayer) {
17
- _inherits(RaterLayer, _BaseLayer);
16
+ var RaterLayer = function (_LayerGroup) {
17
+ _inherits(RaterLayer, _LayerGroup);
18
18
 
19
19
  var _super = _createSuper(RaterLayer);
20
20
 
@@ -65,19 +65,29 @@ var RaterLayer = function (_BaseLayer) {
65
65
  var type = this.getModelType();
66
66
  var defaultConfig = {
67
67
  raster: {},
68
- raster3d: {}
68
+ raster3d: {},
69
+ rasterTile: {}
69
70
  };
70
71
  return defaultConfig[type];
71
72
  }
72
73
  }, {
73
74
  key: "getModelType",
74
75
  value: function getModelType() {
75
- return 'raster';
76
+ switch (this.layerSource.parser.type) {
77
+ case 'raster':
78
+ return 'raster';
79
+
80
+ case 'rasterTile':
81
+ return 'rasterTile';
82
+
83
+ default:
84
+ return 'raster';
85
+ }
76
86
  }
77
87
  }]);
78
88
 
79
89
  return RaterLayer;
80
- }(BaseLayer);
90
+ }(LayerGroup);
81
91
 
82
92
  export { RaterLayer as default };
83
93
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/raster/index.ts"],"names":["BaseLayer","RasterModels","RaterLayer","modelType","getModelType","layerModel","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,SAAP,MAAsB,mBAAtB;AAEA,OAAOC,YAAP,MAA8C,gBAA9C;;IACqBC,U;;;;;;;;;;;;;;;;2DACG,a;;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIJ,YAAY,CAACE,SAAD,CAAhB,CAA4B,IAA5B,CAAlB;AACA,WAAKG,MAAL,GAAc,KAAKD,UAAL,CAAgBE,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKD,UAAL,CAAgBG,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKP,YAAL,EAAb;AACA,UAAMU,aAAa,GAAG;AACpBC,QAAAA,MAAM,EAAE,EADY;AAEpBC,QAAAA,QAAQ,EAAE;AAFU,OAAtB;AAIA,aAAOF,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAA0C;AACxC,aAAO,QAAP;AACD;;;;EAhCqCX,S;;SAAnBE,U","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport { IRasterLayerStyleOptions } from '../core/interface';\nimport RasterModels, { RasterModelType } from './models/index';\nexport default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {\n public type: string = 'RasterLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new RasterModels[modelType](this);\n this.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n raster: {},\n raster3d: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): RasterModelType {\n return 'raster';\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/raster/index.ts"],"names":["LayerGroup","RasterModels","RaterLayer","modelType","getModelType","layerModel","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d","rasterTile","layerSource","parser"],"mappings":";;;;;;;;;;;;AACA,OAAOA,UAAP,MAAuB,oBAAvB;AACA,OAAOC,YAAP,MAA8C,gBAA9C;;IACqBC,U;;;;;;;;;;;;;;;;2DACG,a;;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIJ,YAAY,CAACE,SAAD,CAAhB,CAA4B,IAA5B,CAAlB;AACA,WAAKG,MAAL,GAAc,KAAKD,UAAL,CAAgBE,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKD,UAAL,CAAgBG,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKP,YAAL,EAAb;AACA,UAAMU,aAAa,GAAG;AACpBC,QAAAA,MAAM,EAAE,EADY;AAEpBC,QAAAA,QAAQ,EAAE,EAFU;AAGpBC,QAAAA,UAAU,EAAE;AAHQ,OAAtB;AAKA,aAAOH,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAA0C;AAExC,cAAQ,KAAKO,WAAL,CAAiBC,MAAjB,CAAwBR,IAAhC;AACE,aAAK,QAAL;AACE,iBAAO,QAAP;;AACF,aAAK,YAAL;AACE,iBAAO,YAAP;;AACF;AACE,iBAAO,QAAP;AANJ;AASD;;;;EA1CqCX,U;;SAAnBE,U","sourcesContent":["import { IRasterLayerStyleOptions } from '../core/interface';\nimport LayerGroup from '../core/LayerGroup';\nimport RasterModels, { RasterModelType } from './models/index';\nexport default class RaterLayer extends LayerGroup<IRasterLayerStyleOptions> {\n public type: string = 'RasterLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new RasterModels[modelType](this);\n this.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n raster: {},\n raster3d: {},\n rasterTile: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): RasterModelType {\n // 根据 source 的类型判断 model type\n switch (this.layerSource.parser.type) {\n case 'raster':\n return 'raster';\n case 'rasterTile':\n return 'rasterTile';\n default:\n return 'raster';\n }\n // return 'raster';\n }\n}\n"],"file":"index.js"}
@@ -1,4 +1,4 @@
1
- export declare type RasterModelType = 'raster' | 'raster3d';
1
+ export declare type RasterModelType = 'raster' | 'raster3d' | 'rasterTile';
2
2
  declare const RasterModels: {
3
3
  [key in RasterModelType]: any;
4
4
  };
@@ -1,7 +1,9 @@
1
+ import RasterTileModel from './raste-tile';
1
2
  import RasterModel from './raster';
2
3
  var RasterModels = {
3
4
  raster: RasterModel,
4
- raster3d: RasterModel
5
+ raster3d: RasterModel,
6
+ rasterTile: RasterTileModel
5
7
  };
6
8
  export default RasterModels;
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterModel","RasterModels","raster","raster3d"],"mappings":"AAAA,OAAOA,WAAP,MAAwB,UAAxB;AAGA,IAAMC,YAA+C,GAAG;AACtDC,EAAAA,MAAM,EAAEF,WAD8C;AAEtDG,EAAAA,QAAQ,EAAEH;AAF4C,CAAxD;AAKA,eAAeC,YAAf","sourcesContent":["import RasterModel from './raster';\nexport type RasterModelType = 'raster' | 'raster3d';\n\nconst RasterModels: { [key in RasterModelType]: any } = {\n raster: RasterModel,\n raster3d: RasterModel,\n};\n\nexport default RasterModels;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterTileModel","RasterModel","RasterModels","raster","raster3d","rasterTile"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,cAA5B;AACA,OAAOC,WAAP,MAAwB,UAAxB;AAGA,IAAMC,YAA+C,GAAG;AACtDC,EAAAA,MAAM,EAAEF,WAD8C;AAEtDG,EAAAA,QAAQ,EAAEH,WAF4C;AAGtDI,EAAAA,UAAU,EAAEL;AAH0C,CAAxD;AAMA,eAAeE,YAAf","sourcesContent":["import RasterTileModel from './raste-tile';\nimport RasterModel from './raster';\nexport type RasterModelType = 'raster' | 'raster3d' | 'rasterTile';\n\nconst RasterModels: { [key in RasterModelType]: any } = {\n raster: RasterModel,\n raster3d: RasterModel,\n rasterTile: RasterTileModel,\n};\n\nexport default RasterModels;\n"],"file":"index.js"}
@@ -0,0 +1,23 @@
1
+ import { IModelUniform } from '@antv/l7-core';
2
+ import { TilesetManager } from '@antv/l7-utils';
3
+ import BaseModel from '../../core/BaseModel';
4
+ export default class RasterTileModel extends BaseModel {
5
+ initedTileset: boolean;
6
+ tilesetManager: TilesetManager | undefined;
7
+ showGrid: boolean;
8
+ private subGridLayer;
9
+ private subTextLayer;
10
+ private lastViewStates;
11
+ private timer;
12
+ getUninforms(): IModelUniform;
13
+ initModels(): never[];
14
+ buildModels(): never[];
15
+ clearModels(): void;
16
+ renderSubGridLayer(): void;
17
+ protected registerBuiltinAttributes(): void;
18
+ private bindTilesetEvent;
19
+ private creatSubLayer;
20
+ private renderSubLayers;
21
+ private destroySubLayer;
22
+ private getCurrentView;
23
+ }
@@ -0,0 +1,285 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+
9
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
+
11
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
+
13
+ import { createLayerContainer } from '@antv/l7-core';
14
+ import BaseModel from '../../core/BaseModel';
15
+ import ImageLayer from '../../image';
16
+ import LineLayer from '../../line';
17
+ import PointLayer from '../../point';
18
+
19
+ var RasterTileModel = function (_BaseModel) {
20
+ _inherits(RasterTileModel, _BaseModel);
21
+
22
+ var _super = _createSuper(RasterTileModel);
23
+
24
+ function RasterTileModel() {
25
+ var _this;
26
+
27
+ _classCallCheck(this, RasterTileModel);
28
+
29
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30
+ args[_key] = arguments[_key];
31
+ }
32
+
33
+ _this = _super.call.apply(_super, [this].concat(args));
34
+
35
+ _defineProperty(_assertThisInitialized(_this), "initedTileset", false);
36
+
37
+ _defineProperty(_assertThisInitialized(_this), "tilesetManager", void 0);
38
+
39
+ _defineProperty(_assertThisInitialized(_this), "showGrid", false);
40
+
41
+ _defineProperty(_assertThisInitialized(_this), "subGridLayer", void 0);
42
+
43
+ _defineProperty(_assertThisInitialized(_this), "subTextLayer", void 0);
44
+
45
+ _defineProperty(_assertThisInitialized(_this), "lastViewStates", void 0);
46
+
47
+ _defineProperty(_assertThisInitialized(_this), "timer", void 0);
48
+
49
+ _defineProperty(_assertThisInitialized(_this), "renderSubLayers", function () {
50
+ if (!_this.tilesetManager) {
51
+ return;
52
+ }
53
+
54
+ var rasteTileLayer = _this.layer;
55
+
56
+ _this.tilesetManager.tiles.filter(function (tile) {
57
+ return tile.isLoaded;
58
+ }).map(function (tile) {
59
+ if (!tile.layer) {
60
+ tile.layer = _this.creatSubLayer(tile);
61
+ rasteTileLayer.addChild(tile.layer);
62
+ } else {
63
+ tile.layer.updateLayerConfig({
64
+ visible: tile.isVisible
65
+ });
66
+ }
67
+
68
+ return tile.layer;
69
+ });
70
+
71
+ if (_this.showGrid) {
72
+ if (!rasteTileLayer.hasChild(_this.subGridLayer)) {
73
+ rasteTileLayer.addChild(_this.subGridLayer);
74
+ }
75
+
76
+ if (!rasteTileLayer.hasChild(_this.subTextLayer)) {
77
+ rasteTileLayer.addChild(_this.subTextLayer);
78
+ }
79
+ }
80
+
81
+ _this.layerService.renderLayers();
82
+
83
+ if (_this.tilesetManager.isLoaded) {
84
+ rasteTileLayer.emit('tiles-loaded', _this.tilesetManager.currentTiles);
85
+ }
86
+ });
87
+
88
+ return _this;
89
+ }
90
+
91
+ _createClass(RasterTileModel, [{
92
+ key: "getUninforms",
93
+ value: function getUninforms() {
94
+ return {};
95
+ }
96
+ }, {
97
+ key: "initModels",
98
+ value: function initModels() {
99
+ var _this$tilesetManager;
100
+
101
+ var source = this.layer.getSource();
102
+ this.tilesetManager = source.tileset;
103
+
104
+ if (!this.initedTileset) {
105
+ this.bindTilesetEvent();
106
+ this.initedTileset = true;
107
+ }
108
+
109
+ var _this$getCurrentView = this.getCurrentView(),
110
+ latLonBounds = _this$getCurrentView.latLonBounds,
111
+ zoom = _this$getCurrentView.zoom;
112
+
113
+ (_this$tilesetManager = this.tilesetManager) === null || _this$tilesetManager === void 0 ? void 0 : _this$tilesetManager.update(zoom, latLonBounds);
114
+
115
+ if (this.showGrid) {
116
+ this.renderSubGridLayer();
117
+ }
118
+
119
+ return this.buildModels();
120
+ }
121
+ }, {
122
+ key: "buildModels",
123
+ value: function buildModels() {
124
+ return [];
125
+ }
126
+ }, {
127
+ key: "clearModels",
128
+ value: function clearModels() {}
129
+ }, {
130
+ key: "renderSubGridLayer",
131
+ value: function renderSubGridLayer() {
132
+ if (!this.tilesetManager) {
133
+ return;
134
+ }
135
+
136
+ var features = this.tilesetManager.currentTiles.map(function (tile) {
137
+ return tile.bboxPolygon;
138
+ });
139
+ var data = {
140
+ type: 'FeatureCollection',
141
+ features: features
142
+ };
143
+
144
+ if (this.subGridLayer) {
145
+ this.subGridLayer.setData(data);
146
+ this.subTextLayer.setData(data);
147
+ return;
148
+ }
149
+
150
+ this.subGridLayer = new LineLayer({
151
+ autoFit: false
152
+ }).source(data).size(1).color('red').shape('simple').style({
153
+ lineType: 'dash',
154
+ dashArray: [1, 2]
155
+ });
156
+ this.subTextLayer = new PointLayer({
157
+ autoFit: false
158
+ }).source(data).size(14).color('red').shape('meta', 'text').style({
159
+ opacity: 1,
160
+ strokeWidth: 1,
161
+ stroke: '#fff'
162
+ });
163
+ this.subGridLayer.setContainer(createLayerContainer(this.layer.sceneContainer), this.layer.sceneContainer);
164
+ this.subTextLayer.setContainer(createLayerContainer(this.layer.sceneContainer), this.layer.sceneContainer);
165
+ this.subGridLayer.init();
166
+ this.subTextLayer.init();
167
+ }
168
+ }, {
169
+ key: "registerBuiltinAttributes",
170
+ value: function registerBuiltinAttributes() {}
171
+ }, {
172
+ key: "bindTilesetEvent",
173
+ value: function bindTilesetEvent() {
174
+ var _this2 = this;
175
+
176
+ if (!this.tilesetManager) {
177
+ return;
178
+ }
179
+
180
+ this.tilesetManager.on('tile-loaded', function (tile) {});
181
+ this.tilesetManager.on('tile-unload', function (tile) {
182
+ _this2.destroySubLayer(tile);
183
+ });
184
+ this.tilesetManager.on('tile-error', function (error, tile) {});
185
+ this.tilesetManager.on('tile-update', this.renderSubLayers);
186
+ this.mapService.on('mapchange', function (e) {
187
+ var _this2$getCurrentView = _this2.getCurrentView(),
188
+ latLonBounds = _this2$getCurrentView.latLonBounds,
189
+ zoom = _this2$getCurrentView.zoom;
190
+
191
+ if (_this2.mapService.version === 'GAODE1.x') {
192
+ var _this2$layer$getLayer = _this2.layer.getLayerConfig(),
193
+ visible = _this2$layer$getLayer.visible;
194
+
195
+ if (zoom < 3 && visible) {
196
+ _this2.layer.updateLayerConfig({
197
+ visible: false
198
+ });
199
+
200
+ _this2.layerService.updateLayerRenderList();
201
+ } else if (zoom >= 3 && !visible) {
202
+ _this2.layer.updateLayerConfig({
203
+ visible: true
204
+ });
205
+
206
+ _this2.layerService.updateLayerRenderList();
207
+ }
208
+ }
209
+
210
+ if (_this2.lastViewStates && _this2.lastViewStates.zoom === zoom && _this2.lastViewStates.latLonBounds.toString() === latLonBounds.toString()) {
211
+ return;
212
+ }
213
+
214
+ _this2.lastViewStates = {
215
+ zoom: zoom,
216
+ latLonBounds: latLonBounds
217
+ };
218
+
219
+ if (_this2.timer) {
220
+ clearTimeout(_this2.timer);
221
+ _this2.timer = null;
222
+ }
223
+
224
+ _this2.timer = setTimeout(function () {
225
+ var _this2$tilesetManager;
226
+
227
+ (_this2$tilesetManager = _this2.tilesetManager) === null || _this2$tilesetManager === void 0 ? void 0 : _this2$tilesetManager.update(zoom, latLonBounds);
228
+
229
+ if (_this2.showGrid) {
230
+ _this2.renderSubGridLayer();
231
+ }
232
+ }, 250);
233
+ });
234
+ }
235
+ }, {
236
+ key: "creatSubLayer",
237
+ value: function creatSubLayer(tile) {
238
+ var _ref = this.layer.getLayerConfig(),
239
+ _ref$opacity = _ref.opacity,
240
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
241
+ _ref$zIndex = _ref.zIndex,
242
+ zIndex = _ref$zIndex === void 0 ? 0 : _ref$zIndex;
243
+
244
+ var layer = new ImageLayer({
245
+ visible: tile.isVisible,
246
+ zIndex: zIndex
247
+ }).source(tile.data, {
248
+ parser: {
249
+ type: 'image',
250
+ extent: tile.bounds
251
+ }
252
+ }).style({
253
+ opacity: opacity
254
+ });
255
+ var container = createLayerContainer(this.layer.sceneContainer);
256
+ layer.setContainer(container, this.layer.sceneContainer);
257
+ layer.init();
258
+ return layer;
259
+ }
260
+ }, {
261
+ key: "destroySubLayer",
262
+ value: function destroySubLayer(tile) {
263
+ if (tile.layer) {
264
+ var layerGroup = this.layer;
265
+ layerGroup.removeChild(tile.layer);
266
+ }
267
+ }
268
+ }, {
269
+ key: "getCurrentView",
270
+ value: function getCurrentView() {
271
+ var bounds = this.mapService.getBounds();
272
+ var latLonBounds = [bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1]];
273
+ var zoom = this.mapService.getZoom();
274
+ return {
275
+ latLonBounds: latLonBounds,
276
+ zoom: zoom
277
+ };
278
+ }
279
+ }]);
280
+
281
+ return RasterTileModel;
282
+ }(BaseModel);
283
+
284
+ export { RasterTileModel as default };
285
+ //# sourceMappingURL=raste-tile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/raster/models/raste-tile.ts"],"names":["createLayerContainer","BaseModel","ImageLayer","LineLayer","PointLayer","RasterTileModel","tilesetManager","rasteTileLayer","layer","tiles","filter","tile","isLoaded","map","creatSubLayer","addChild","updateLayerConfig","visible","isVisible","showGrid","hasChild","subGridLayer","subTextLayer","layerService","renderLayers","emit","currentTiles","source","getSource","tileset","initedTileset","bindTilesetEvent","getCurrentView","latLonBounds","zoom","update","renderSubGridLayer","buildModels","features","bboxPolygon","data","type","setData","autoFit","size","color","shape","style","lineType","dashArray","opacity","strokeWidth","stroke","setContainer","sceneContainer","init","on","destroySubLayer","error","renderSubLayers","mapService","e","version","getLayerConfig","updateLayerRenderList","lastViewStates","toString","timer","clearTimeout","setTimeout","zIndex","parser","extent","bounds","container","layerGroup","removeChild","getBounds","getZoom"],"mappings":"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","sourcesContent":["import {\n createLayerContainer,\n ILayer,\n ILayerGroup,\n IModelUniform,\n} from '@antv/l7-core';\nimport { Tile, TilesetManager } from '@antv/l7-utils';\nimport { Container } from 'inversify';\nimport BaseModel from '../../core/BaseModel';\nimport { IRasterTileLayerStyleOptions } from '../../core/interface';\nimport ImageLayer from '../../image';\nimport LineLayer from '../../line';\nimport PointLayer from '../../point';\n\nexport default class RasterTileModel extends BaseModel {\n // 瓦片是否加载成功\n public initedTileset = false;\n // 瓦片数据管理器\n public tilesetManager: TilesetManager | undefined;\n // 是否开启瓦片网格子图层,用于调试\n public showGrid = false;\n // 瓦片网格子图层,用于调试\n private subGridLayer: ILayer;\n // 瓦片网格文本子图层,用于调试\n private subTextLayer: ILayer;\n // 上一次视野状态\n private lastViewStates: {\n zoom: number;\n latLonBounds: [number, number, number, number];\n };\n private timer: any;\n\n public getUninforms(): IModelUniform {\n return {};\n }\n\n public initModels() {\n const source = this.layer.getSource();\n this.tilesetManager = source.tileset;\n\n if (!this.initedTileset) {\n this.bindTilesetEvent();\n this.initedTileset = true;\n }\n\n const { latLonBounds, zoom } = this.getCurrentView();\n this.tilesetManager?.update(zoom, latLonBounds);\n\n if (this.showGrid) {\n this.renderSubGridLayer();\n }\n\n return this.buildModels();\n }\n\n public buildModels() {\n return [];\n }\n\n public clearModels() {\n //\n }\n\n // 渲染瓦片网格图层方便调试\n public renderSubGridLayer() {\n if (!this.tilesetManager) {\n return;\n }\n\n const features = this.tilesetManager.currentTiles.map(\n (tile) => tile.bboxPolygon,\n );\n\n const data = { type: 'FeatureCollection', features };\n\n if (this.subGridLayer) {\n this.subGridLayer.setData(data);\n this.subTextLayer.setData(data);\n return;\n }\n\n this.subGridLayer = new LineLayer({ autoFit: false })\n .source(data)\n .size(1)\n .color('red')\n .shape('simple')\n .style({ lineType: 'dash', dashArray: [1, 2] });\n\n this.subTextLayer = new PointLayer({ autoFit: false })\n .source(data)\n .size(14)\n .color('red')\n .shape('meta', 'text')\n .style({\n opacity: 1,\n strokeWidth: 1,\n stroke: '#fff',\n });\n\n this.subGridLayer.setContainer(\n createLayerContainer(this.layer.sceneContainer as Container),\n this.layer.sceneContainer as Container,\n );\n this.subTextLayer.setContainer(\n createLayerContainer(this.layer.sceneContainer as Container),\n this.layer.sceneContainer as Container,\n );\n this.subGridLayer.init();\n this.subTextLayer.init();\n }\n\n protected registerBuiltinAttributes() {\n //\n }\n\n // 监听瓦片管理器\n private bindTilesetEvent() {\n if (!this.tilesetManager) {\n return;\n }\n // 瓦片数据加载成功\n this.tilesetManager.on('tile-loaded', (tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n });\n\n // 瓦片数据从缓存删除或被执行重新加载\n this.tilesetManager.on('tile-unload', (tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n this.destroySubLayer(tile);\n });\n\n // 瓦片数据加载失败\n this.tilesetManager.on('tile-error', (error, tile: Tile) => {\n // todo: 将事件抛出,图层上可以监听使用\n });\n\n // 瓦片显隐状态更新\n this.tilesetManager.on('tile-update', this.renderSubLayers);\n\n // 地图视野发生改变\n this.mapService.on('mapchange', (e) => {\n const { latLonBounds, zoom } = this.getCurrentView();\n\n if (this.mapService.version === 'GAODE1.x') {\n const { visible } = this.layer.getLayerConfig();\n if (zoom < 3 && visible) {\n this.layer.updateLayerConfig({ visible: false });\n this.layerService.updateLayerRenderList();\n } else if (zoom >= 3 && !visible) {\n this.layer.updateLayerConfig({ visible: true });\n this.layerService.updateLayerRenderList();\n }\n }\n\n if (\n this.lastViewStates &&\n this.lastViewStates.zoom === zoom &&\n this.lastViewStates.latLonBounds.toString() === latLonBounds.toString()\n ) {\n return;\n }\n this.lastViewStates = { zoom, latLonBounds };\n\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.tilesetManager?.update(zoom, latLonBounds);\n if (this.showGrid) {\n this.renderSubGridLayer();\n }\n }, 250);\n });\n }\n\n // 创建子图层\n private creatSubLayer(tile: Tile) {\n const {\n opacity = 1,\n zIndex = 0,\n } = this.layer.getLayerConfig() as IRasterTileLayerStyleOptions;\n const layer = new ImageLayer({\n visible: tile.isVisible,\n zIndex,\n })\n .source(tile.data, {\n parser: {\n type: 'image',\n extent: tile.bounds,\n },\n })\n .style({\n opacity,\n });\n const container = createLayerContainer(\n this.layer.sceneContainer as Container,\n );\n layer.setContainer(container, this.layer.sceneContainer as Container);\n layer.init();\n\n return layer;\n }\n\n // 更新子图层\n private renderSubLayers = () => {\n if (!this.tilesetManager) {\n return;\n }\n\n const rasteTileLayer = this.layer as ILayerGroup;\n\n this.tilesetManager.tiles\n .filter((tile) => tile.isLoaded)\n .map((tile) => {\n if (!tile.layer) {\n tile.layer = this.creatSubLayer(tile);\n rasteTileLayer.addChild(tile.layer);\n } else {\n // 显隐藏控制\n tile.layer.updateLayerConfig({\n visible: tile.isVisible,\n });\n }\n return tile.layer;\n });\n\n if (this.showGrid) {\n if (!rasteTileLayer.hasChild(this.subGridLayer)) {\n rasteTileLayer.addChild(this.subGridLayer);\n }\n if (!rasteTileLayer.hasChild(this.subTextLayer)) {\n rasteTileLayer.addChild(this.subTextLayer);\n }\n }\n\n this.layerService.renderLayers();\n\n if (this.tilesetManager.isLoaded) {\n // 将事件抛出,图层上可以使用瓦片\n rasteTileLayer.emit('tiles-loaded', this.tilesetManager.currentTiles);\n }\n };\n\n // 摧毁子图层\n private destroySubLayer(tile: Tile) {\n if (tile.layer) {\n const layerGroup = this.layer as ILayerGroup;\n layerGroup.removeChild(tile.layer);\n }\n }\n\n // 获取当前视野参数\n private getCurrentView() {\n const bounds = this.mapService.getBounds();\n const latLonBounds: [number, number, number, number] = [\n bounds[0][0],\n bounds[0][1],\n bounds[1][0],\n bounds[1][1],\n ];\n const zoom = this.mapService.getZoom();\n\n return { latLonBounds, zoom };\n }\n}\n"],"file":"raste-tile.js"}
@@ -69,6 +69,8 @@ var RasterModel = function (_BaseModel) {
69
69
  }, {
70
70
  key: "initModels",
71
71
  value: function initModels() {
72
+ this.layer.isLayerGroup = false;
73
+
72
74
  var _ref2 = this.layer.getLayerConfig(),
73
75
  _ref2$mask = _ref2.mask,
74
76
  mask = _ref2$mask === void 0 ? false : _ref2$mask,