maplibre-gl-components 0.17.0 → 0.17.2

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 (164) hide show
  1. package/dist/{ControlGrid-DIAcXRBe.cjs → ControlGrid-BBBM8qLm.cjs} +147 -147
  2. package/dist/{ControlGrid-C6zp03Vq.js → ControlGrid-mWA6ezKk.js} +3879 -3873
  3. package/dist/{DuckDBConverter-5a2FWwmf.js → DuckDBConverter-AYRXGnkT.js} +1 -1
  4. package/dist/{DuckDBConverter-pfXSUi_l.cjs → DuckDBConverter-BCFB3t23.cjs} +1 -1
  5. package/dist/{ShapefileConverter-DN3fVOuo.js → ShapefileConverter-CO3Odi6Z.js} +1 -1
  6. package/dist/{ShapefileConverter-DGCXPY_S.cjs → ShapefileConverter-GIKUtH5Q.cjs} +1 -1
  7. package/dist/{geotiff-DYylEFA9.cjs → geotiff-1T_xRuZY.cjs} +2 -2
  8. package/dist/{geotiff-Bzy-Zyc2.js → geotiff-BCanNDRY.js} +2 -2
  9. package/dist/index.cjs +1 -1
  10. package/dist/index.mjs +3 -3
  11. package/dist/{lerc-DQRITnja.cjs → lerc-C6881AhL.cjs} +1 -1
  12. package/dist/{lerc-2QwcA_K7.js → lerc-CvqemrAo.js} +1 -1
  13. package/dist/{maplibre-geoman.es-C0F1ydoG.cjs → maplibre-geoman.es-Gqeh7dIq.cjs} +1 -1
  14. package/dist/react.cjs +1 -1
  15. package/dist/react.mjs +1 -1
  16. package/dist/{src → types}/lib/core/CogLayer.d.ts.map +1 -1
  17. package/package.json +1 -1
  18. /package/dist/{src → types}/index.d.ts +0 -0
  19. /package/dist/{src → types}/index.d.ts.map +0 -0
  20. /package/dist/{src → types}/lib/adapters/AddVectorAdapter.d.ts +0 -0
  21. /package/dist/{src → types}/lib/adapters/AddVectorAdapter.d.ts.map +0 -0
  22. /package/dist/{src → types}/lib/adapters/CogLayerAdapter.d.ts +0 -0
  23. /package/dist/{src → types}/lib/adapters/CogLayerAdapter.d.ts.map +0 -0
  24. /package/dist/{src → types}/lib/adapters/PMTilesLayerAdapter.d.ts +0 -0
  25. /package/dist/{src → types}/lib/adapters/PMTilesLayerAdapter.d.ts.map +0 -0
  26. /package/dist/{src → types}/lib/adapters/StacLayerAdapter.d.ts +0 -0
  27. /package/dist/{src → types}/lib/adapters/StacLayerAdapter.d.ts.map +0 -0
  28. /package/dist/{src → types}/lib/adapters/ZarrLayerAdapter.d.ts +0 -0
  29. /package/dist/{src → types}/lib/adapters/ZarrLayerAdapter.d.ts.map +0 -0
  30. /package/dist/{src → types}/lib/adapters/index.d.ts +0 -0
  31. /package/dist/{src → types}/lib/adapters/index.d.ts.map +0 -0
  32. /package/dist/{src → types}/lib/addControlGrid.d.ts +0 -0
  33. /package/dist/{src → types}/lib/addControlGrid.d.ts.map +0 -0
  34. /package/dist/{src → types}/lib/colormaps/diverging.d.ts +0 -0
  35. /package/dist/{src → types}/lib/colormaps/diverging.d.ts.map +0 -0
  36. /package/dist/{src → types}/lib/colormaps/index.d.ts +0 -0
  37. /package/dist/{src → types}/lib/colormaps/index.d.ts.map +0 -0
  38. /package/dist/{src → types}/lib/colormaps/misc.d.ts +0 -0
  39. /package/dist/{src → types}/lib/colormaps/misc.d.ts.map +0 -0
  40. /package/dist/{src → types}/lib/colormaps/sequential.d.ts +0 -0
  41. /package/dist/{src → types}/lib/colormaps/sequential.d.ts.map +0 -0
  42. /package/dist/{src → types}/lib/converters/DuckDBConverter.d.ts +0 -0
  43. /package/dist/{src → types}/lib/converters/DuckDBConverter.d.ts.map +0 -0
  44. /package/dist/{src → types}/lib/converters/ShapefileConverter.d.ts +0 -0
  45. /package/dist/{src → types}/lib/converters/ShapefileConverter.d.ts.map +0 -0
  46. /package/dist/{src → types}/lib/converters/index.d.ts +0 -0
  47. /package/dist/{src → types}/lib/converters/index.d.ts.map +0 -0
  48. /package/dist/{src → types}/lib/converters/types.d.ts +0 -0
  49. /package/dist/{src → types}/lib/converters/types.d.ts.map +0 -0
  50. /package/dist/{src → types}/lib/core/AddVector.d.ts +0 -0
  51. /package/dist/{src → types}/lib/core/AddVector.d.ts.map +0 -0
  52. /package/dist/{src → types}/lib/core/Basemap.d.ts +0 -0
  53. /package/dist/{src → types}/lib/core/Basemap.d.ts.map +0 -0
  54. /package/dist/{src → types}/lib/core/BasemapReact.d.ts +0 -0
  55. /package/dist/{src → types}/lib/core/BasemapReact.d.ts.map +0 -0
  56. /package/dist/{src → types}/lib/core/BookmarkControl.d.ts +0 -0
  57. /package/dist/{src → types}/lib/core/BookmarkControl.d.ts.map +0 -0
  58. /package/dist/{src → types}/lib/core/ChoroplethControl.d.ts +0 -0
  59. /package/dist/{src → types}/lib/core/ChoroplethControl.d.ts.map +0 -0
  60. /package/dist/{src → types}/lib/core/CogLayer.d.ts +0 -0
  61. /package/dist/{src → types}/lib/core/CogLayerReact.d.ts +0 -0
  62. /package/dist/{src → types}/lib/core/CogLayerReact.d.ts.map +0 -0
  63. /package/dist/{src → types}/lib/core/Colorbar.d.ts +0 -0
  64. /package/dist/{src → types}/lib/core/Colorbar.d.ts.map +0 -0
  65. /package/dist/{src → types}/lib/core/ColorbarGuiControl.d.ts +0 -0
  66. /package/dist/{src → types}/lib/core/ColorbarGuiControl.d.ts.map +0 -0
  67. /package/dist/{src → types}/lib/core/ColorbarReact.d.ts +0 -0
  68. /package/dist/{src → types}/lib/core/ColorbarReact.d.ts.map +0 -0
  69. /package/dist/{src → types}/lib/core/ControlGrid.d.ts +0 -0
  70. /package/dist/{src → types}/lib/core/ControlGrid.d.ts.map +0 -0
  71. /package/dist/{src → types}/lib/core/ControlGridReact.d.ts +0 -0
  72. /package/dist/{src → types}/lib/core/ControlGridReact.d.ts.map +0 -0
  73. /package/dist/{src → types}/lib/core/HtmlControl.d.ts +0 -0
  74. /package/dist/{src → types}/lib/core/HtmlControl.d.ts.map +0 -0
  75. /package/dist/{src → types}/lib/core/HtmlControlReact.d.ts +0 -0
  76. /package/dist/{src → types}/lib/core/HtmlControlReact.d.ts.map +0 -0
  77. /package/dist/{src → types}/lib/core/HtmlGuiControl.d.ts +0 -0
  78. /package/dist/{src → types}/lib/core/HtmlGuiControl.d.ts.map +0 -0
  79. /package/dist/{src → types}/lib/core/InspectControl.d.ts +0 -0
  80. /package/dist/{src → types}/lib/core/InspectControl.d.ts.map +0 -0
  81. /package/dist/{src → types}/lib/core/InspectControlReact.d.ts +0 -0
  82. /package/dist/{src → types}/lib/core/InspectControlReact.d.ts.map +0 -0
  83. /package/dist/{src → types}/lib/core/Legend.d.ts +0 -0
  84. /package/dist/{src → types}/lib/core/Legend.d.ts.map +0 -0
  85. /package/dist/{src → types}/lib/core/LegendGuiControl.d.ts +0 -0
  86. /package/dist/{src → types}/lib/core/LegendGuiControl.d.ts.map +0 -0
  87. /package/dist/{src → types}/lib/core/LegendReact.d.ts +0 -0
  88. /package/dist/{src → types}/lib/core/LegendReact.d.ts.map +0 -0
  89. /package/dist/{src → types}/lib/core/MeasureControl.d.ts +0 -0
  90. /package/dist/{src → types}/lib/core/MeasureControl.d.ts.map +0 -0
  91. /package/dist/{src → types}/lib/core/MinimapControl.d.ts +0 -0
  92. /package/dist/{src → types}/lib/core/MinimapControl.d.ts.map +0 -0
  93. /package/dist/{src → types}/lib/core/MinimapControlReact.d.ts +0 -0
  94. /package/dist/{src → types}/lib/core/MinimapControlReact.d.ts.map +0 -0
  95. /package/dist/{src → types}/lib/core/PMTilesLayer.d.ts +0 -0
  96. /package/dist/{src → types}/lib/core/PMTilesLayer.d.ts.map +0 -0
  97. /package/dist/{src → types}/lib/core/PrintControl.d.ts +0 -0
  98. /package/dist/{src → types}/lib/core/PrintControl.d.ts.map +0 -0
  99. /package/dist/{src → types}/lib/core/SearchControl.d.ts +0 -0
  100. /package/dist/{src → types}/lib/core/SearchControl.d.ts.map +0 -0
  101. /package/dist/{src → types}/lib/core/SearchControlReact.d.ts +0 -0
  102. /package/dist/{src → types}/lib/core/SearchControlReact.d.ts.map +0 -0
  103. /package/dist/{src → types}/lib/core/SpinGlobeControl.d.ts +0 -0
  104. /package/dist/{src → types}/lib/core/SpinGlobeControl.d.ts.map +0 -0
  105. /package/dist/{src → types}/lib/core/StacLayer.d.ts +0 -0
  106. /package/dist/{src → types}/lib/core/StacLayer.d.ts.map +0 -0
  107. /package/dist/{src → types}/lib/core/StacSearch.d.ts +0 -0
  108. /package/dist/{src → types}/lib/core/StacSearch.d.ts.map +0 -0
  109. /package/dist/{src → types}/lib/core/Terrain.d.ts +0 -0
  110. /package/dist/{src → types}/lib/core/Terrain.d.ts.map +0 -0
  111. /package/dist/{src → types}/lib/core/TerrainReact.d.ts +0 -0
  112. /package/dist/{src → types}/lib/core/TerrainReact.d.ts.map +0 -0
  113. /package/dist/{src → types}/lib/core/TileLayerControl.d.ts +0 -0
  114. /package/dist/{src → types}/lib/core/TileLayerControl.d.ts.map +0 -0
  115. /package/dist/{src → types}/lib/core/VectorDataset.d.ts +0 -0
  116. /package/dist/{src → types}/lib/core/VectorDataset.d.ts.map +0 -0
  117. /package/dist/{src → types}/lib/core/VectorDatasetReact.d.ts +0 -0
  118. /package/dist/{src → types}/lib/core/VectorDatasetReact.d.ts.map +0 -0
  119. /package/dist/{src → types}/lib/core/ViewStateControl.d.ts +0 -0
  120. /package/dist/{src → types}/lib/core/ViewStateControl.d.ts.map +0 -0
  121. /package/dist/{src → types}/lib/core/ViewStateControlReact.d.ts +0 -0
  122. /package/dist/{src → types}/lib/core/ViewStateControlReact.d.ts.map +0 -0
  123. /package/dist/{src → types}/lib/core/ZarrLayer.d.ts +0 -0
  124. /package/dist/{src → types}/lib/core/ZarrLayer.d.ts.map +0 -0
  125. /package/dist/{src → types}/lib/core/types.d.ts +0 -0
  126. /package/dist/{src → types}/lib/core/types.d.ts.map +0 -0
  127. /package/dist/{src → types}/lib/hooks/index.d.ts +0 -0
  128. /package/dist/{src → types}/lib/hooks/index.d.ts.map +0 -0
  129. /package/dist/{src → types}/lib/hooks/useBasemap.d.ts +0 -0
  130. /package/dist/{src → types}/lib/hooks/useBasemap.d.ts.map +0 -0
  131. /package/dist/{src → types}/lib/hooks/useCogLayer.d.ts +0 -0
  132. /package/dist/{src → types}/lib/hooks/useCogLayer.d.ts.map +0 -0
  133. /package/dist/{src → types}/lib/hooks/useColorbar.d.ts +0 -0
  134. /package/dist/{src → types}/lib/hooks/useColorbar.d.ts.map +0 -0
  135. /package/dist/{src → types}/lib/hooks/useControlGrid.d.ts +0 -0
  136. /package/dist/{src → types}/lib/hooks/useControlGrid.d.ts.map +0 -0
  137. /package/dist/{src → types}/lib/hooks/useHtmlControl.d.ts +0 -0
  138. /package/dist/{src → types}/lib/hooks/useHtmlControl.d.ts.map +0 -0
  139. /package/dist/{src → types}/lib/hooks/useInspectControl.d.ts +0 -0
  140. /package/dist/{src → types}/lib/hooks/useInspectControl.d.ts.map +0 -0
  141. /package/dist/{src → types}/lib/hooks/useLegend.d.ts +0 -0
  142. /package/dist/{src → types}/lib/hooks/useLegend.d.ts.map +0 -0
  143. /package/dist/{src → types}/lib/hooks/useMinimapControl.d.ts +0 -0
  144. /package/dist/{src → types}/lib/hooks/useMinimapControl.d.ts.map +0 -0
  145. /package/dist/{src → types}/lib/hooks/useSearchControl.d.ts +0 -0
  146. /package/dist/{src → types}/lib/hooks/useSearchControl.d.ts.map +0 -0
  147. /package/dist/{src → types}/lib/hooks/useTerrain.d.ts +0 -0
  148. /package/dist/{src → types}/lib/hooks/useTerrain.d.ts.map +0 -0
  149. /package/dist/{src → types}/lib/hooks/useVectorDataset.d.ts +0 -0
  150. /package/dist/{src → types}/lib/hooks/useVectorDataset.d.ts.map +0 -0
  151. /package/dist/{src → types}/lib/hooks/useViewState.d.ts +0 -0
  152. /package/dist/{src → types}/lib/hooks/useViewState.d.ts.map +0 -0
  153. /package/dist/{src → types}/lib/utils/color.d.ts +0 -0
  154. /package/dist/{src → types}/lib/utils/color.d.ts.map +0 -0
  155. /package/dist/{src → types}/lib/utils/fileHelpers.d.ts +0 -0
  156. /package/dist/{src → types}/lib/utils/fileHelpers.d.ts.map +0 -0
  157. /package/dist/{src → types}/lib/utils/helpers.d.ts +0 -0
  158. /package/dist/{src → types}/lib/utils/helpers.d.ts.map +0 -0
  159. /package/dist/{src → types}/lib/utils/index.d.ts +0 -0
  160. /package/dist/{src → types}/lib/utils/index.d.ts.map +0 -0
  161. /package/dist/{src → types}/lib/utils/providers.d.ts +0 -0
  162. /package/dist/{src → types}/lib/utils/providers.d.ts.map +0 -0
  163. /package/dist/{src → types}/react.d.ts +0 -0
  164. /package/dist/{src → types}/react.d.ts.map +0 -0
@@ -1,4 +1,4 @@
1
- import { sn as R } from "./ControlGrid-C6zp03Vq.js";
1
+ import { sn as R } from "./ControlGrid-mWA6ezKk.js";
2
2
  var G = /* @__PURE__ */ R({
3
3
  DuckDBConverter: () => O,
4
4
  getDuckDBConverter: () => A
@@ -1,4 +1,4 @@
1
- var q=Object.create;var v=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var M=(e,t,r,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of J(t))!I.call(e,o)&&o!==r&&v(e,o,{get:()=>t[o],enumerable:!(p=G(t,o))||p.enumerable});return e};var K=(e,t,r)=>(r=e!=null?q(W(e)):{},M(t||!e||!e.__esModule?v(r,"default",{value:e,enumerable:!0}):r,e));const H=require("./ControlGrid-DIAcXRBe.cjs");var Y=H.__exportAll({DuckDBConverter:()=>T,getDuckDBConverter:()=>C}),D=null;function C(){return D||(D=new T),D}var T=class{_duckdb=null;_db=null;_worker=null;_initialized=!1;_initializing=!1;_bundleUrl;constructor(e){this._bundleUrl=e}isReady(){return this._initialized&&this._db!==null}async initialize(e){if(!this._initialized){if(this._initializing){for(;this._initializing;)await new Promise(t=>setTimeout(t,50));return}this._initializing=!0;try{e?.({stage:"initializing",percent:0,message:"Loading DuckDB WASM..."});let t;try{const n=await import("@duckdb/duckdb-wasm");t=n.default||n}catch(n){throw new Error(`DuckDB WASM is not installed or failed to load. Install it with: npm install @duckdb/duckdb-wasm. Error: ${n instanceof Error?n.message:"Unknown error"}`)}this._duckdb=t,e?.({stage:"initializing",percent:30,message:"Selecting DuckDB bundle..."});let r;if(this._duckdb.getJsDelivrBundles){const n=this._duckdb.getJsDelivrBundles();r=await this._duckdb.selectBundle(n)}else{const n=this._getJsDelivrBundles();r=await this._duckdb.selectBundle(n)}e?.({stage:"initializing",percent:50,message:"Instantiating DuckDB..."});const p=new this._duckdb.ConsoleLogger(4);let o,a=null;try{a=URL.createObjectURL(new Blob([`importScripts("${r.mainWorker}");`],{type:"text/javascript"})),o=new Worker(a)}catch(n){throw a&&URL.revokeObjectURL(a),new Error(`Failed to create DuckDB worker: ${n instanceof Error?n.message:"Unknown error"}`)}this._worker=o;const g=new this._duckdb.AsyncDuckDB(p,o);try{await g.instantiate(r.mainModule,r.pthreadWorker)}catch(n){throw new Error(`Failed to instantiate DuckDB: ${n instanceof Error?n.message:"Unknown error"}`)}a&&URL.revokeObjectURL(a),this._db=g,e?.({stage:"initializing",percent:70,message:"Loading spatial extension..."});const s=await this._db.connect();try{await s.query("INSTALL spatial"),await s.query("LOAD spatial")}catch(n){console.warn("Failed to load spatial extension, some features may not work:",n)}finally{await s.close()}this._initialized=!0,e?.({stage:"initializing",percent:100,message:"DuckDB ready"})}catch(t){throw e?.({stage:"error",message:`Failed to initialize DuckDB: ${t instanceof Error?t.message:"Unknown error"}`}),t}finally{this._initializing=!1}}}_getJsDelivrBundles(){const e=this._bundleUrl||"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@latest/dist";return{mvp:{mainModule:`${e}/duckdb-mvp.wasm`,mainWorker:`${e}/duckdb-browser-mvp.worker.js`},eh:{mainModule:`${e}/duckdb-eh.wasm`,mainWorker:`${e}/duckdb-browser-eh.worker.js`}}}async convert(e,t,r){const p=performance.now(),o=this._detectFormat(t);if(this.isReady()||await this.initialize(r),!this._db)throw new Error("DuckDB not initialized");r?.({stage:"loading",percent:0,message:`Loading ${t}...`});const a=new Uint8Array(e);await this._db.registerFileBuffer(t,a);const g=await this._db.connect();try{r?.({stage:"converting",percent:30,message:"Reading spatial data..."});let s;o==="geoparquet"||o==="parquet"?s=`read_parquet('${t}')`:s=`ST_Read('${t}')`;const n=(await g.query(`
1
+ var q=Object.create;var v=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var M=(e,t,r,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of J(t))!I.call(e,o)&&o!==r&&v(e,o,{get:()=>t[o],enumerable:!(p=G(t,o))||p.enumerable});return e};var K=(e,t,r)=>(r=e!=null?q(W(e)):{},M(t||!e||!e.__esModule?v(r,"default",{value:e,enumerable:!0}):r,e));const H=require("./ControlGrid-BBBM8qLm.cjs");var Y=H.__exportAll({DuckDBConverter:()=>T,getDuckDBConverter:()=>C}),D=null;function C(){return D||(D=new T),D}var T=class{_duckdb=null;_db=null;_worker=null;_initialized=!1;_initializing=!1;_bundleUrl;constructor(e){this._bundleUrl=e}isReady(){return this._initialized&&this._db!==null}async initialize(e){if(!this._initialized){if(this._initializing){for(;this._initializing;)await new Promise(t=>setTimeout(t,50));return}this._initializing=!0;try{e?.({stage:"initializing",percent:0,message:"Loading DuckDB WASM..."});let t;try{const n=await import("@duckdb/duckdb-wasm");t=n.default||n}catch(n){throw new Error(`DuckDB WASM is not installed or failed to load. Install it with: npm install @duckdb/duckdb-wasm. Error: ${n instanceof Error?n.message:"Unknown error"}`)}this._duckdb=t,e?.({stage:"initializing",percent:30,message:"Selecting DuckDB bundle..."});let r;if(this._duckdb.getJsDelivrBundles){const n=this._duckdb.getJsDelivrBundles();r=await this._duckdb.selectBundle(n)}else{const n=this._getJsDelivrBundles();r=await this._duckdb.selectBundle(n)}e?.({stage:"initializing",percent:50,message:"Instantiating DuckDB..."});const p=new this._duckdb.ConsoleLogger(4);let o,a=null;try{a=URL.createObjectURL(new Blob([`importScripts("${r.mainWorker}");`],{type:"text/javascript"})),o=new Worker(a)}catch(n){throw a&&URL.revokeObjectURL(a),new Error(`Failed to create DuckDB worker: ${n instanceof Error?n.message:"Unknown error"}`)}this._worker=o;const g=new this._duckdb.AsyncDuckDB(p,o);try{await g.instantiate(r.mainModule,r.pthreadWorker)}catch(n){throw new Error(`Failed to instantiate DuckDB: ${n instanceof Error?n.message:"Unknown error"}`)}a&&URL.revokeObjectURL(a),this._db=g,e?.({stage:"initializing",percent:70,message:"Loading spatial extension..."});const s=await this._db.connect();try{await s.query("INSTALL spatial"),await s.query("LOAD spatial")}catch(n){console.warn("Failed to load spatial extension, some features may not work:",n)}finally{await s.close()}this._initialized=!0,e?.({stage:"initializing",percent:100,message:"DuckDB ready"})}catch(t){throw e?.({stage:"error",message:`Failed to initialize DuckDB: ${t instanceof Error?t.message:"Unknown error"}`}),t}finally{this._initializing=!1}}}_getJsDelivrBundles(){const e=this._bundleUrl||"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@latest/dist";return{mvp:{mainModule:`${e}/duckdb-mvp.wasm`,mainWorker:`${e}/duckdb-browser-mvp.worker.js`},eh:{mainModule:`${e}/duckdb-eh.wasm`,mainWorker:`${e}/duckdb-browser-eh.worker.js`}}}async convert(e,t,r){const p=performance.now(),o=this._detectFormat(t);if(this.isReady()||await this.initialize(r),!this._db)throw new Error("DuckDB not initialized");r?.({stage:"loading",percent:0,message:`Loading ${t}...`});const a=new Uint8Array(e);await this._db.registerFileBuffer(t,a);const g=await this._db.connect();try{r?.({stage:"converting",percent:30,message:"Reading spatial data..."});let s;o==="geoparquet"||o==="parquet"?s=`read_parquet('${t}')`:s=`ST_Read('${t}')`;const n=(await g.query(`
2
2
  DESCRIBE SELECT * FROM ${s}
3
3
  `)).toArray();let c=null,h="",f=null,u=null,l=null;const d=[],S=["lat","latitude","y","lat_y","point_y"],B=["lon","lng","long","longitude","x","lon_x","long_x","point_x"],w=["wkt","wkt_geom","wkt_geometry","geometry_wkt"];for(const m of n){const i=m.column_name,E=m.column_type?.toUpperCase()||"",_=i.toLowerCase(),R=E.includes("GEOMETRY"),O=_==="geom"||_==="geometry"||_==="wkb_geometry"||_==="the_geom"||_==="shape",A=E.includes("BLOB")&&O;R||O||A?c||(c=i,h=E):S.includes(_)&&!f?(f=i,d.push(i)):B.includes(_)&&!u?(u=i,d.push(i)):w.includes(_)&&!l?l=i:d.push(i)}let y=!1,L=!1;if(!c)if(l)L=!0;else if(f&&u){y=!0;const m=d.indexOf(f);m>-1&&d.splice(m,1);const i=d.indexOf(u);i>-1&&d.splice(i,1)}else throw new Error("No geometry column found in the file. For CSV/Excel files, include a geometry column, WKT column, or lat/lon columns.");r?.({stage:"converting",percent:50,message:"Converting to GeoJSON..."});const x=d.length>0?`json_object(${d.map(m=>`'${m}', "${m}"`).join(", ")})`:"'{}'::JSON";let k,b;y&&f&&u?(k=`ST_AsGeoJSON(ST_Point("${u}", "${f}"))`,b=`"${f}" IS NOT NULL AND "${u}" IS NOT NULL`):L&&l?(k=`ST_AsGeoJSON(ST_GeomFromText("${l}"))`,b=`"${l}" IS NOT NULL AND "${l}" != ''`):h.includes("BLOB")?(k=`ST_AsGeoJSON(ST_GeomFromWKB("${c}"))`,b=`"${c}" IS NOT NULL`):(k=`ST_AsGeoJSON("${c}")`,b=`"${c}" IS NOT NULL`);const F=(await g.query(`
4
4
  SELECT json_object(
@@ -1,4 +1,4 @@
1
- import { sn as c } from "./ControlGrid-C6zp03Vq.js";
1
+ import { sn as c } from "./ControlGrid-mWA6ezKk.js";
2
2
  var m = /* @__PURE__ */ c({
3
3
  ShapefileConverter: () => l,
4
4
  getShapefileConverter: () => g
@@ -1 +1 @@
1
- var g=Object.create;var f=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var C=(t,i,r,n)=>{if(i&&typeof i=="object"||typeof i=="function")for(let e of m(i))!v.call(t,e)&&e!==r&&f(t,e,{get:()=>i[e],enumerable:!(n=y(i,e))||n.enumerable});return t};var _=(t,i,r)=>(r=t!=null?g(d(t)):{},C(i||!t||!t.__esModule?f(r,"default",{value:t,enumerable:!0}):r,t));const j=require("./ControlGrid-DIAcXRBe.cjs");var w=j.__exportAll({ShapefileConverter:()=>o,getShapefileConverter:()=>u}),o=class{_shpjs=null;_initialized=!1;isReady(){return this._initialized&&this._shpjs!==null}async initialize(t){if(!this._initialized){t?.({stage:"initializing",percent:0,message:"Loading shapefile parser..."});try{this._shpjs=await import("shpjs"),this._initialized=!0,t?.({stage:"initializing",percent:100,message:"Shapefile parser ready"})}catch{throw new Error("shpjs is not installed. Install it with: npm install shpjs")}}}async convert(t,i,r){const n=performance.now();this.isReady()||await this.initialize(r),r?.({stage:"loading",percent:10,message:`Loading ${i}...`});try{r?.({stage:"converting",percent:30,message:"Parsing shapefile..."});const e=await(this._shpjs.default||this._shpjs)(t);r?.({stage:"converting",percent:80,message:"Building feature collection..."});let a;Array.isArray(e)?a={type:"FeatureCollection",features:e.flatMap(s=>s.features||[])}:e.type==="FeatureCollection"?a=e:e.type==="Feature"?a={type:"FeatureCollection",features:[e]}:a={type:"FeatureCollection",features:[{type:"Feature",properties:{},geometry:e}]};const p=new Set;for(const s of a.features)s.geometry&&p.add(s.geometry.type);const c=performance.now(),h={originalFormat:"shapefile",featureCount:a.features.length,geometryTypes:Array.from(p),fileSize:t.byteLength,conversionTimeMs:Math.round(c-n)};return r?.({stage:"complete",percent:100,message:`Converted ${a.features.length} features`}),{geojson:a,warnings:[],metadata:h}}catch(e){throw r?.({stage:"error",message:`Failed to parse shapefile: ${e instanceof Error?e.message:"Unknown error"}`}),e}}dispose(){this._shpjs=null,this._initialized=!1}},l=null;function u(){return l||(l=new o),l}Object.defineProperty(exports,"ShapefileConverter",{enumerable:!0,get:function(){return o}});Object.defineProperty(exports,"ShapefileConverter_exports",{enumerable:!0,get:function(){return w}});Object.defineProperty(exports,"getShapefileConverter",{enumerable:!0,get:function(){return u}});
1
+ var g=Object.create;var f=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var C=(t,i,r,n)=>{if(i&&typeof i=="object"||typeof i=="function")for(let e of m(i))!v.call(t,e)&&e!==r&&f(t,e,{get:()=>i[e],enumerable:!(n=y(i,e))||n.enumerable});return t};var _=(t,i,r)=>(r=t!=null?g(d(t)):{},C(i||!t||!t.__esModule?f(r,"default",{value:t,enumerable:!0}):r,t));const j=require("./ControlGrid-BBBM8qLm.cjs");var w=j.__exportAll({ShapefileConverter:()=>o,getShapefileConverter:()=>u}),o=class{_shpjs=null;_initialized=!1;isReady(){return this._initialized&&this._shpjs!==null}async initialize(t){if(!this._initialized){t?.({stage:"initializing",percent:0,message:"Loading shapefile parser..."});try{this._shpjs=await import("shpjs"),this._initialized=!0,t?.({stage:"initializing",percent:100,message:"Shapefile parser ready"})}catch{throw new Error("shpjs is not installed. Install it with: npm install shpjs")}}}async convert(t,i,r){const n=performance.now();this.isReady()||await this.initialize(r),r?.({stage:"loading",percent:10,message:`Loading ${i}...`});try{r?.({stage:"converting",percent:30,message:"Parsing shapefile..."});const e=await(this._shpjs.default||this._shpjs)(t);r?.({stage:"converting",percent:80,message:"Building feature collection..."});let a;Array.isArray(e)?a={type:"FeatureCollection",features:e.flatMap(s=>s.features||[])}:e.type==="FeatureCollection"?a=e:e.type==="Feature"?a={type:"FeatureCollection",features:[e]}:a={type:"FeatureCollection",features:[{type:"Feature",properties:{},geometry:e}]};const p=new Set;for(const s of a.features)s.geometry&&p.add(s.geometry.type);const c=performance.now(),h={originalFormat:"shapefile",featureCount:a.features.length,geometryTypes:Array.from(p),fileSize:t.byteLength,conversionTimeMs:Math.round(c-n)};return r?.({stage:"complete",percent:100,message:`Converted ${a.features.length} features`}),{geojson:a,warnings:[],metadata:h}}catch(e){throw r?.({stage:"error",message:`Failed to parse shapefile: ${e instanceof Error?e.message:"Unknown error"}`}),e}}dispose(){this._shpjs=null,this._initialized=!1}},l=null;function u(){return l||(l=new o),l}Object.defineProperty(exports,"ShapefileConverter",{enumerable:!0,get:function(){return o}});Object.defineProperty(exports,"ShapefileConverter_exports",{enumerable:!0,get:function(){return w}});Object.defineProperty(exports,"getShapefileConverter",{enumerable:!0,get:function(){return u}});
@@ -1,6 +1,6 @@
1
- const Pe=require("./ControlGrid-DIAcXRBe.cjs"),Pr=require("./basedecoder-Zw0CbD9L.cjs"),d=require("./globals-B4iCNAg9.cjs");var tt="Cannot convert undefined or null to object";function I(e){return(t,...r)=>rt(e,t,r)}function M(e,t){return I(he(e,t).get)}var{apply:rt,construct:xr,defineProperty:Fr,get:kr,getOwnPropertyDescriptor:he,getPrototypeOf:W,has:Dr,ownKeys:st,set:Or,setPrototypeOf:Rr}=Reflect,{EPSILON:it,MAX_SAFE_INTEGER:Mr,isFinite:Br,isNaN:Vr}=Number,{iterator:j,species:Ur,toStringTag:nt,for:Nr}=Symbol,ee=Object,{create:fe,defineProperty:at,freeze:Lr,is:Cr}=ee,oe=ee.prototype,zr=oe.__lookupGetter__?I(oe.__lookupGetter__):(e,t)=>{if(e==null)throw gt(tt);let r=ee(e);do{const s=he(r,t);if(s!==void 0)return ot(s,"get")?s.get:void 0}while((r=W(r))!==null)},ot=ee.hasOwn||I(oe.hasOwnProperty),xe=Array,qr=xe.isArray,te=xe.prototype,Gr=I(te.join),jr=I(te.push),Hr=I(te.toLocaleString),Fe=te[j],lt=I(Fe),{abs:Yr,trunc:$r}=Math,ue=ArrayBuffer,Xr=ue.isView,ke=ue.prototype,Kr=I(ke.slice),Zr=M(ke,"byteLength"),Ae=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,Jr=Ae&&M(Ae.prototype,"byteLength"),De=W(Uint8Array),Qr=De.from,E=De.prototype,Wr=E[j],es=I(E.keys),ts=I(E.values),rs=I(E.entries),ss=I(E.set),is=I(E.reverse),ns=I(E.fill),as=I(E.copyWithin),os=I(E.sort),ls=I(E.slice),cs=I(E.subarray),hs=M(E,"buffer"),fs=M(E,"byteOffset"),us=M(E,"length"),ds=M(E,nt),ct=Uint8Array,Oe=Uint16Array,de=Uint32Array,ht=Float32Array,z=W([][j]()),Re=I(z.next),ft=I((function*(){})().next),ut=W(z),Me=DataView.prototype,dt=I(Me.getUint16),gs=I(Me.setUint16),gt=TypeError,yt=WeakSet,Be=yt.prototype,ys=I(Be.add),ps=I(Be.has),ge=WeakMap,ye=ge.prototype,Ve=I(ye.get),ws=I(ye.has),pt=I(ye.set),Ue=new ge,wt=fe(null,{next:{value:function(){return Re(Ve(Ue,this))}},[j]:{value:function(){return this}}});function mt(e){if(e[j]===Fe&&z.next===Re)return e;const t=fe(wt);return pt(Ue,t,lt(e)),t}var bt=new ge,Tt=fe(ut,{next:{value:function(){return ft(Ve(bt,this))},writable:!0,configurable:!0}});for(const e of st(z))e!=="next"&&at(Tt,e,he(z,e));var vt=1/it,It=6103515625e-14,Ne=.0009765625,ms=Ne*It,bs=Ne*vt,Le=new ue(4),At=new ht(Le),St=new de(Le),F=new Oe(512),k=new ct(512);for(let e=0;e<256;++e){const t=e-127;t<-24?(F[e]=0,F[e|256]=32768,k[e]=24,k[e|256]=24):t<-14?(F[e]=1024>>-t-14,F[e|256]=1024>>-t-14|32768,k[e]=-t-1,k[e|256]=-t-1):t<=15?(F[e]=t+15<<10,F[e|256]=t+15<<10|32768,k[e]=13,k[e|256]=13):t<128?(F[e]=31744,F[e|256]=64512,k[e]=24,k[e|256]=24):(F[e]=31744,F[e|256]=64512,k[e]=13,k[e|256]=13)}var pe=new de(2048);for(let e=1;e<1024;++e){let t=e<<13,r=0;for(;(t&8388608)===0;)t<<=1,r-=8388608;t&=-8388609,r+=947912704,pe[e]=t|r}for(let e=1024;e<2048;++e)pe[e]=939524096+(e-1024<<13);var B=new de(64);for(let e=1;e<31;++e)B[e]=e<<23;B[31]=1199570944;B[32]=2147483648;for(let e=33;e<63;++e)B[e]=2147483648+(e-32<<23);B[63]=3347054592;var Ce=new Oe(64);for(let e=1;e<64;++e)e!==32&&(Ce[e]=1024);function Et(e){const t=e>>10;return St[0]=pe[Ce[t]+(e&1023)]+B[t],At[0]}function ze(e,t,...r){return Et(dt(e,t,...mt(r)))}function ie(e,t,r){const s=r&&r.debug||!1;s&&console.log("[xml-utils] getting "+t+" in "+e);const i=typeof e=="object"?e.outer:e,n=i.slice(0,i.indexOf(">")+1),o=['"',"'"];for(let a=0;a<o.length;a++){const f=o[a],l=t+"\\="+f+"([^"+f+"]*)"+f;s&&console.log("[xml-utils] pattern:",l);const c=new RegExp(l).exec(n);if(s&&console.log("[xml-utils] match:",c),c)return c[1]}}function _t(e,t,r){const s=new RegExp(t).exec(e.slice(r));return s?r+s.index:-1}function Se(e,t,r){const s=new RegExp(t).exec(e.slice(r));return s?r+s.index+s[0].length-1:-1}function Ee(e,t){const r=new RegExp(t,"g"),s=e.match(r);return s?s.length:0}function Pt(e,t,r){const s=r&&r.debug||!1,i=r&&r.startIndex||0;s&&console.log("[xml-utils] starting findTagByName with",t," and ",r);const n=_t(e,`<${t}[
1
+ const Pe=require("./ControlGrid-BBBM8qLm.cjs"),Pr=require("./basedecoder-Zw0CbD9L.cjs"),d=require("./globals-B4iCNAg9.cjs");var tt="Cannot convert undefined or null to object";function I(e){return(t,...r)=>rt(e,t,r)}function M(e,t){return I(he(e,t).get)}var{apply:rt,construct:xr,defineProperty:Fr,get:kr,getOwnPropertyDescriptor:he,getPrototypeOf:W,has:Dr,ownKeys:st,set:Or,setPrototypeOf:Rr}=Reflect,{EPSILON:it,MAX_SAFE_INTEGER:Mr,isFinite:Br,isNaN:Vr}=Number,{iterator:j,species:Ur,toStringTag:nt,for:Nr}=Symbol,ee=Object,{create:fe,defineProperty:at,freeze:Lr,is:Cr}=ee,oe=ee.prototype,zr=oe.__lookupGetter__?I(oe.__lookupGetter__):(e,t)=>{if(e==null)throw gt(tt);let r=ee(e);do{const s=he(r,t);if(s!==void 0)return ot(s,"get")?s.get:void 0}while((r=W(r))!==null)},ot=ee.hasOwn||I(oe.hasOwnProperty),xe=Array,qr=xe.isArray,te=xe.prototype,Gr=I(te.join),jr=I(te.push),Hr=I(te.toLocaleString),Fe=te[j],lt=I(Fe),{abs:Yr,trunc:$r}=Math,ue=ArrayBuffer,Xr=ue.isView,ke=ue.prototype,Kr=I(ke.slice),Zr=M(ke,"byteLength"),Ae=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,Jr=Ae&&M(Ae.prototype,"byteLength"),De=W(Uint8Array),Qr=De.from,E=De.prototype,Wr=E[j],es=I(E.keys),ts=I(E.values),rs=I(E.entries),ss=I(E.set),is=I(E.reverse),ns=I(E.fill),as=I(E.copyWithin),os=I(E.sort),ls=I(E.slice),cs=I(E.subarray),hs=M(E,"buffer"),fs=M(E,"byteOffset"),us=M(E,"length"),ds=M(E,nt),ct=Uint8Array,Oe=Uint16Array,de=Uint32Array,ht=Float32Array,z=W([][j]()),Re=I(z.next),ft=I((function*(){})().next),ut=W(z),Me=DataView.prototype,dt=I(Me.getUint16),gs=I(Me.setUint16),gt=TypeError,yt=WeakSet,Be=yt.prototype,ys=I(Be.add),ps=I(Be.has),ge=WeakMap,ye=ge.prototype,Ve=I(ye.get),ws=I(ye.has),pt=I(ye.set),Ue=new ge,wt=fe(null,{next:{value:function(){return Re(Ve(Ue,this))}},[j]:{value:function(){return this}}});function mt(e){if(e[j]===Fe&&z.next===Re)return e;const t=fe(wt);return pt(Ue,t,lt(e)),t}var bt=new ge,Tt=fe(ut,{next:{value:function(){return ft(Ve(bt,this))},writable:!0,configurable:!0}});for(const e of st(z))e!=="next"&&at(Tt,e,he(z,e));var vt=1/it,It=6103515625e-14,Ne=.0009765625,ms=Ne*It,bs=Ne*vt,Le=new ue(4),At=new ht(Le),St=new de(Le),F=new Oe(512),k=new ct(512);for(let e=0;e<256;++e){const t=e-127;t<-24?(F[e]=0,F[e|256]=32768,k[e]=24,k[e|256]=24):t<-14?(F[e]=1024>>-t-14,F[e|256]=1024>>-t-14|32768,k[e]=-t-1,k[e|256]=-t-1):t<=15?(F[e]=t+15<<10,F[e|256]=t+15<<10|32768,k[e]=13,k[e|256]=13):t<128?(F[e]=31744,F[e|256]=64512,k[e]=24,k[e|256]=24):(F[e]=31744,F[e|256]=64512,k[e]=13,k[e|256]=13)}var pe=new de(2048);for(let e=1;e<1024;++e){let t=e<<13,r=0;for(;(t&8388608)===0;)t<<=1,r-=8388608;t&=-8388609,r+=947912704,pe[e]=t|r}for(let e=1024;e<2048;++e)pe[e]=939524096+(e-1024<<13);var B=new de(64);for(let e=1;e<31;++e)B[e]=e<<23;B[31]=1199570944;B[32]=2147483648;for(let e=33;e<63;++e)B[e]=2147483648+(e-32<<23);B[63]=3347054592;var Ce=new Oe(64);for(let e=1;e<64;++e)e!==32&&(Ce[e]=1024);function Et(e){const t=e>>10;return St[0]=pe[Ce[t]+(e&1023)]+B[t],At[0]}function ze(e,t,...r){return Et(dt(e,t,...mt(r)))}function ie(e,t,r){const s=r&&r.debug||!1;s&&console.log("[xml-utils] getting "+t+" in "+e);const i=typeof e=="object"?e.outer:e,n=i.slice(0,i.indexOf(">")+1),o=['"',"'"];for(let a=0;a<o.length;a++){const f=o[a],l=t+"\\="+f+"([^"+f+"]*)"+f;s&&console.log("[xml-utils] pattern:",l);const c=new RegExp(l).exec(n);if(s&&console.log("[xml-utils] match:",c),c)return c[1]}}function _t(e,t,r){const s=new RegExp(t).exec(e.slice(r));return s?r+s.index:-1}function Se(e,t,r){const s=new RegExp(t).exec(e.slice(r));return s?r+s.index+s[0].length-1:-1}function Ee(e,t){const r=new RegExp(t,"g"),s=e.match(r);return s?s.length:0}function Pt(e,t,r){const s=r&&r.debug||!1,i=r&&r.startIndex||0;s&&console.log("[xml-utils] starting findTagByName with",t," and ",r);const n=_t(e,`<${t}[
2
2
  >/]`,i);if(s&&console.log("[xml-utils] start:",n),n===-1)return;const o=e.slice(n+t.length);let a=Se(o,"^[^<]*[ /]>",0);const f=a!==-1&&o[a-1]==="/";if(s&&console.log("[xml-utils] selfClosing:",f),f===!1){let g=0,u=1,y=0;for(;(a=Se(o,"[ /]"+t+">",g))!==-1;){const p=o.substring(g,a+1);if(u+=Ee(p,"<"+t+`[
3
- >]`),y+=Ee(p,"</"+t+">"),y>=u)break;g=a}}const l=n+t.length+a+1;if(s&&console.log("[xml-utils] end:",l),l===-1)return;const c=e.slice(n,l);let h;return f?h=null:h=c.slice(c.indexOf(">")+1,c.lastIndexOf("<")),{inner:h,outer:c,start:n,end:l}}function xt(e,t,r){const s=[],i=r&&r.debug||!1,n=r&&typeof r.nested=="boolean"?r.nested:!0;let o=r&&r.startIndex||0,a;for(;a=Pt(e,t,{debug:i,startIndex:o});)n?o=a.start+1+t.length:o=a.end,s.push(a);return i&&console.log("findTagsByName found",s.length,"tags"),s}function Ft(e,t){const{width:r,height:s}=e,i=new Uint8Array(r*s*3);let n;for(let o=0,a=0;o<e.length;++o,a+=3)n=256-e[o]/t*256,i[a]=n,i[a+1]=n,i[a+2]=n;return i}function kt(e,t){const{width:r,height:s}=e,i=new Uint8Array(r*s*3);let n;for(let o=0,a=0;o<e.length;++o,a+=3)n=e[o]/t*256,i[a]=n,i[a+1]=n,i[a+2]=n;return i}function Dt(e,t){const{width:r,height:s}=e,i=new Uint8Array(r*s*3),n=t.length/3,o=t.length/3*2;for(let a=0,f=0;a<e.length;++a,f+=3){const l=e[a];i[f]=t[l]/65536*256,i[f+1]=t[l+n]/65536*256,i[f+2]=t[l+o]/65536*256}return i}function Ot(e){const{width:t,height:r}=e,s=new Uint8Array(t*r*3);for(let i=0,n=0;i<e.length;i+=4,n+=3){const o=e[i],a=e[i+1],f=e[i+2],l=e[i+3];s[n]=255*((255-o)/256)*((255-l)/256),s[n+1]=255*((255-a)/256)*((255-l)/256),s[n+2]=255*((255-f)/256)*((255-l)/256)}return s}function Rt(e){const{width:t,height:r}=e,s=new Uint8ClampedArray(t*r*3);for(let i=0,n=0;i<e.length;i+=3,n+=3){const o=e[i],a=e[i+1],f=e[i+2];s[n]=o+1.402*(f-128),s[n+1]=o-.34414*(a-128)-.71414*(f-128),s[n+2]=o+1.772*(a-128)}return s}var Mt=.95047,Bt=1,Vt=1.08883;function Ut(e){const{width:t,height:r}=e,s=new Uint8Array(t*r*3);for(let i=0,n=0;i<e.length;i+=3,n+=3){const o=e[i+0],a=e[i+1]<<24>>24,f=e[i+2]<<24>>24;let l=(o+16)/116,c=a/500+l,h=l-f/200,g,u,y;c=Mt*(c*c*c>.008856?c*c*c:(c-16/116)/7.787),l=Bt*(l*l*l>.008856?l*l*l:(l-16/116)/7.787),h=Vt*(h*h*h>.008856?h*h*h:(h-16/116)/7.787),g=c*3.2406+l*-1.5372+h*-.4986,u=c*-.9689+l*1.8758+h*.0415,y=c*.0557+l*-.204+h*1.057,g=g>.0031308?1.055*g**(1/2.4)-.055:12.92*g,u=u>.0031308?1.055*u**(1/2.4)-.055:12.92*u,y=y>.0031308?1.055*y**(1/2.4)-.055:12.92*y,s[n]=Math.max(0,Math.min(1,g))*255,s[n+1]=Math.max(0,Math.min(1,u))*255,s[n+2]=Math.max(0,Math.min(1,y))*255}return s}var q=new Map;async function J(e){const t=!e.hasTag("StripOffsets");return{tileWidth:t?await e.loadValue("TileWidth"):await e.loadValue("ImageWidth"),tileHeight:t?await e.loadValue("TileLength"):await e.loadValue("RowsPerStrip")||await e.loadValue("ImageLength"),planarConfiguration:await e.loadValue("PlanarConfiguration"),bitsPerSample:await e.loadValue("BitsPerSample"),predictor:await e.loadValue("Predictor")||1}}function Nt(e,t,r=J,s=!0){Array.isArray(e)||(e=[e]),e.forEach(i=>{q.set(i,{importFn:t,decoderParameterFn:r,preferWorker:s})})}async function Lt(e,t){if(!q.has(e))throw new Error(`Unknown compression method identifier: ${e}`);const{decoderParameterFn:r}=q.get(e);return r(t)}async function Ct(e,t){if(!q.has(e))throw new Error(`Unknown compression method identifier: ${e}`);const{importFn:r}=q.get(e);return new(await r())(t)}var zt=[{cases:[void 0,1],importFn:()=>Promise.resolve().then(()=>require("./raw-C-CSxCoU.cjs")).then(e=>e.default),preferWorker:!1},{cases:5,importFn:()=>Promise.resolve().then(()=>require("./lzw-1HaU0PJK.cjs")).then(e=>e.default)},{cases:6,importFn:()=>{throw new Error("old style JPEG compression is not supported.")}},{cases:7,importFn:()=>Promise.resolve().then(()=>require("./jpeg-B6Sg6W8k.cjs")).then(e=>e.default),decoderParameterFn:async e=>({...await J(e),JPEGTables:await e.loadValue("JPEGTables")})},{cases:[8,32946],importFn:()=>Promise.resolve().then(()=>require("./deflate-DNeBKDsy.cjs")).then(e=>e.default)},{cases:32773,importFn:()=>Promise.resolve().then(()=>require("./packbits-D5Zovac7.cjs")).then(e=>e.default)},{cases:34887,importFn:()=>Promise.resolve().then(()=>require("./lerc-DQRITnja.cjs")).then(async e=>(await e.zstd.init(),e)).then(e=>e.default),decoderParameterFn:async e=>({...await J(e),LercParameters:await e.loadValue("LercParameters")})},{cases:5e4,importFn:()=>Promise.resolve().then(()=>require("./zstd-B3Xa90HD.cjs")).then(async e=>(await e.zstd.init(),e)).then(e=>e.default)},{cases:50001,importFn:()=>Promise.resolve().then(()=>require("./webimage-Bh2pNwjN.cjs")).then(e=>e.default),decoderParameterFn:async e=>({...await J(e),samplesPerPixel:Number(await e.loadValue("SamplesPerPixel"))||4}),preferWorker:!1}];for(const e of zt){const{cases:t,importFn:r,decoderParameterFn:s,preferWorker:i}=e;Nt(t,r,s,i)}function re(e,t,r,s=1){return new(Object.getPrototypeOf(e)).constructor(t*r*s)}function qt(e,t,r,s,i){const n=t/s,o=r/i;return e.map(a=>{const f=re(a,s,i);for(let l=0;l<i;++l){const c=Math.min(Math.round(o*l),r-1);for(let h=0;h<s;++h){const g=Math.min(Math.round(n*h),t-1),u=a[c*t+g];f[l*s+h]=u}}return f})}function R(e,t,r){return(1-r)*e+r*t}function Gt(e,t,r,s,i){const n=t/s,o=r/i;return e.map(a=>{const f=re(a,s,i);for(let l=0;l<i;++l){const c=o*l,h=Math.floor(c),g=Math.min(Math.ceil(c),r-1);for(let u=0;u<s;++u){const y=n*u,p=y%1,w=Math.floor(y),m=Math.min(Math.ceil(y),t-1),b=a[h*t+w],v=a[h*t+m],S=a[g*t+w],T=a[g*t+m],A=R(R(b,v,p),R(S,T,p),c%1);f[l*s+u]=A}}return f})}function jt(e,t,r,s,i,n="nearest"){switch(n.toLowerCase()){case"nearest":return qt(e,t,r,s,i);case"bilinear":case"linear":return Gt(e,t,r,s,i);default:throw new Error(`Unsupported resampling method: '${n}'`)}}function Ht(e,t,r,s,i,n){const o=t/s,a=r/i,f=re(e,s,i,n);for(let l=0;l<i;++l){const c=Math.min(Math.round(a*l),r-1);for(let h=0;h<s;++h){const g=Math.min(Math.round(o*h),t-1);for(let u=0;u<n;++u){const y=e[c*t*n+g*n+u];f[l*s*n+h*n+u]=y}}}return f}function Yt(e,t,r,s,i,n){const o=t/s,a=r/i,f=re(e,s,i,n);for(let l=0;l<i;++l){const c=a*l,h=Math.floor(c),g=Math.min(Math.ceil(c),r-1);for(let u=0;u<s;++u){const y=o*u,p=y%1,w=Math.floor(y),m=Math.min(Math.ceil(y),t-1);for(let b=0;b<n;++b){const v=e[h*t*n+w*n+b],S=e[h*t*n+m*n+b],T=e[g*t*n+w*n+b],A=e[g*t*n+m*n+b],P=R(R(v,S,p),R(T,A,p),c%1);f[l*s*n+u*n+b]=P}}}return f}function $t(e,t,r,s,i,n,o="nearest"){switch(o.toLowerCase()){case"nearest":return Ht(e,t,r,s,i,n);case"bilinear":case"linear":return Yt(e,t,r,s,i,n);default:throw new Error(`Unsupported resampling method: '${o}'`)}}function Xt(e,t,r){let s=0;for(let i=t;i<r;++i)s+=e[i];return s}function le(e,t,r){let s;switch(e){case 1:t<=8?s=Uint8Array:t<=16?s=Uint16Array:t<=32&&(s=Uint32Array);break;case 2:t===8?s=Int8Array:t===16?s=Int16Array:t===32&&(s=Int32Array);break;case 3:switch(t){case 16:case 32:s=Float32Array;break;case 64:s=Float64Array;break;default:break}break;default:break}if(s){if(typeof r=="number")return new s(r);if(r instanceof ArrayBuffer)return new s(r)}throw Error("Unsupported data format/bitsPerSample")}function Kt(e,t){return(e===1||e===2)&&t<=32&&t%8===0?!1:!(e===3&&(t===16||t===32||t===64))}function Zt(e,t,r,s,i,n,o){const a=new DataView(e),f=r===2?o*n:o*n*s,l=r===2?1:s,c=le(t,i,f),h=parseInt("1".repeat(i),2);if(t===1){let g;r===1?g=s*i:g=i;let u=n*g;(u&7)!==0&&(u=u+7&-8);for(let y=0;y<o;++y){const p=y*u;for(let w=0;w<n;++w){const m=p+w*l*i;for(let b=0;b<l;++b){const v=m+b*i,S=(y*n+w)*l+b,T=Math.floor(v/8),A=v%8;A+i<=8?c[S]=a.getUint8(T)>>8-i-A&h:A+i<=16?c[S]=a.getUint16(T)>>16-i-A&h:A+i<=24?c[S]=(a.getUint16(T)<<8|a.getUint8(T+2))>>24-i-A&h:c[S]=a.getUint32(T)>>32-i-A&h}}}}return c.buffer}var Jt=class{constructor(e,t,r,s){this.fileDirectory=e,this.littleEndian=t,this.tiles=r?[]:null,this.isTiled=!e.hasTag("StripOffsets");const i=e.getValue("PlanarConfiguration")??1;if(i!==1&&i!==2)throw new Error("Invalid planar configuration.");this.planarConfiguration=i,this.source=s}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.fileDirectory.parseGeoKeyDirectory()}getWidth(){return this.fileDirectory.getValue("ImageWidth")||0}getHeight(){return this.fileDirectory.getValue("ImageLength")||0}getSamplesPerPixel(){return this.fileDirectory.getValue("SamplesPerPixel")??1}getTileWidth(){return this.isTiled?this.fileDirectory.getValue("TileWidth")||0:this.getWidth()}getTileHeight(){if(this.isTiled)return this.fileDirectory.getValue("TileLength")||0;const e=this.fileDirectory.hasTag("RowsPerStrip")&&this.fileDirectory.getValue("RowsPerStrip");return e?Math.min(e,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(e){return this.isTiled||(e+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-e*this.getTileHeight()}getBytesPerPixel(){let e=0;const t=this.fileDirectory.getValue("BitsPerSample")||[];for(let r=0;r<t.length;++r)e+=this.getSampleByteSize(r);return e}getSampleByteSize(e){const t=this.fileDirectory.getValue("BitsPerSample")||[];if(e>=t.length)throw new RangeError(`Sample index ${e} is out of range.`);return Math.ceil(t[e]/8)}getReaderForSample(e){const t=this.fileDirectory.getValue("SampleFormat"),r=t?t[e]:1,s=(this.fileDirectory.getValue("BitsPerSample")||[])[e];switch(r){case 1:if(s<=8)return DataView.prototype.getUint8;if(s<=16)return DataView.prototype.getUint16;if(s<=32)return DataView.prototype.getUint32;break;case 2:if(s<=8)return DataView.prototype.getInt8;if(s<=16)return DataView.prototype.getInt16;if(s<=32)return DataView.prototype.getInt32;break;case 3:switch(s){case 16:return function(i,n){return ze(this,i,n)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(e=0){const t=this.fileDirectory.getValue("SampleFormat");return t?t[e]:1}getBitsPerSample(e=0){const t=this.fileDirectory.getValue("BitsPerSample");return t?t[e]:0}getArrayForSample(e,t){return le(this.getSampleFormat(e),this.getBitsPerSample(e),t)}async getTileOrStrip(e,t,r,s,i){const n=Math.ceil(this.getWidth()/this.getTileWidth()),o=Math.ceil(this.getHeight()/this.getTileHeight());let a;const{tiles:f}=this;if(this.planarConfiguration===1?a=t*n+e:this.planarConfiguration===2&&(a=r*n*o+t*n+e),a===void 0)throw new Error("Could not determine tile or strip index.");let l,c;if(this.isTiled?(l=Number(await this.fileDirectory.loadValueIndexed("TileOffsets",a)),c=Number(await this.fileDirectory.loadValueIndexed("TileByteCounts",a))):(l=Number(await this.fileDirectory.loadValueIndexed("StripOffsets",a)),c=Number(await this.fileDirectory.loadValueIndexed("StripByteCounts",a))),c===0){const u=this.getBlockHeight(t)*this.getTileWidth(),y=this.planarConfiguration===2?this.getSampleByteSize(r):this.getBytesPerPixel(),p=new ArrayBuffer(u*y);return this.getArrayForSample(r,p).fill(this.getGDALNoData()||0),{x:e,y:t,sample:r,data:p}}const h=(await this.source.fetch([{offset:l,length:c}],i))[0];let g;return f===null||!f[a]?(g=(async()=>{let u=await s.decode(h);const y=this.getSampleFormat(),p=this.getBitsPerSample();return Kt(y,p)&&(u=Zt(u,y,this.planarConfiguration,this.getSamplesPerPixel(),p,this.getTileWidth(),this.getBlockHeight(t))),u})(),f!==null&&(f[a]=g)):g=f[a],{x:e,y:t,sample:r,data:await g}}async _readRaster(e,t,r,s,i,n,o,a,f){const l=this.getTileWidth(),c=this.getTileHeight(),h=this.getWidth(),g=this.getHeight(),u=Math.max(Math.floor(e[0]/l),0),y=Math.min(Math.ceil(e[2]/l),Math.ceil(h/l)),p=Math.max(Math.floor(e[1]/c),0),w=Math.min(Math.ceil(e[3]/c),Math.ceil(g/c)),m=e[2]-e[0];let b=this.getBytesPerPixel();const v=[],S=[];for(let _=0;_<t.length;++_){if(this.planarConfiguration===1){const x=await this.fileDirectory.loadValue("BitsPerSample");if(typeof x!="object")throw new Error("Expected BitsPerSample to be an array or typed array.");v.push(Xt(x,0,t[_])/8)}else v.push(0);S.push(this.getReaderForSample(t[_]))}const T=[],{littleEndian:A}=this;for(let _=p;_<w;++_)for(let x=u;x<y;++x){let H;this.planarConfiguration===1&&(H=this.getTileOrStrip(x,_,0,i,f));for(let Y=0;Y<t.length;++Y){const $=Y,ve=t[Y];if(this.planarConfiguration===2&&(b=this.getSampleByteSize(ve),H=this.getTileOrStrip(x,_,ve,i,f)),!H)throw new Error("Could not get tile or strip data.");const Ye=H.then(V=>{const $e=V.data,Xe=new DataView($e),se=this.getBlockHeight(V.y),U=V.y*c,X=V.x*l,Ke=U+se,Ze=(V.x+1)*l,Je=S[$],Qe=Math.min(se,se-(Ke-e[3]),g-U),We=Math.min(l,l-(Ze-e[2]),h-X);for(let N=Math.max(0,e[1]-U);N<Qe;++N)for(let L=Math.max(0,e[0]-X);L<We;++L){const et=(N*l+L)*b,Ie=Je.call(Xe,et+v[$],A);let K;s?(K=(N+U-e[1])*m*t.length+(L+X-e[0])*t.length+$,r[K]=Ie):(K=(N+U-e[1])*m+L+X-e[0],r[$][K]=Ie)}});T.push(Ye)}}if(await Promise.all(T),n&&e[2]-e[0]!==n||o&&e[3]-e[1]!==o){let _;s?_=$t(r,e[2]-e[0],e[3]-e[1],n,o,t.length,a):_=jt(r,e[2]-e[0],e[3]-e[1],n,o,a);const x=_;return x.width=n??e[2]-e[0],x.height=o??e[3]-e[1],x}const P=r;return P.width=n||e[2]-e[0],P.height=o||e[3]-e[1],P}async readRasters(e={}){const{window:t,samples:r=[],pool:s=null,width:i,height:n,resampleMethod:o,fillValue:a,signal:f}=e,l="interleave"in e&&e.interleave,c=t||[0,0,this.getWidth(),this.getHeight()];if(c[0]>c[2]||c[1]>c[3])throw new Error("Invalid subsets");const h=(c[2]-c[0])*(c[3]-c[1]),g=this.getSamplesPerPixel();if(!r||!r.length)for(let m=0;m<g;++m)r.push(m);else for(let m=0;m<r.length;++m)if(r[m]>=g)return Promise.reject(new RangeError(`Invalid sample index '${r[m]}'.`));let u;if(l){const{fileDirectory:m}=this,b=m.getValue("SampleFormat"),v=b?Math.max.apply(null,Array.from(b)):1;if(v!==1&&v!==2&&v!==3)throw new Error("Unsupported sample format for interleaved data. Must be 1, 2, or 3.");const S=m.getValue("BitsPerSample");if(u=le(v,S?Math.max.apply(null,Array.from(S)):8,h*r.length),a){if(Array.isArray(a))throw new Error("When reading interleaved data, fillValue must be a single number.");u.fill(a)}}else{u=[];for(let m=0;m<r.length;++m){const b=this.getArrayForSample(r[m],h);Array.isArray(a)&&m<a.length?b.fill(a[m]):a&&!Array.isArray(a)&&b.fill(a),u.push(b)}}const y=this.fileDirectory.getValue("Compression")||1,p=await Lt(y,this.fileDirectory),w=s?s.bindParameters(y,p):await Ct(y,p);return await this._readRaster(c,r,u,l,w,i,n,o,f)}async readRGB(e={}){const{window:t,pool:r=null,width:s,height:i,resampleMethod:n,enableAlpha:o=!1,signal:a}=e,f=("interleave"in e&&e.interleave)??!1,l=t||[0,0,this.getWidth(),this.getHeight()];if(l[0]>l[2]||l[1]>l[3])throw new Error("Invalid subsets");const c=this.fileDirectory.getValue("PhotometricInterpretation");if(c===d.photometricInterpretations.RGB){let b=[0,1,2];const v=this.fileDirectory.getValue("ExtraSamples");if(v&&v[0]!==d.ExtraSamplesValues.Unspecified&&o){b=[];const S=this.fileDirectory.getValue("BitsPerSample")||[];for(let T=0;T<S.length;T+=1)b.push(T)}return this.readRasters({window:t,interleave:f,samples:b,pool:r,width:s,height:i,resampleMethod:n,signal:a})}let h;switch(c){case d.photometricInterpretations.WhiteIsZero:case d.photometricInterpretations.BlackIsZero:case d.photometricInterpretations.Palette:h=[0];break;case d.photometricInterpretations.CMYK:h=[0,1,2,3];break;case d.photometricInterpretations.YCbCr:case d.photometricInterpretations.CIELab:h=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}const g={window:l,interleave:!0,samples:h,pool:r,width:s,height:i,resampleMethod:n,signal:a},{fileDirectory:u}=this,y=await this.readRasters(g),p=2**this.getBitsPerSample(0);let w;switch(c){case d.photometricInterpretations.WhiteIsZero:w=Ft(y,p);break;case d.photometricInterpretations.BlackIsZero:w=kt(y,p);break;case d.photometricInterpretations.Palette:w=Dt(y,await u.loadValue("ColorMap"));break;case d.photometricInterpretations.CMYK:w=Ot(y);break;case d.photometricInterpretations.YCbCr:w=Rt(y);break;case d.photometricInterpretations.CIELab:w=Ut(y);break;default:throw new Error("Unsupported photometric interpretation.")}if(!f){const b=new Uint8Array(w.length/3),v=new Uint8Array(w.length/3),S=new Uint8Array(w.length/3);for(let T=0,A=0;T<w.length;T+=3,++A)b[A]=w[T],v[A]=w[T+1],S[A]=w[T+2];w=[b,v,S]}const m=w;return m.width=y.width,m.height=y.height,m}async getTiePoints(){if(!this.fileDirectory.hasTag("ModelTiepoint"))return[];const e=await this.fileDirectory.loadValue("ModelTiepoint");if(typeof e!="object")throw new Error("Expected ModelTiepoint to be an array or typed array.");const t=[];for(let r=0;r<e.length;r+=6)t.push({i:e[r],j:e[r+1],k:e[r+2],x:e[r+3],y:e[r+4],z:e[r+5]});return t}async getGDALMetadata(e=null){const t={};if(!this.fileDirectory.hasTag("GDAL_METADATA"))return null;let r=xt(await this.fileDirectory.loadValue("GDAL_METADATA"),"Item");e===null?r=r.filter(s=>ie(s,"sample")===void 0):r=r.filter(s=>Number(ie(s,"sample"))===e);for(let s=0;s<r.length;++s){const i=r[s];t[ie(i,"name")]=i.inner}return t}getGDALNoData(){const e=this.fileDirectory.hasTag("GDAL_NODATA")&&this.fileDirectory.getValue("GDAL_NODATA");return e?Number(e.substring(0,e.length-1)):null}getOrigin(){const e=this.fileDirectory.getValue("ModelTiepoint"),t=this.fileDirectory.getValue("ModelTransformation");if(e&&e.length===6)return[e[3],e[4],e[5]];if(t)return[t[3],t[7],t[11]];throw new Error("The image does not have an affine transformation.")}getResolution(e=null){const t=this.fileDirectory.getValue("ModelPixelScale"),r=this.fileDirectory.getValue("ModelTransformation");if(t)return[t[0],-t[1],t[2]];if(r)return r[1]===0&&r[4]===0?[r[0],-r[5],r[10]]:[Math.sqrt(r[0]*r[0]+r[4]*r[4]),-Math.sqrt(r[1]*r[1]+r[5]*r[5]),r[10]];if(e){const[s,i,n]=e.getResolution();return[s*e.getWidth()/this.getWidth(),i*e.getHeight()/this.getHeight(),n*e.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.getGeoKeys()?.GTRasterTypeGeoKey===1}getBoundingBox(e=!1){const t=this.getHeight(),r=this.getWidth(),s=this.fileDirectory.getValue("ModelTransformation");if(s&&!e){const[i,n,,o,a,f,,l]=s,c=[[0,0],[0,t],[r,0],[r,t]].map(([u,y])=>[o+i*u+n*y,l+a*u+f*y]),h=c.map(u=>u[0]),g=c.map(u=>u[1]);return[Math.min(...h),Math.min(...g),Math.max(...h),Math.max(...g)]}else{const i=this.getOrigin(),n=this.getResolution(),o=i[0],a=i[1],f=o+n[0]*r,l=a+n[1]*t;return[Math.min(o,f),Math.min(a,l),Math.max(o,f),Math.max(a,l)]}}},Qt=class{constructor(e){this._dataView=new DataView(e)}get buffer(){return this._dataView.buffer}getUint64(e,t){const r=this.getUint32(e,t),s=this.getUint32(e+4,t);let i;if(t){if(i=r+2**32*s,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}if(i=2**32*r+s,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}getInt64(e,t){let r=0;const s=(this._dataView.getUint8(e+(t?7:0))&128)>0;let i=!0;for(let n=0;n<8;n++){let o=this._dataView.getUint8(e+(t?n:7-n));s&&(i?o!==0&&(o=~(o-1)&255,i=!1):o=~o&255),r+=o*256**n}return s&&(r=-r),r}getUint8(e){return this._dataView.getUint8(e)}getInt8(e){return this._dataView.getInt8(e)}getUint16(e,t){return this._dataView.getUint16(e,t)}getInt16(e,t){return this._dataView.getInt16(e,t)}getUint32(e,t){return this._dataView.getUint32(e,t)}getInt32(e,t){return this._dataView.getInt32(e,t)}getFloat16(e,t){return ze(this._dataView,e,t)}getFloat32(e,t){return this._dataView.getFloat32(e,t)}getFloat64(e,t){return this._dataView.getFloat64(e,t)}},Q=class{constructor(e,t,r,s){this._dataView=new DataView(e),this._sliceOffset=t,this._littleEndian=r,this._bigTiff=s}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(e,t){return this.sliceOffset<=e&&this.sliceTop>=e+t}readUint8(e){return this._dataView.getUint8(e-this._sliceOffset)}readInt8(e){return this._dataView.getInt8(e-this._sliceOffset)}readUint16(e){return this._dataView.getUint16(e-this._sliceOffset,this._littleEndian)}readInt16(e){return this._dataView.getInt16(e-this._sliceOffset,this._littleEndian)}readUint32(e){return this._dataView.getUint32(e-this._sliceOffset,this._littleEndian)}readInt32(e){return this._dataView.getInt32(e-this._sliceOffset,this._littleEndian)}readFloat32(e){return this._dataView.getFloat32(e-this._sliceOffset,this._littleEndian)}readFloat64(e){return this._dataView.getFloat64(e-this._sliceOffset,this._littleEndian)}readUint64(e){const t=this.readUint32(e),r=this.readUint32(e+4);let s;if(this._littleEndian){if(s=t+2**32*r,!Number.isSafeInteger(s))throw new Error(`${s} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return s}if(s=2**32*t+r,!Number.isSafeInteger(s))throw new Error(`${s} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return s}readInt64(e){let t=0;const r=(this._dataView.getUint8(e+(this._littleEndian?7:0))&128)>0;let s=!0;for(let i=0;i<8;i++){let n=this._dataView.getUint8(e+(this._littleEndian?i:7-i));r&&(s?n!==0&&(n=~(n-1)&255,s=!1):n=~n&255),t+=n*256**i}return r&&(t=-t),t}readOffset(e){return this._bigTiff?this.readUint64(e):this.readUint32(e)}},Wt=`\r
3
+ >]`),y+=Ee(p,"</"+t+">"),y>=u)break;g=a}}const l=n+t.length+a+1;if(s&&console.log("[xml-utils] end:",l),l===-1)return;const c=e.slice(n,l);let h;return f?h=null:h=c.slice(c.indexOf(">")+1,c.lastIndexOf("<")),{inner:h,outer:c,start:n,end:l}}function xt(e,t,r){const s=[],i=r&&r.debug||!1,n=r&&typeof r.nested=="boolean"?r.nested:!0;let o=r&&r.startIndex||0,a;for(;a=Pt(e,t,{debug:i,startIndex:o});)n?o=a.start+1+t.length:o=a.end,s.push(a);return i&&console.log("findTagsByName found",s.length,"tags"),s}function Ft(e,t){const{width:r,height:s}=e,i=new Uint8Array(r*s*3);let n;for(let o=0,a=0;o<e.length;++o,a+=3)n=256-e[o]/t*256,i[a]=n,i[a+1]=n,i[a+2]=n;return i}function kt(e,t){const{width:r,height:s}=e,i=new Uint8Array(r*s*3);let n;for(let o=0,a=0;o<e.length;++o,a+=3)n=e[o]/t*256,i[a]=n,i[a+1]=n,i[a+2]=n;return i}function Dt(e,t){const{width:r,height:s}=e,i=new Uint8Array(r*s*3),n=t.length/3,o=t.length/3*2;for(let a=0,f=0;a<e.length;++a,f+=3){const l=e[a];i[f]=t[l]/65536*256,i[f+1]=t[l+n]/65536*256,i[f+2]=t[l+o]/65536*256}return i}function Ot(e){const{width:t,height:r}=e,s=new Uint8Array(t*r*3);for(let i=0,n=0;i<e.length;i+=4,n+=3){const o=e[i],a=e[i+1],f=e[i+2],l=e[i+3];s[n]=255*((255-o)/256)*((255-l)/256),s[n+1]=255*((255-a)/256)*((255-l)/256),s[n+2]=255*((255-f)/256)*((255-l)/256)}return s}function Rt(e){const{width:t,height:r}=e,s=new Uint8ClampedArray(t*r*3);for(let i=0,n=0;i<e.length;i+=3,n+=3){const o=e[i],a=e[i+1],f=e[i+2];s[n]=o+1.402*(f-128),s[n+1]=o-.34414*(a-128)-.71414*(f-128),s[n+2]=o+1.772*(a-128)}return s}var Mt=.95047,Bt=1,Vt=1.08883;function Ut(e){const{width:t,height:r}=e,s=new Uint8Array(t*r*3);for(let i=0,n=0;i<e.length;i+=3,n+=3){const o=e[i+0],a=e[i+1]<<24>>24,f=e[i+2]<<24>>24;let l=(o+16)/116,c=a/500+l,h=l-f/200,g,u,y;c=Mt*(c*c*c>.008856?c*c*c:(c-16/116)/7.787),l=Bt*(l*l*l>.008856?l*l*l:(l-16/116)/7.787),h=Vt*(h*h*h>.008856?h*h*h:(h-16/116)/7.787),g=c*3.2406+l*-1.5372+h*-.4986,u=c*-.9689+l*1.8758+h*.0415,y=c*.0557+l*-.204+h*1.057,g=g>.0031308?1.055*g**(1/2.4)-.055:12.92*g,u=u>.0031308?1.055*u**(1/2.4)-.055:12.92*u,y=y>.0031308?1.055*y**(1/2.4)-.055:12.92*y,s[n]=Math.max(0,Math.min(1,g))*255,s[n+1]=Math.max(0,Math.min(1,u))*255,s[n+2]=Math.max(0,Math.min(1,y))*255}return s}var q=new Map;async function J(e){const t=!e.hasTag("StripOffsets");return{tileWidth:t?await e.loadValue("TileWidth"):await e.loadValue("ImageWidth"),tileHeight:t?await e.loadValue("TileLength"):await e.loadValue("RowsPerStrip")||await e.loadValue("ImageLength"),planarConfiguration:await e.loadValue("PlanarConfiguration"),bitsPerSample:await e.loadValue("BitsPerSample"),predictor:await e.loadValue("Predictor")||1}}function Nt(e,t,r=J,s=!0){Array.isArray(e)||(e=[e]),e.forEach(i=>{q.set(i,{importFn:t,decoderParameterFn:r,preferWorker:s})})}async function Lt(e,t){if(!q.has(e))throw new Error(`Unknown compression method identifier: ${e}`);const{decoderParameterFn:r}=q.get(e);return r(t)}async function Ct(e,t){if(!q.has(e))throw new Error(`Unknown compression method identifier: ${e}`);const{importFn:r}=q.get(e);return new(await r())(t)}var zt=[{cases:[void 0,1],importFn:()=>Promise.resolve().then(()=>require("./raw-C-CSxCoU.cjs")).then(e=>e.default),preferWorker:!1},{cases:5,importFn:()=>Promise.resolve().then(()=>require("./lzw-1HaU0PJK.cjs")).then(e=>e.default)},{cases:6,importFn:()=>{throw new Error("old style JPEG compression is not supported.")}},{cases:7,importFn:()=>Promise.resolve().then(()=>require("./jpeg-B6Sg6W8k.cjs")).then(e=>e.default),decoderParameterFn:async e=>({...await J(e),JPEGTables:await e.loadValue("JPEGTables")})},{cases:[8,32946],importFn:()=>Promise.resolve().then(()=>require("./deflate-DNeBKDsy.cjs")).then(e=>e.default)},{cases:32773,importFn:()=>Promise.resolve().then(()=>require("./packbits-D5Zovac7.cjs")).then(e=>e.default)},{cases:34887,importFn:()=>Promise.resolve().then(()=>require("./lerc-C6881AhL.cjs")).then(async e=>(await e.zstd.init(),e)).then(e=>e.default),decoderParameterFn:async e=>({...await J(e),LercParameters:await e.loadValue("LercParameters")})},{cases:5e4,importFn:()=>Promise.resolve().then(()=>require("./zstd-B3Xa90HD.cjs")).then(async e=>(await e.zstd.init(),e)).then(e=>e.default)},{cases:50001,importFn:()=>Promise.resolve().then(()=>require("./webimage-Bh2pNwjN.cjs")).then(e=>e.default),decoderParameterFn:async e=>({...await J(e),samplesPerPixel:Number(await e.loadValue("SamplesPerPixel"))||4}),preferWorker:!1}];for(const e of zt){const{cases:t,importFn:r,decoderParameterFn:s,preferWorker:i}=e;Nt(t,r,s,i)}function re(e,t,r,s=1){return new(Object.getPrototypeOf(e)).constructor(t*r*s)}function qt(e,t,r,s,i){const n=t/s,o=r/i;return e.map(a=>{const f=re(a,s,i);for(let l=0;l<i;++l){const c=Math.min(Math.round(o*l),r-1);for(let h=0;h<s;++h){const g=Math.min(Math.round(n*h),t-1),u=a[c*t+g];f[l*s+h]=u}}return f})}function R(e,t,r){return(1-r)*e+r*t}function Gt(e,t,r,s,i){const n=t/s,o=r/i;return e.map(a=>{const f=re(a,s,i);for(let l=0;l<i;++l){const c=o*l,h=Math.floor(c),g=Math.min(Math.ceil(c),r-1);for(let u=0;u<s;++u){const y=n*u,p=y%1,w=Math.floor(y),m=Math.min(Math.ceil(y),t-1),b=a[h*t+w],v=a[h*t+m],S=a[g*t+w],T=a[g*t+m],A=R(R(b,v,p),R(S,T,p),c%1);f[l*s+u]=A}}return f})}function jt(e,t,r,s,i,n="nearest"){switch(n.toLowerCase()){case"nearest":return qt(e,t,r,s,i);case"bilinear":case"linear":return Gt(e,t,r,s,i);default:throw new Error(`Unsupported resampling method: '${n}'`)}}function Ht(e,t,r,s,i,n){const o=t/s,a=r/i,f=re(e,s,i,n);for(let l=0;l<i;++l){const c=Math.min(Math.round(a*l),r-1);for(let h=0;h<s;++h){const g=Math.min(Math.round(o*h),t-1);for(let u=0;u<n;++u){const y=e[c*t*n+g*n+u];f[l*s*n+h*n+u]=y}}}return f}function Yt(e,t,r,s,i,n){const o=t/s,a=r/i,f=re(e,s,i,n);for(let l=0;l<i;++l){const c=a*l,h=Math.floor(c),g=Math.min(Math.ceil(c),r-1);for(let u=0;u<s;++u){const y=o*u,p=y%1,w=Math.floor(y),m=Math.min(Math.ceil(y),t-1);for(let b=0;b<n;++b){const v=e[h*t*n+w*n+b],S=e[h*t*n+m*n+b],T=e[g*t*n+w*n+b],A=e[g*t*n+m*n+b],P=R(R(v,S,p),R(T,A,p),c%1);f[l*s*n+u*n+b]=P}}}return f}function $t(e,t,r,s,i,n,o="nearest"){switch(o.toLowerCase()){case"nearest":return Ht(e,t,r,s,i,n);case"bilinear":case"linear":return Yt(e,t,r,s,i,n);default:throw new Error(`Unsupported resampling method: '${o}'`)}}function Xt(e,t,r){let s=0;for(let i=t;i<r;++i)s+=e[i];return s}function le(e,t,r){let s;switch(e){case 1:t<=8?s=Uint8Array:t<=16?s=Uint16Array:t<=32&&(s=Uint32Array);break;case 2:t===8?s=Int8Array:t===16?s=Int16Array:t===32&&(s=Int32Array);break;case 3:switch(t){case 16:case 32:s=Float32Array;break;case 64:s=Float64Array;break;default:break}break;default:break}if(s){if(typeof r=="number")return new s(r);if(r instanceof ArrayBuffer)return new s(r)}throw Error("Unsupported data format/bitsPerSample")}function Kt(e,t){return(e===1||e===2)&&t<=32&&t%8===0?!1:!(e===3&&(t===16||t===32||t===64))}function Zt(e,t,r,s,i,n,o){const a=new DataView(e),f=r===2?o*n:o*n*s,l=r===2?1:s,c=le(t,i,f),h=parseInt("1".repeat(i),2);if(t===1){let g;r===1?g=s*i:g=i;let u=n*g;(u&7)!==0&&(u=u+7&-8);for(let y=0;y<o;++y){const p=y*u;for(let w=0;w<n;++w){const m=p+w*l*i;for(let b=0;b<l;++b){const v=m+b*i,S=(y*n+w)*l+b,T=Math.floor(v/8),A=v%8;A+i<=8?c[S]=a.getUint8(T)>>8-i-A&h:A+i<=16?c[S]=a.getUint16(T)>>16-i-A&h:A+i<=24?c[S]=(a.getUint16(T)<<8|a.getUint8(T+2))>>24-i-A&h:c[S]=a.getUint32(T)>>32-i-A&h}}}}return c.buffer}var Jt=class{constructor(e,t,r,s){this.fileDirectory=e,this.littleEndian=t,this.tiles=r?[]:null,this.isTiled=!e.hasTag("StripOffsets");const i=e.getValue("PlanarConfiguration")??1;if(i!==1&&i!==2)throw new Error("Invalid planar configuration.");this.planarConfiguration=i,this.source=s}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.fileDirectory.parseGeoKeyDirectory()}getWidth(){return this.fileDirectory.getValue("ImageWidth")||0}getHeight(){return this.fileDirectory.getValue("ImageLength")||0}getSamplesPerPixel(){return this.fileDirectory.getValue("SamplesPerPixel")??1}getTileWidth(){return this.isTiled?this.fileDirectory.getValue("TileWidth")||0:this.getWidth()}getTileHeight(){if(this.isTiled)return this.fileDirectory.getValue("TileLength")||0;const e=this.fileDirectory.hasTag("RowsPerStrip")&&this.fileDirectory.getValue("RowsPerStrip");return e?Math.min(e,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(e){return this.isTiled||(e+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-e*this.getTileHeight()}getBytesPerPixel(){let e=0;const t=this.fileDirectory.getValue("BitsPerSample")||[];for(let r=0;r<t.length;++r)e+=this.getSampleByteSize(r);return e}getSampleByteSize(e){const t=this.fileDirectory.getValue("BitsPerSample")||[];if(e>=t.length)throw new RangeError(`Sample index ${e} is out of range.`);return Math.ceil(t[e]/8)}getReaderForSample(e){const t=this.fileDirectory.getValue("SampleFormat"),r=t?t[e]:1,s=(this.fileDirectory.getValue("BitsPerSample")||[])[e];switch(r){case 1:if(s<=8)return DataView.prototype.getUint8;if(s<=16)return DataView.prototype.getUint16;if(s<=32)return DataView.prototype.getUint32;break;case 2:if(s<=8)return DataView.prototype.getInt8;if(s<=16)return DataView.prototype.getInt16;if(s<=32)return DataView.prototype.getInt32;break;case 3:switch(s){case 16:return function(i,n){return ze(this,i,n)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(e=0){const t=this.fileDirectory.getValue("SampleFormat");return t?t[e]:1}getBitsPerSample(e=0){const t=this.fileDirectory.getValue("BitsPerSample");return t?t[e]:0}getArrayForSample(e,t){return le(this.getSampleFormat(e),this.getBitsPerSample(e),t)}async getTileOrStrip(e,t,r,s,i){const n=Math.ceil(this.getWidth()/this.getTileWidth()),o=Math.ceil(this.getHeight()/this.getTileHeight());let a;const{tiles:f}=this;if(this.planarConfiguration===1?a=t*n+e:this.planarConfiguration===2&&(a=r*n*o+t*n+e),a===void 0)throw new Error("Could not determine tile or strip index.");let l,c;if(this.isTiled?(l=Number(await this.fileDirectory.loadValueIndexed("TileOffsets",a)),c=Number(await this.fileDirectory.loadValueIndexed("TileByteCounts",a))):(l=Number(await this.fileDirectory.loadValueIndexed("StripOffsets",a)),c=Number(await this.fileDirectory.loadValueIndexed("StripByteCounts",a))),c===0){const u=this.getBlockHeight(t)*this.getTileWidth(),y=this.planarConfiguration===2?this.getSampleByteSize(r):this.getBytesPerPixel(),p=new ArrayBuffer(u*y);return this.getArrayForSample(r,p).fill(this.getGDALNoData()||0),{x:e,y:t,sample:r,data:p}}const h=(await this.source.fetch([{offset:l,length:c}],i))[0];let g;return f===null||!f[a]?(g=(async()=>{let u=await s.decode(h);const y=this.getSampleFormat(),p=this.getBitsPerSample();return Kt(y,p)&&(u=Zt(u,y,this.planarConfiguration,this.getSamplesPerPixel(),p,this.getTileWidth(),this.getBlockHeight(t))),u})(),f!==null&&(f[a]=g)):g=f[a],{x:e,y:t,sample:r,data:await g}}async _readRaster(e,t,r,s,i,n,o,a,f){const l=this.getTileWidth(),c=this.getTileHeight(),h=this.getWidth(),g=this.getHeight(),u=Math.max(Math.floor(e[0]/l),0),y=Math.min(Math.ceil(e[2]/l),Math.ceil(h/l)),p=Math.max(Math.floor(e[1]/c),0),w=Math.min(Math.ceil(e[3]/c),Math.ceil(g/c)),m=e[2]-e[0];let b=this.getBytesPerPixel();const v=[],S=[];for(let _=0;_<t.length;++_){if(this.planarConfiguration===1){const x=await this.fileDirectory.loadValue("BitsPerSample");if(typeof x!="object")throw new Error("Expected BitsPerSample to be an array or typed array.");v.push(Xt(x,0,t[_])/8)}else v.push(0);S.push(this.getReaderForSample(t[_]))}const T=[],{littleEndian:A}=this;for(let _=p;_<w;++_)for(let x=u;x<y;++x){let H;this.planarConfiguration===1&&(H=this.getTileOrStrip(x,_,0,i,f));for(let Y=0;Y<t.length;++Y){const $=Y,ve=t[Y];if(this.planarConfiguration===2&&(b=this.getSampleByteSize(ve),H=this.getTileOrStrip(x,_,ve,i,f)),!H)throw new Error("Could not get tile or strip data.");const Ye=H.then(V=>{const $e=V.data,Xe=new DataView($e),se=this.getBlockHeight(V.y),U=V.y*c,X=V.x*l,Ke=U+se,Ze=(V.x+1)*l,Je=S[$],Qe=Math.min(se,se-(Ke-e[3]),g-U),We=Math.min(l,l-(Ze-e[2]),h-X);for(let N=Math.max(0,e[1]-U);N<Qe;++N)for(let L=Math.max(0,e[0]-X);L<We;++L){const et=(N*l+L)*b,Ie=Je.call(Xe,et+v[$],A);let K;s?(K=(N+U-e[1])*m*t.length+(L+X-e[0])*t.length+$,r[K]=Ie):(K=(N+U-e[1])*m+L+X-e[0],r[$][K]=Ie)}});T.push(Ye)}}if(await Promise.all(T),n&&e[2]-e[0]!==n||o&&e[3]-e[1]!==o){let _;s?_=$t(r,e[2]-e[0],e[3]-e[1],n,o,t.length,a):_=jt(r,e[2]-e[0],e[3]-e[1],n,o,a);const x=_;return x.width=n??e[2]-e[0],x.height=o??e[3]-e[1],x}const P=r;return P.width=n||e[2]-e[0],P.height=o||e[3]-e[1],P}async readRasters(e={}){const{window:t,samples:r=[],pool:s=null,width:i,height:n,resampleMethod:o,fillValue:a,signal:f}=e,l="interleave"in e&&e.interleave,c=t||[0,0,this.getWidth(),this.getHeight()];if(c[0]>c[2]||c[1]>c[3])throw new Error("Invalid subsets");const h=(c[2]-c[0])*(c[3]-c[1]),g=this.getSamplesPerPixel();if(!r||!r.length)for(let m=0;m<g;++m)r.push(m);else for(let m=0;m<r.length;++m)if(r[m]>=g)return Promise.reject(new RangeError(`Invalid sample index '${r[m]}'.`));let u;if(l){const{fileDirectory:m}=this,b=m.getValue("SampleFormat"),v=b?Math.max.apply(null,Array.from(b)):1;if(v!==1&&v!==2&&v!==3)throw new Error("Unsupported sample format for interleaved data. Must be 1, 2, or 3.");const S=m.getValue("BitsPerSample");if(u=le(v,S?Math.max.apply(null,Array.from(S)):8,h*r.length),a){if(Array.isArray(a))throw new Error("When reading interleaved data, fillValue must be a single number.");u.fill(a)}}else{u=[];for(let m=0;m<r.length;++m){const b=this.getArrayForSample(r[m],h);Array.isArray(a)&&m<a.length?b.fill(a[m]):a&&!Array.isArray(a)&&b.fill(a),u.push(b)}}const y=this.fileDirectory.getValue("Compression")||1,p=await Lt(y,this.fileDirectory),w=s?s.bindParameters(y,p):await Ct(y,p);return await this._readRaster(c,r,u,l,w,i,n,o,f)}async readRGB(e={}){const{window:t,pool:r=null,width:s,height:i,resampleMethod:n,enableAlpha:o=!1,signal:a}=e,f=("interleave"in e&&e.interleave)??!1,l=t||[0,0,this.getWidth(),this.getHeight()];if(l[0]>l[2]||l[1]>l[3])throw new Error("Invalid subsets");const c=this.fileDirectory.getValue("PhotometricInterpretation");if(c===d.photometricInterpretations.RGB){let b=[0,1,2];const v=this.fileDirectory.getValue("ExtraSamples");if(v&&v[0]!==d.ExtraSamplesValues.Unspecified&&o){b=[];const S=this.fileDirectory.getValue("BitsPerSample")||[];for(let T=0;T<S.length;T+=1)b.push(T)}return this.readRasters({window:t,interleave:f,samples:b,pool:r,width:s,height:i,resampleMethod:n,signal:a})}let h;switch(c){case d.photometricInterpretations.WhiteIsZero:case d.photometricInterpretations.BlackIsZero:case d.photometricInterpretations.Palette:h=[0];break;case d.photometricInterpretations.CMYK:h=[0,1,2,3];break;case d.photometricInterpretations.YCbCr:case d.photometricInterpretations.CIELab:h=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}const g={window:l,interleave:!0,samples:h,pool:r,width:s,height:i,resampleMethod:n,signal:a},{fileDirectory:u}=this,y=await this.readRasters(g),p=2**this.getBitsPerSample(0);let w;switch(c){case d.photometricInterpretations.WhiteIsZero:w=Ft(y,p);break;case d.photometricInterpretations.BlackIsZero:w=kt(y,p);break;case d.photometricInterpretations.Palette:w=Dt(y,await u.loadValue("ColorMap"));break;case d.photometricInterpretations.CMYK:w=Ot(y);break;case d.photometricInterpretations.YCbCr:w=Rt(y);break;case d.photometricInterpretations.CIELab:w=Ut(y);break;default:throw new Error("Unsupported photometric interpretation.")}if(!f){const b=new Uint8Array(w.length/3),v=new Uint8Array(w.length/3),S=new Uint8Array(w.length/3);for(let T=0,A=0;T<w.length;T+=3,++A)b[A]=w[T],v[A]=w[T+1],S[A]=w[T+2];w=[b,v,S]}const m=w;return m.width=y.width,m.height=y.height,m}async getTiePoints(){if(!this.fileDirectory.hasTag("ModelTiepoint"))return[];const e=await this.fileDirectory.loadValue("ModelTiepoint");if(typeof e!="object")throw new Error("Expected ModelTiepoint to be an array or typed array.");const t=[];for(let r=0;r<e.length;r+=6)t.push({i:e[r],j:e[r+1],k:e[r+2],x:e[r+3],y:e[r+4],z:e[r+5]});return t}async getGDALMetadata(e=null){const t={};if(!this.fileDirectory.hasTag("GDAL_METADATA"))return null;let r=xt(await this.fileDirectory.loadValue("GDAL_METADATA"),"Item");e===null?r=r.filter(s=>ie(s,"sample")===void 0):r=r.filter(s=>Number(ie(s,"sample"))===e);for(let s=0;s<r.length;++s){const i=r[s];t[ie(i,"name")]=i.inner}return t}getGDALNoData(){const e=this.fileDirectory.hasTag("GDAL_NODATA")&&this.fileDirectory.getValue("GDAL_NODATA");return e?Number(e.substring(0,e.length-1)):null}getOrigin(){const e=this.fileDirectory.getValue("ModelTiepoint"),t=this.fileDirectory.getValue("ModelTransformation");if(e&&e.length===6)return[e[3],e[4],e[5]];if(t)return[t[3],t[7],t[11]];throw new Error("The image does not have an affine transformation.")}getResolution(e=null){const t=this.fileDirectory.getValue("ModelPixelScale"),r=this.fileDirectory.getValue("ModelTransformation");if(t)return[t[0],-t[1],t[2]];if(r)return r[1]===0&&r[4]===0?[r[0],-r[5],r[10]]:[Math.sqrt(r[0]*r[0]+r[4]*r[4]),-Math.sqrt(r[1]*r[1]+r[5]*r[5]),r[10]];if(e){const[s,i,n]=e.getResolution();return[s*e.getWidth()/this.getWidth(),i*e.getHeight()/this.getHeight(),n*e.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.getGeoKeys()?.GTRasterTypeGeoKey===1}getBoundingBox(e=!1){const t=this.getHeight(),r=this.getWidth(),s=this.fileDirectory.getValue("ModelTransformation");if(s&&!e){const[i,n,,o,a,f,,l]=s,c=[[0,0],[0,t],[r,0],[r,t]].map(([u,y])=>[o+i*u+n*y,l+a*u+f*y]),h=c.map(u=>u[0]),g=c.map(u=>u[1]);return[Math.min(...h),Math.min(...g),Math.max(...h),Math.max(...g)]}else{const i=this.getOrigin(),n=this.getResolution(),o=i[0],a=i[1],f=o+n[0]*r,l=a+n[1]*t;return[Math.min(o,f),Math.min(a,l),Math.max(o,f),Math.max(a,l)]}}},Qt=class{constructor(e){this._dataView=new DataView(e)}get buffer(){return this._dataView.buffer}getUint64(e,t){const r=this.getUint32(e,t),s=this.getUint32(e+4,t);let i;if(t){if(i=r+2**32*s,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}if(i=2**32*r+s,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}getInt64(e,t){let r=0;const s=(this._dataView.getUint8(e+(t?7:0))&128)>0;let i=!0;for(let n=0;n<8;n++){let o=this._dataView.getUint8(e+(t?n:7-n));s&&(i?o!==0&&(o=~(o-1)&255,i=!1):o=~o&255),r+=o*256**n}return s&&(r=-r),r}getUint8(e){return this._dataView.getUint8(e)}getInt8(e){return this._dataView.getInt8(e)}getUint16(e,t){return this._dataView.getUint16(e,t)}getInt16(e,t){return this._dataView.getInt16(e,t)}getUint32(e,t){return this._dataView.getUint32(e,t)}getInt32(e,t){return this._dataView.getInt32(e,t)}getFloat16(e,t){return ze(this._dataView,e,t)}getFloat32(e,t){return this._dataView.getFloat32(e,t)}getFloat64(e,t){return this._dataView.getFloat64(e,t)}},Q=class{constructor(e,t,r,s){this._dataView=new DataView(e),this._sliceOffset=t,this._littleEndian=r,this._bigTiff=s}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(e,t){return this.sliceOffset<=e&&this.sliceTop>=e+t}readUint8(e){return this._dataView.getUint8(e-this._sliceOffset)}readInt8(e){return this._dataView.getInt8(e-this._sliceOffset)}readUint16(e){return this._dataView.getUint16(e-this._sliceOffset,this._littleEndian)}readInt16(e){return this._dataView.getInt16(e-this._sliceOffset,this._littleEndian)}readUint32(e){return this._dataView.getUint32(e-this._sliceOffset,this._littleEndian)}readInt32(e){return this._dataView.getInt32(e-this._sliceOffset,this._littleEndian)}readFloat32(e){return this._dataView.getFloat32(e-this._sliceOffset,this._littleEndian)}readFloat64(e){return this._dataView.getFloat64(e-this._sliceOffset,this._littleEndian)}readUint64(e){const t=this.readUint32(e),r=this.readUint32(e+4);let s;if(this._littleEndian){if(s=t+2**32*r,!Number.isSafeInteger(s))throw new Error(`${s} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return s}if(s=2**32*t+r,!Number.isSafeInteger(s))throw new Error(`${s} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return s}readInt64(e){let t=0;const r=(this._dataView.getUint8(e+(this._littleEndian?7:0))&128)>0;let s=!0;for(let i=0;i<8;i++){let n=this._dataView.getUint8(e+(this._littleEndian?i:7-i));r&&(s?n!==0&&(n=~(n-1)&255,s=!1):n=~n&255),t+=n*256**i}return r&&(t=-t),t}readOffset(e){return this._bigTiff?this.readUint64(e):this.readUint32(e)}},Wt=`\r
4
4
  \r
5
5
  `;function qe(e){if(typeof Object.fromEntries<"u")return Object.fromEntries(e);const t={};for(const[r,s]of e)t[r.toLowerCase()]=s;return t}function er(e){return qe(e.split(`\r
6
6
  `).map(t=>{const r=t.split(":").map(s=>s.trim());return r[0]=r[0].toLowerCase(),r}))}function tr(e){if(!e)return{type:null,params:{}};const[t,...r]=e.split(";").map(s=>s.trim());return{type:t,params:qe(r.map(s=>s.split("=")))}}function ce(e){let t=NaN,r=NaN,s=NaN;return e&&([,t,r,s]=(e.match(/bytes (\d+)-(\d+)\/(\d+)/)||[]).map(Number)),{start:t,end:r,total:s}}function rr(e,t){let r=-1;const s=new TextDecoder("ascii"),i=[],n=`--${t}`,o=`${n}--`;for(let a=0;a<10;++a)s.decode(new Uint8Array(e,a,n.length))===n&&(r=a);if(r===-1)throw new Error("Could not find initial boundary");for(;r<e.byteLength;){const a=s.decode(new Uint8Array(e,r,Math.min(n.length+1024,e.byteLength-r)));if(a.length===0||a.startsWith(o))break;if(!a.startsWith(n))throw new Error("Part does not start with boundary");const f=a.substr(n.length+2);if(f.length===0)break;const l=f.indexOf(Wt),c=er(f.substr(0,l)),{start:h,end:g,total:u}=ce(c["content-range"]),y=r+n.length+l+4,p=g+1-h;i.push({headers:c,data:e.slice(y,y+p),offset:h,length:p,fileSize:u}),r=y+p+4}return i}var Ge=class{async fetch(e,t){return Promise.all(e.map(async r=>(await this.fetchSlice(r,t)).data))}async fetchSlice(e,t){throw new Error(`fetching of slice ${e} not possible, not implemented`)}get fileSize(){return null}async close(){}},sr=class extends Map{constructor(e={}){if(super(),!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof e.maxAge=="number"&&e.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||Number.POSITIVE_INFINITY,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if(typeof this.onEviction=="function")for(const[t,r]of e)this.onEviction(t,r.value)}_deleteIfExpired(e,t){return typeof t.expiry=="number"&&t.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(e,t.value),this.delete(e)):!1}_getOrDeleteIfExpired(e,t){if(this._deleteIfExpired(e,t)===!1)return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){const r=t.get(e);return this._getItemValue(e,r)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(const e of this.oldCache){const[t,r]=e;this.cache.has(t)||this._deleteIfExpired(t,r)===!1&&(yield e)}for(const e of this.cache){const[t,r]=e;this._deleteIfExpired(t,r)===!1&&(yield e)}}get(e){if(this.cache.has(e)){const t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){const t=this.oldCache.get(e);if(this._deleteIfExpired(e,t)===!1)return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:r=this.maxAge}={}){const s=typeof r=="number"&&r!==Number.POSITIVE_INFINITY?Date.now()+r:void 0;return this.cache.has(e)?this.cache.set(e,{value:t,expiry:s}):this._set(e,{value:t,expiry:s}),this}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):this.oldCache.has(e)?!this._deleteIfExpired(e,this.oldCache.get(e)):!1}peek(e){if(this.cache.has(e))return this._peek(e,this.cache);if(this.oldCache.has(e))return this._peek(e,this.oldCache)}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");const t=[...this._entriesAscending()],r=t.length-e;r<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(r>0&&this._emitEvictions(t.slice(0,r)),this.oldCache=new Map(t.slice(r)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache){const[t,r]=e;this._deleteIfExpired(t,r)===!1&&(yield[t,r.value])}for(const e of this.oldCache){const[t,r]=e;this.cache.has(t)||this._deleteIfExpired(t,r)===!1&&(yield[t,r.value])}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){const[r,s]=e[t];this._deleteIfExpired(r,s)===!1&&(yield[r,s.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){const[r,s]=e[t];this.cache.has(r)||this._deleteIfExpired(r,s)===!1&&(yield[r,s.value])}}*entriesAscending(){for(const[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}entries(){return this.entriesAscending()}forEach(e,t=this){for(const[r,s]of this.entriesAscending())e.call(t,s,r,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};async function ir(e){return new Promise(t=>setTimeout(t,e))}function nr(e,t){const r=Array.isArray(e)?e:Array.from(e),s=Array.isArray(t)?t:Array.from(t);return r.map((i,n)=>[i,s[n]])}var G=class je extends Error{constructor(...t){super(...t),Error.captureStackTrace&&Error.captureStackTrace(this,je),this.name="AbortError",this.signal=void 0}},ar=class extends Error{constructor(e,t){super(t),this.errors=e,this.message=t,this.name="AggregateError"}},or=ar,lr=class{constructor(e,t,r){this.offset=e,this.length=t,this.data=r}get top(){return this.offset+this.length}},_e=class{constructor(e,t,r){this.offset=e,this.length=t,this.blockIds=r}},cr=class extends Ge{constructor(e,{blockSize:t=65536,cacheSize:r=100}={}){super(),this.source=e,this.blockSize=t,this.blockCache=new sr({maxSize:r,onEviction:(s,i)=>{this.evictedBlocks.set(s,i)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(e,t){const r=[],s=[],i=[];this.evictedBlocks.clear();for(const{offset:h,length:g}of e){let u=h+g;const{fileSize:y}=this;y!==null&&(u=Math.min(u,y));const p=Math.floor(h/this.blockSize)*this.blockSize;for(let w=p;w<u;w+=this.blockSize){const m=Math.floor(w/this.blockSize);!this.blockCache.has(m)&&!this.blockRequests.has(m)&&(this.blockIdsToFetch.add(m),s.push(m)),this.blockRequests.has(m)&&r.push(this.blockRequests.get(m)),i.push(m)}}await ir(),this.fetchBlocks(t);const n=[];for(const h of s)this.blockRequests.has(h)&&n.push(this.blockRequests.get(h));await Promise.allSettled(r),await Promise.allSettled(n);const o=[],a=i.filter(h=>this.abortedBlockIds.has(h)||!this.blockCache.has(h));if(a.forEach(h=>this.blockIdsToFetch.add(h)),a.length>0&&t&&!t.aborted){this.fetchBlocks();for(const h of a){const g=this.blockRequests.get(h);if(!g)throw new Error(`Block ${h} is not in the block requests`);o.push(g)}await Promise.allSettled(o)}if(t&&t.aborted)throw new G("Request was aborted");const f=i.map(h=>this.blockCache.get(h)||this.evictedBlocks.get(h)),l=f.filter(h=>!h);if(l.length)throw new or(l,"Request failed");const c=new Map(nr(i,f));return this.readSliceData(e,c)}fetchBlocks(e){if(this.blockIdsToFetch.size>0){const t=this.groupBlocks(this.blockIdsToFetch),r=t.map(async s=>({...s,...await this.source.fetchSlice(s,e)}));for(let s=0;s<t.length;++s){const i=t[s];for(const n of i.blockIds)this.blockRequests.set(n,(async()=>{try{const o=(await Promise.all(r))[s],a=n*this.blockSize,f=a-o.offset,l=Math.min(f+this.blockSize,o.data.byteLength),c=o.data.slice(f,l),h=new lr(a,c.byteLength,c);this.blockCache.set(n,h),this.abortedBlockIds.delete(n)}catch(o){if(o instanceof G&&o.name==="AbortError")o.signal=e,this.blockCache.delete(n),this.abortedBlockIds.add(n);else throw o}finally{this.blockRequests.delete(n)}})())}this.blockIdsToFetch.clear()}}groupBlocks(e){const t=Array.from(e).sort((n,o)=>n-o);if(t.length===0)return[];let r=[],s=null;const i=[];for(const n of t)s===null||s+1===n?(r.push(n),s=n):(i.push(new _e(r[0]*this.blockSize,r.length*this.blockSize,r)),r=[n],s=n);return i.push(new _e(r[0]*this.blockSize,r.length*this.blockSize,r)),i}readSliceData(e,t){return e.map(r=>{let s=r.offset+r.length;this.fileSize!==null&&(s=Math.min(this.fileSize,s));const i=Math.floor(r.offset/this.blockSize),n=Math.floor((s-1)/this.blockSize),o=new ArrayBuffer(r.length),a=new Uint8Array(o);for(let f=i;f<=n;++f){const l=t.get(f);if(!l)continue;const c=l.offset-r.offset,h=l.top-s;let g=0,u=0,y;c<0?g=-c:c>0&&(u=c),h<0?y=l.length-g:y=s-l.offset-g;const p=new Uint8Array(l.data,g,y);a.set(p,u)}return o})}},we=class{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(e){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}},me=class{constructor(e){this.url=e}async request(e){throw new Error("request is not implemented")}},hr=class extends we{constructor(e){super(),this.response=e}get status(){return this.response.status}getHeader(e){return this.response.headers.get(e)||void 0}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}},fr=class extends me{constructor(e,t){super(e),this.credentials=t}async request({headers:e,signal:t}={}){return new hr(await fetch(this.url,{headers:e,credentials:this.credentials,signal:t}))}},ur=class extends we{constructor(e,t){super(),this.xhr=e,this.data=t}get status(){return this.xhr.status}getHeader(e){return this.xhr.getResponseHeader(e)||void 0}async getData(){return this.data}},dr=class extends me{constructRequest(e,t){return new Promise((r,s)=>{const i=new XMLHttpRequest;i.open("GET",this.url),i.responseType="arraybuffer";for(const[n,o]of Object.entries(e))i.setRequestHeader(n,o);i.onload=()=>{const n=i.response;r(new ur(i,n))},i.onerror=s,i.onabort=()=>s(new G("Request aborted")),i.send(),t&&(t.aborted&&i.abort(),t.addEventListener("abort",()=>i.abort()))})}async request({headers:e={},signal:t=void 0}={}){return await this.constructRequest(e,t)}},gr=Pe.__commonJSMin(((e,t)=>{t.exports={}})),ne=Pe.__toESM(gr(),1),yr=class extends we{constructor(e,t){super(),this.response=e,this.dataPromise=t}get status(){return this.response.statusCode}getHeader(e){const t=this.response.headers[e];return Array.isArray(t)?t.join(", "):t}async getData(){return await this.dataPromise}},pr=class extends me{constructor(e){super(e),this.parsedUrl=ne.default.parse(this.url),this.httpApi=(this.parsedUrl.protocol==="http:",ne.default)}constructRequest(e,t){return new Promise((r,s)=>{const i=this.httpApi.get({...this.parsedUrl,headers:e},n=>{r(new yr(n,new Promise(o=>{const a=[];n.on("data",f=>{a.push(f)}),n.on("end",()=>{const f=Buffer.concat(a).buffer;o(f)}),n.on("error",s)})))});i.on("error",s),t&&(t.aborted&&i.destroy(new G("Request aborted")),t.addEventListener("abort",()=>i.destroy(new G("Request aborted"))))})}async request({headers:e={},signal:t=void 0}={}){return await this.constructRequest(e,t)}},be=class extends Ge{constructor(e,{headers:t,maxRanges:r=0,allowFullFile:s}={}){super(),this.client=e,this.headers=t,this.maxRanges=r,this.allowFullFile=s,this._fileSize=null}async fetch(e,t){return this.maxRanges>=e.length?this.fetchSlices(e,t).then(r=>r.map(s=>s.data)):(this.maxRanges>0&&e.length>1,Promise.all(e.map(async r=>(await this.fetchSlice(r,t)).data)))}async fetchSlices(e,t){const r=await this.client.request({headers:{...this.headers,Range:`bytes=${e.map(({offset:s,length:i})=>`${s}-${s+i-1}`).join(",")}`},signal:t});if(r.ok)if(r.status===206){const{type:s,params:i}=tr(r.getHeader("content-type"));if(s==="multipart/byteranges"){const c=rr(await r.getData(),i.boundary);return this._fileSize=c[0].fileSize||null,c}const n=await r.getData(),{start:o,end:a,total:f}=ce(r.getHeader("content-range"));this._fileSize=f||null;const l=[{data:n,offset:o,length:a+1-o}];if(e.length>1){const c=await Promise.all(e.slice(1).map(h=>this.fetchSlice(h,t)));return l.concat(c)}return l}else{if(!this.allowFullFile)throw new Error("Server responded with full file");const s=await r.getData();return this._fileSize=s.byteLength,[{data:s,offset:0,length:s.byteLength}]}else throw new Error("Error fetching data.")}async fetchSlice(e,t){const{offset:r,length:s}=e,i=await this.client.request({headers:{...this.headers,Range:`bytes=${r}-${r+s-1}`},signal:t});if(i.ok)if(i.status===206){const n=await i.getData(),{total:o}=ce(i.getHeader("content-range"));return this._fileSize=o||null,{data:n,offset:r,length:s}}else{if(!this.allowFullFile)throw new Error("Server responded with full file");const n=await i.getData();return this._fileSize=n.byteLength,{data:n,offset:0,length:n.byteLength}}else throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}};function Te(e,{blockSize:t,cacheSize:r}){return t===void 0?e:new cr(e,{blockSize:t,cacheSize:r})}function wr(e,{headers:t={},credentials:r,maxRanges:s=0,allowFullFile:i=!1,...n}={}){return Te(new be(new fr(e,r),{headers:t,maxRanges:s,allowFullFile:i}),n)}function mr(e,{headers:t={},maxRanges:r=0,allowFullFile:s=!1,...i}={}){return Te(new be(new dr(e),{headers:t,maxRanges:r,allowFullFile:s}),i)}function br(e,{headers:t={},maxRanges:r=0,allowFullFile:s=!1,...i}={}){return Te(new be(new pr(e),{headers:t,maxRanges:r,allowFullFile:s}),i)}function Tr(e,{forceXHR:t=!1,...r}={}){return typeof fetch=="function"&&!t?wr(e,r):typeof XMLHttpRequest<"u"?mr(e,r):br(e,r)}function D(e,t){switch(e){case d.fieldTypes.BYTE:case d.fieldTypes.ASCII:case d.fieldTypes.UNDEFINED:return new Uint8Array(t);case d.fieldTypes.SBYTE:return new Int8Array(t);case d.fieldTypes.SHORT:return new Uint16Array(t);case d.fieldTypes.SSHORT:return new Int16Array(t);case d.fieldTypes.LONG:case d.fieldTypes.IFD:return new Uint32Array(t);case d.fieldTypes.SLONG:return new Int32Array(t);case d.fieldTypes.LONG8:case d.fieldTypes.IFD8:return new Array(t);case d.fieldTypes.SLONG8:return new Array(t);case d.fieldTypes.RATIONAL:return new Uint32Array(t*2);case d.fieldTypes.SRATIONAL:return new Int32Array(t*2);case d.fieldTypes.FLOAT:return new Float32Array(t);case d.fieldTypes.DOUBLE:return new Float64Array(t);default:throw new RangeError(`Invalid field type: ${e}`)}}function O(e,t){switch(t){case d.fieldTypes.BYTE:case d.fieldTypes.ASCII:case d.fieldTypes.UNDEFINED:return e.readUint8;case d.fieldTypes.SBYTE:return e.readInt8;case d.fieldTypes.SHORT:return e.readUint16;case d.fieldTypes.SSHORT:return e.readInt16;case d.fieldTypes.LONG:case d.fieldTypes.IFD:return e.readUint32;case d.fieldTypes.SLONG:return e.readInt32;case d.fieldTypes.LONG8:case d.fieldTypes.IFD8:return e.readUint64;case d.fieldTypes.SLONG8:return e.readInt64;case d.fieldTypes.RATIONAL:return e.readUint32;case d.fieldTypes.SRATIONAL:return e.readInt32;case d.fieldTypes.FLOAT:return e.readFloat32;case d.fieldTypes.DOUBLE:return e.readFloat64;default:throw new RangeError(`Invalid field type: ${t}`)}}function C(e=null,t,r,s,i,n,o=!1){const a=d.getFieldTypeSize(s),f=e||D(s,i),l=s===d.fieldTypes.RATIONAL||s===d.fieldTypes.SRATIONAL;if(l)for(let c=0;c<i;c+=2)f[c]=t.call(r,n+c*a),f[c+1]=t.call(r,n+(c*a+4));else for(let c=0;c<i;++c)f[c]=t.call(r,n+c*a);return s===d.fieldTypes.ASCII?new TextDecoder("utf-8").decode(f):i===1&&!o&&!l?f[0]:f}var vr=class{constructor(e,t,r,s,i){this.source=e,this.arrayOffset=t,this.littleEndian=r,this.fieldType=s,this.length=i,this.data=D(s,i),this.itemSize=d.getFieldTypeSize(s),this.maskBitmap=new Uint8Array(Math.ceil(i/8)),this.fetchIndexPromises=new Map,this.fullFetchPromise=null}async loadAll(){return this.fullFetchPromise||(this.fullFetchPromise=this.source.fetch([{offset:this.arrayOffset,length:this.itemSize*this.length}]).then(e=>{const t=new Q(e[0],this.arrayOffset,!0,!1),r=C(this.data,O(t,this.fieldType),t,this.fieldType,this.length,this.arrayOffset,!0);return this.maskBitmap.fill(255),this.fetchIndexPromises.clear(),r})),this.fullFetchPromise}async get(e){if(e<0||e>=this.data.length)throw new RangeError(`Index ${e} out of bounds for length ${this.data.length}`);const t=Math.floor(e/8),r=1<<e%8,s=this.arrayOffset+e*this.itemSize;if((this.maskBitmap[t]&r)===0){if(!this.fetchIndexPromises.has(e)){const i=this.source.fetch([{offset:s,length:this.itemSize}]).then(n=>{const o=new Q(n[0],this.arrayOffset+e*this.itemSize,!0,!1),a=O(o,this.fieldType).call(o,s);return this.data[e]=a,this.maskBitmap[t]|=r,this.fetchIndexPromises.delete(e),a});this.fetchIndexPromises.set(e,i)}return this.fetchIndexPromises.get(e)}return this.data[e]}},Ir=class{constructor(e,t,r,s){this.actualizedFields=e,this.deferredFields=t,this.deferredFieldsBeingResolved=new Map,this.deferredArrays=r,this.nextIFDByteOffset=s}hasTag(e){const t=d.resolveTag(e);return this.actualizedFields.has(t)||this.deferredFields.has(t)||this.deferredArrays.has(t)}getValue(e){const t=d.resolveTag(e);if(this.deferredFields.has(t)||this.deferredArrays.has(t)){const r=d.tagDefinitions[t]?.name||`Tag${t}`;throw new Error(`Field '${r}' (${t}) is deferred. Use loadValue() to load it asynchronously.`)}if(this.actualizedFields.has(t))return this.actualizedFields.get(t)}async loadValue(e){const t=d.resolveTag(e);if(this.actualizedFields.has(t))return this.actualizedFields.get(t);if(this.deferredFieldsBeingResolved.has(t))return this.deferredFieldsBeingResolved.get(t);const r=this.deferredFields.get(t);if(r){this.deferredFields.delete(t);const i=(async()=>{try{const n=await r();return this.actualizedFields.set(t,n),n}finally{this.deferredFieldsBeingResolved.delete(t)}})();return this.deferredFieldsBeingResolved.set(t,i),i}const s=this.deferredArrays.get(t);if(s)return s.loadAll()}async loadValueIndexed(e,t){const r=d.resolveTag(e);if(this.actualizedFields.has(r))return this.actualizedFields.get(r)[t];if(this.deferredArrays.has(r))return this.deferredArrays.get(r).get(t);if(this.hasTag(r)){const s=await this.loadValue(r);if(s&&typeof s!="number")return s[t]}}parseGeoKeyDirectory(){const e=this.getValue("GeoKeyDirectory");if(!e)return null;const t={};for(let r=4;r<=e[3]*4;r+=4){const s=d.geoKeyNames[e[r]],i=e[r+1]||null,n=e[r+2],o=e[r+3];let a=null;if(!i)a=o;else{if(a=this.getValue(i),typeof a>"u"||a===null)throw new Error(`Could not get value of geoKey '${s}'.`);typeof a=="string"?a=a.substring(o,o+n-1):a.subarray&&(a=a.subarray(o,o+n),n===1&&(a=a[0]))}t[s]=a}return t}toObject(){const e={};for(const[t,r]of this.actualizedFields.entries()){const s=typeof t=="number"?d.tagDefinitions[t]:void 0,i=s?s.name:`Tag${t}`;e[i]=r}return e}},Ar=class{constructor(e,t,r,s=!1){this.source=e,this.littleEndian=t,this.bigTiff=r,this.eager=s}async getSlice(e,t){const r=this.bigTiff?4048:1024;return new Q((await this.source.fetch([{offset:e,length:typeof t<"u"?t:r}]))[0],e,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(e){const t=this.bigTiff?20:12,r=this.bigTiff?8:2;let s=await this.getSlice(e);const i=this.bigTiff?s.readUint64(e):s.readUint16(e),n=i*(t+(this.bigTiff?16:6));s.covers(e,n)||(s=await this.getSlice(e,n));const o=new Map,a=new Map,f=new Map;let l=e+(this.bigTiff?8:2);for(let c=0;c<i;l+=t,++c){const h=s.readUint16(l),g=s.readUint16(l+2),u=this.bigTiff?s.readUint64(l+4):s.readUint32(l+4);let y=null,p=null,w=null;const m=d.getFieldTypeSize(g),b=l+(this.bigTiff?12:8),v=d.tagDefinitions[h]?.isArray,S=d.tagDefinitions[h]?.eager||this.eager;if(m*u<=(this.bigTiff?8:4))y=C(D(g,u),O(s,g),s,g,u,b,v);else{const T=s.readOffset(b),A=d.getFieldTypeSize(g)*u;if(s.covers(T,A))y=C(D(g,u),O(s,g),s,g,u,T,v);else if(S){const P=await this.getSlice(T,A);y=C(D(g,u),O(P,g),P,g,u,T,v)}else v?w=new vr(this.source,T,this.littleEndian,g,u):p=async()=>{const P=await this.getSlice(T,A);return C(D(g,u),O(P,g),P,g,u,T,v)}}y!==null?o.set(h,y):p!==null?a.set(h,p):w!==null&&f.set(h,w)}return new Ir(o,a,f,s.readOffset(e+r+t*i))}};function ae(e,t,r,s){let i=null,n=null;const o=d.getFieldTypeSize(t);switch(t){case d.fieldTypes.BYTE:case d.fieldTypes.ASCII:case d.fieldTypes.UNDEFINED:i=new Uint8Array(r),n=e.readUint8;break;case d.fieldTypes.SBYTE:i=new Int8Array(r),n=e.readInt8;break;case d.fieldTypes.SHORT:i=new Uint16Array(r),n=e.readUint16;break;case d.fieldTypes.SSHORT:i=new Int16Array(r),n=e.readInt16;break;case d.fieldTypes.LONG:case d.fieldTypes.IFD:i=new Uint32Array(r),n=e.readUint32;break;case d.fieldTypes.SLONG:i=new Int32Array(r),n=e.readInt32;break;case d.fieldTypes.LONG8:case d.fieldTypes.IFD8:i=new Array(r),n=e.readUint64;break;case d.fieldTypes.SLONG8:i=new Array(r),n=e.readInt64;break;case d.fieldTypes.RATIONAL:i=new Uint32Array(r*2),n=e.readUint32;break;case d.fieldTypes.SRATIONAL:i=new Int32Array(r*2),n=e.readInt32;break;case d.fieldTypes.FLOAT:i=new Float32Array(r),n=e.readFloat32;break;case d.fieldTypes.DOUBLE:i=new Float64Array(r),n=e.readFloat64;break;default:}if(i===null||n===null)throw new RangeError(`Invalid field type: ${t}`);if(t===d.fieldTypes.RATIONAL||t===d.fieldTypes.SRATIONAL)for(let a=0;a<r;a+=2)i[a]=n.call(e,s+a*o),i[a+1]=n.call(e,s+(a*o+4));else for(let a=0;a<r;++a)i[a]=n.call(e,s+a*o);return t===d.fieldTypes.ASCII?new TextDecoder("utf-8").decode(i):i}var Z=class extends Error{constructor(e){super(`No image at index ${e}`),this.index=e}},Sr=class{async getImage(e=0){throw new Error("Not implemented")}async getImageCount(){throw new Error("Not implemented")}async readRasters(e={}){const{window:t,width:r,height:s}=e;let{resX:i,resY:n,bbox:o}=e;const a=await this.getImage();let f=a;const l=await this.getImageCount(),c=a.getBoundingBox();if(t&&o)throw new Error('Both "bbox" and "window" passed.');if(r||s){if(t){const[u,y]=a.getOrigin(),[p,w]=a.getResolution();o=[u+t[0]*p,y+t[1]*w,u+t[2]*p,y+t[3]*w]}const g=o||c;if(r){if(i)throw new Error("Both width and resX passed");i=(g[2]-g[0])/r}if(s){if(n)throw new Error("Both width and resY passed");n=(g[3]-g[1])/s}}if(i||n){const g=[];for(let u=0;u<l;++u){const y=await this.getImage(u),p=y.fileDirectory.getValue("SubfileType"),w=y.fileDirectory.getValue("NewSubfileType");(u===0||p===2||(w||0)&1)&&g.push(y)}g.sort((u,y)=>u.getWidth()-y.getWidth());for(let u=0;u<g.length;++u){const y=g[u],p=(c[2]-c[0])/y.getWidth(),w=(c[3]-c[1])/y.getHeight();if(f=y,i&&i>p||n&&n>w)break}}let h=t;if(o){const[g,u]=a.getOrigin(),[y,p]=f.getResolution(a);h=[Math.round((o[0]-g)/y),Math.round((o[1]-u)/p),Math.round((o[2]-g)/y),Math.round((o[3]-u)/p)],h=[Math.min(h[0],h[2]),Math.min(h[1],h[3]),Math.max(h[0],h[2]),Math.max(h[1],h[3])]}return f.readRasters({...e,window:h})}},Er=class He extends Sr{constructor(t,r,s,i,n={}){super(),this.source=t,this.parser=new Ar(t,r,s,!1),this.littleEndian=r,this.bigTiff=s,this.firstIFDOffset=i,this.cache=n.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,r){const s=this.bigTiff?4048:1024;return new Q((await this.source.fetch([{offset:t,length:typeof r<"u"?r:s}]))[0],t,this.littleEndian,this.bigTiff)}async requestIFD(t){if(this.ifdRequests[t])return this.ifdRequests[t];if(t===0)return this.ifdRequests[t]=this.parser.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[t];if(!this.ifdRequests[t-1])try{this.ifdRequests[t-1]=this.requestIFD(t-1)}catch(r){throw r instanceof Z?new Z(t):r}return this.ifdRequests[t]=(async()=>{const r=this.ifdRequests[t-1];if(!r)throw new Error("Previous IFD request missing");const s=await r;if(s.nextIFDByteOffset===0)throw new Z(t);return this.parser.parseFileDirectoryAt(s.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){return new Jt(await this.requestIFD(t),this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,r=!0;for(;r;)try{await this.requestIFD(t),++t}catch(s){if(s instanceof Z)r=!1;else throw s}return t}async getGhostValues(){const t=this.bigTiff?16:8;if(this.ghostValues!==null)return this.ghostValues;const r="GDAL_STRUCTURAL_METADATA_SIZE=",s=130;let i=await this.getSlice(t,s);if(r===ae(i,d.fieldTypes.ASCII,30,t)){const n=ae(i,d.fieldTypes.ASCII,s,t).split(`
@@ -1,4 +1,4 @@
1
- import { cn as it, on as at } from "./ControlGrid-C6zp03Vq.js";
1
+ import { cn as it, on as at } from "./ControlGrid-mWA6ezKk.js";
2
2
  import "./basedecoder-BliCKuUS.js";
3
3
  import { a as nt, i as y, l as Q, o as G, s as x, t as ot, u as te } from "./globals-BKIWameS.js";
4
4
  var lt = "Cannot convert undefined or null to object";
@@ -241,7 +241,7 @@ var Xt = [
241
241
  },
242
242
  {
243
243
  cases: 34887,
244
- importFn: () => import("./lerc-2QwcA_K7.js").then(async (e) => (await e.zstd.init(), e)).then((e) => e.default),
244
+ importFn: () => import("./lerc-CvqemrAo.js").then(async (e) => (await e.zstd.init(), e)).then((e) => e.default),
245
245
  decoderParameterFn: async (e) => ({
246
246
  ...await ee(e),
247
247
  LercParameters: await e.loadValue("LercParameters")
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ControlGrid-DIAcXRBe.cjs"),S=require("./DuckDBConverter-pfXSUi_l.cjs"),d=require("./ShapefileConverter-DGCXPY_S.cjs");let i=require("maplibre-gl");i=e.__toESM(i,1);let n=require("@dvt3d/maplibre-three-plugin");var C=["globe","spinGlobe","fullscreen","north","terrain","search","viewState","inspect","vectorDataset","basemap","tileLayer","measure","geoEditor","bookmark","print","minimap","swipe","colorbarGui","legendGui","htmlGui","streetView","addVector","choropleth","cogLayer","zarrLayer","pmtilesLayer","stacLayer","stacSearch","planetaryComputer","gaussianSplat","lidar","usgsLidar"],E=["usgs-lidar-*","lidar-*","mapbox-gl-draw-*","gl-draw-*","gm_*","inspect-highlight-*","measure-*"];function m(o){if(o<=0)return{rows:1,columns:1};const t=Math.ceil(Math.sqrt(o));return{rows:Math.ceil(o/t),columns:t}}function u(o,t){const{exclude:c,...r}=t??{};if(r.defaultControls===void 0){const a=new Set(c??[]);r.defaultControls=C.filter(p=>!a.has(p))}const l=r.defaultControls.length;if(r.rows===void 0&&r.columns===void 0){const a=m(l);r.rows=a.rows,r.columns=a.columns}else r.rows===void 0&&r.columns!==void 0?r.rows=Math.ceil(l/r.columns):r.columns===void 0&&r.rows!==void 0&&(r.columns=Math.ceil(l/r.rows));r.position??="top-right",r.collapsible??=!0,r.collapsed??=!0,r.showRowColumnControls??=!0,r.gap??=2,r.excludeLayers??=[...E];const s=new e.ControlGrid(r);return o.addControl(s,r.position),s}function N(o){o.prototype.addControlGrid||(o.prototype.addControlGrid=function(t){return u(this,t)})}N(i.default.Map);exports.ADVANCED_EXTENSIONS=e.ADVANCED_EXTENSIONS;exports.ALL_DEFAULT_CONTROLS=C;exports.ALL_EXTENSIONS=e.ALL_EXTENSIONS;exports.AddVectorAdapter=e.AddVectorAdapter;exports.AddVectorControl=e.AddVectorControl;exports.BasemapControl=e.BasemapControl;exports.BookmarkControl=e.BookmarkControl;exports.COLORMAPS=e.COLORMAPS;exports.CSV_EXTENSIONS=e.CSV_EXTENSIONS;exports.ChoroplethControl=e.ChoroplethControl;exports.CogLayerAdapter=e.CogLayerAdapter;exports.CogLayerControl=e.CogLayerControl;exports.Colorbar=e.Colorbar;exports.ColorbarGuiControl=e.ColorbarGuiControl;exports.ControlGrid=e.ControlGrid;Object.defineProperty(exports,"Creator",{enumerable:!0,get:function(){return n.Creator}});exports.DEFAULT_EXCLUDE_LAYERS=E;exports.DUCKDB_EXTENSIONS=e.DUCKDB_EXTENSIONS;exports.DXF_EXTENSIONS=e.DXF_EXTENSIONS;exports.DuckDBConverter=S.DuckDBConverter;exports.FLATGEOBUF_EXTENSIONS=e.FLATGEOBUF_EXTENSIONS;exports.GEOJSON_EXTENSIONS=e.GEOJSON_EXTENSIONS;exports.GEOPACKAGE_EXTENSIONS=e.GEOPACKAGE_EXTENSIONS;exports.GEOPARQUET_EXTENSIONS=e.GEOPARQUET_EXTENSIONS;exports.GML_EXTENSIONS=e.GML_EXTENSIONS;exports.GOOGLE_BASEMAPS=e.GOOGLE_BASEMAPS;exports.GPX_EXTENSIONS=e.GPX_EXTENSIONS;exports.GaussianSplatControl=e.GaussianSplatControl;exports.GaussianSplatLayerAdapter=e.GaussianSplatLayerAdapter;exports.GeoEditor=e.GeoEditor;exports.GeoEditorLayerAdapter=e.GeoEditorLayerAdapter;exports.HtmlControl=e.HtmlControl;exports.HtmlGuiControl=e.HtmlGuiControl;exports.InspectControl=e.InspectControl;exports.KML_EXTENSIONS=e.KML_EXTENSIONS;exports.KMZ_EXTENSIONS=e.KMZ_EXTENSIONS;exports.Legend=e.Legend;exports.LegendGuiControl=e.LegendGuiControl;exports.LidarControl=e.LidarControl;exports.LidarLayerAdapter=e.LidarLayerAdapter;Object.defineProperty(exports,"MapScene",{enumerable:!0,get:function(){return n.MapScene}});exports.MeasureControl=e.MeasureControl;exports.MinimapControl=e.MinimapControl;exports.PMTilesLayerAdapter=e.PMTilesLayerAdapter;exports.PMTilesLayerControl=e.PMTilesLayerControl;exports.PlanetaryComputerControl=e.PlanetaryComputerControl;exports.PlanetaryComputerLayerAdapter=e.PlanetaryComputerLayerAdapter;exports.PrintControl=e.PrintControl;exports.RdBu=e.RdBu;exports.RdYlBu=e.RdYlBu;exports.RdYlGn=e.RdYlGn;exports.SHAPEFILE_EXTENSIONS=e.SHAPEFILE_EXTENSIONS;exports.SHPJS_EXTENSIONS=e.SHPJS_EXTENSIONS;Object.defineProperty(exports,"SceneTransform",{enumerable:!0,get:function(){return n.SceneTransform}});exports.SearchControl=e.SearchControl;exports.ShapefileConverter=d.ShapefileConverter;exports.SpinGlobeControl=e.SpinGlobeControl;exports.StacLayerAdapter=e.StacLayerAdapter;exports.StacLayerControl=e.StacLayerControl;exports.StacSearchControl=e.StacSearchControl;exports.StreetViewControl=e.StreetViewControl;Object.defineProperty(exports,"Sun",{enumerable:!0,get:function(){return n.Sun}});exports.SwipeControl=e.SwipeControl;exports.TOPOJSON_EXTENSIONS=e.TOPOJSON_EXTENSIONS;exports.TerrainControl=e.TerrainControl;exports.TileLayerControl=e.TileLayerControl;exports.UsgsLidarControl=e.UsgsLidarControl;exports.UsgsLidarLayerAdapter=e.UsgsLidarLayerAdapter;exports.VectorDatasetControl=e.VectorDatasetControl;exports.ViewStateControl=e.ViewStateControl;exports.XLSX_EXTENSIONS=e.XLSX_EXTENSIONS;exports.XYZSERVICES_URL=e.XYZSERVICES_URL;exports.ZarrLayerAdapter=e.ZarrLayerAdapter;exports.ZarrLayerControl=e.ZarrLayerControl;exports.addControlGrid=u;exports.bone=e.bone;exports.buildTileUrl=e.buildTileUrl;exports.bwr=e.bwr;exports.cividis=e.cividis;exports.clamp=e.clamp;exports.classNames=e.classNames;exports.cool=e.cool;exports.coolwarm=e.coolwarm;exports.debounce=e.debounce;exports.detectFormat=e.detectFormat;exports.fetchProviders=e.fetchProviders;exports.filterBasemaps=e.filterBasemaps;exports.formatNumericValue=e.formatNumericValue;exports.generateGradientCSS=e.generateGradientCSS;exports.generateId=e.generateId;exports.generateThumbnailUrl=e.generateThumbnailUrl;exports.getAcceptedExtensions=e.getAcceptedExtensions;exports.getColorAtPosition=e.getColorAtPosition;exports.getColormap=e.getColormap;exports.getColormapNames=e.getColormapNames;exports.getDuckDBConverter=S.getDuckDBConverter;exports.getFileExtension=e.getFileExtension;exports.getFormatDescription=e.getFormatDescription;exports.getFormatDisplayName=e.getFormatDisplayName;exports.getShapefileConverter=d.getShapefileConverter;exports.gray=e.gray;exports.groupBasemaps=e.groupBasemaps;exports.hexToRgb=e.hexToRgb;exports.hot=e.hot;exports.inferno=e.inferno;exports.interpolateColor=e.interpolateColor;exports.isValidColormap=e.isValidColormap;exports.isValidExtension=e.isValidExtension;exports.jet=e.jet;exports.magma=e.magma;exports.ocean=e.ocean;exports.parseProviders=e.parseProviders;exports.plasma=e.plasma;exports.rainbow=e.rainbow;exports.readFileAsBuffer=e.readFileAsBuffer;exports.requiresConversion=e.requiresConversion;exports.requiresDuckDB=e.requiresDuckDB;exports.rgbToHex=e.rgbToHex;exports.seismic=e.seismic;exports.spectral=e.spectral;exports.terrain=e.terrain;exports.throttle=e.throttle;exports.turbo=e.turbo;exports.viridis=e.viridis;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./ControlGrid-BBBM8qLm.cjs"),S=require("./DuckDBConverter-BCFB3t23.cjs"),d=require("./ShapefileConverter-GIKUtH5Q.cjs");let i=require("maplibre-gl");i=e.__toESM(i,1);let n=require("@dvt3d/maplibre-three-plugin");var C=["globe","spinGlobe","fullscreen","north","terrain","search","viewState","inspect","vectorDataset","basemap","tileLayer","measure","geoEditor","bookmark","print","minimap","swipe","colorbarGui","legendGui","htmlGui","streetView","addVector","choropleth","cogLayer","zarrLayer","pmtilesLayer","stacLayer","stacSearch","planetaryComputer","gaussianSplat","lidar","usgsLidar"],E=["usgs-lidar-*","lidar-*","mapbox-gl-draw-*","gl-draw-*","gm_*","inspect-highlight-*","measure-*"];function m(o){if(o<=0)return{rows:1,columns:1};const t=Math.ceil(Math.sqrt(o));return{rows:Math.ceil(o/t),columns:t}}function u(o,t){const{exclude:c,...r}=t??{};if(r.defaultControls===void 0){const a=new Set(c??[]);r.defaultControls=C.filter(p=>!a.has(p))}const l=r.defaultControls.length;if(r.rows===void 0&&r.columns===void 0){const a=m(l);r.rows=a.rows,r.columns=a.columns}else r.rows===void 0&&r.columns!==void 0?r.rows=Math.ceil(l/r.columns):r.columns===void 0&&r.rows!==void 0&&(r.columns=Math.ceil(l/r.rows));r.position??="top-right",r.collapsible??=!0,r.collapsed??=!0,r.showRowColumnControls??=!0,r.gap??=2,r.excludeLayers??=[...E];const s=new e.ControlGrid(r);return o.addControl(s,r.position),s}function N(o){o.prototype.addControlGrid||(o.prototype.addControlGrid=function(t){return u(this,t)})}N(i.default.Map);exports.ADVANCED_EXTENSIONS=e.ADVANCED_EXTENSIONS;exports.ALL_DEFAULT_CONTROLS=C;exports.ALL_EXTENSIONS=e.ALL_EXTENSIONS;exports.AddVectorAdapter=e.AddVectorAdapter;exports.AddVectorControl=e.AddVectorControl;exports.BasemapControl=e.BasemapControl;exports.BookmarkControl=e.BookmarkControl;exports.COLORMAPS=e.COLORMAPS;exports.CSV_EXTENSIONS=e.CSV_EXTENSIONS;exports.ChoroplethControl=e.ChoroplethControl;exports.CogLayerAdapter=e.CogLayerAdapter;exports.CogLayerControl=e.CogLayerControl;exports.Colorbar=e.Colorbar;exports.ColorbarGuiControl=e.ColorbarGuiControl;exports.ControlGrid=e.ControlGrid;Object.defineProperty(exports,"Creator",{enumerable:!0,get:function(){return n.Creator}});exports.DEFAULT_EXCLUDE_LAYERS=E;exports.DUCKDB_EXTENSIONS=e.DUCKDB_EXTENSIONS;exports.DXF_EXTENSIONS=e.DXF_EXTENSIONS;exports.DuckDBConverter=S.DuckDBConverter;exports.FLATGEOBUF_EXTENSIONS=e.FLATGEOBUF_EXTENSIONS;exports.GEOJSON_EXTENSIONS=e.GEOJSON_EXTENSIONS;exports.GEOPACKAGE_EXTENSIONS=e.GEOPACKAGE_EXTENSIONS;exports.GEOPARQUET_EXTENSIONS=e.GEOPARQUET_EXTENSIONS;exports.GML_EXTENSIONS=e.GML_EXTENSIONS;exports.GOOGLE_BASEMAPS=e.GOOGLE_BASEMAPS;exports.GPX_EXTENSIONS=e.GPX_EXTENSIONS;exports.GaussianSplatControl=e.GaussianSplatControl;exports.GaussianSplatLayerAdapter=e.GaussianSplatLayerAdapter;exports.GeoEditor=e.GeoEditor;exports.GeoEditorLayerAdapter=e.GeoEditorLayerAdapter;exports.HtmlControl=e.HtmlControl;exports.HtmlGuiControl=e.HtmlGuiControl;exports.InspectControl=e.InspectControl;exports.KML_EXTENSIONS=e.KML_EXTENSIONS;exports.KMZ_EXTENSIONS=e.KMZ_EXTENSIONS;exports.Legend=e.Legend;exports.LegendGuiControl=e.LegendGuiControl;exports.LidarControl=e.LidarControl;exports.LidarLayerAdapter=e.LidarLayerAdapter;Object.defineProperty(exports,"MapScene",{enumerable:!0,get:function(){return n.MapScene}});exports.MeasureControl=e.MeasureControl;exports.MinimapControl=e.MinimapControl;exports.PMTilesLayerAdapter=e.PMTilesLayerAdapter;exports.PMTilesLayerControl=e.PMTilesLayerControl;exports.PlanetaryComputerControl=e.PlanetaryComputerControl;exports.PlanetaryComputerLayerAdapter=e.PlanetaryComputerLayerAdapter;exports.PrintControl=e.PrintControl;exports.RdBu=e.RdBu;exports.RdYlBu=e.RdYlBu;exports.RdYlGn=e.RdYlGn;exports.SHAPEFILE_EXTENSIONS=e.SHAPEFILE_EXTENSIONS;exports.SHPJS_EXTENSIONS=e.SHPJS_EXTENSIONS;Object.defineProperty(exports,"SceneTransform",{enumerable:!0,get:function(){return n.SceneTransform}});exports.SearchControl=e.SearchControl;exports.ShapefileConverter=d.ShapefileConverter;exports.SpinGlobeControl=e.SpinGlobeControl;exports.StacLayerAdapter=e.StacLayerAdapter;exports.StacLayerControl=e.StacLayerControl;exports.StacSearchControl=e.StacSearchControl;exports.StreetViewControl=e.StreetViewControl;Object.defineProperty(exports,"Sun",{enumerable:!0,get:function(){return n.Sun}});exports.SwipeControl=e.SwipeControl;exports.TOPOJSON_EXTENSIONS=e.TOPOJSON_EXTENSIONS;exports.TerrainControl=e.TerrainControl;exports.TileLayerControl=e.TileLayerControl;exports.UsgsLidarControl=e.UsgsLidarControl;exports.UsgsLidarLayerAdapter=e.UsgsLidarLayerAdapter;exports.VectorDatasetControl=e.VectorDatasetControl;exports.ViewStateControl=e.ViewStateControl;exports.XLSX_EXTENSIONS=e.XLSX_EXTENSIONS;exports.XYZSERVICES_URL=e.XYZSERVICES_URL;exports.ZarrLayerAdapter=e.ZarrLayerAdapter;exports.ZarrLayerControl=e.ZarrLayerControl;exports.addControlGrid=u;exports.bone=e.bone;exports.buildTileUrl=e.buildTileUrl;exports.bwr=e.bwr;exports.cividis=e.cividis;exports.clamp=e.clamp;exports.classNames=e.classNames;exports.cool=e.cool;exports.coolwarm=e.coolwarm;exports.debounce=e.debounce;exports.detectFormat=e.detectFormat;exports.fetchProviders=e.fetchProviders;exports.filterBasemaps=e.filterBasemaps;exports.formatNumericValue=e.formatNumericValue;exports.generateGradientCSS=e.generateGradientCSS;exports.generateId=e.generateId;exports.generateThumbnailUrl=e.generateThumbnailUrl;exports.getAcceptedExtensions=e.getAcceptedExtensions;exports.getColorAtPosition=e.getColorAtPosition;exports.getColormap=e.getColormap;exports.getColormapNames=e.getColormapNames;exports.getDuckDBConverter=S.getDuckDBConverter;exports.getFileExtension=e.getFileExtension;exports.getFormatDescription=e.getFormatDescription;exports.getFormatDisplayName=e.getFormatDisplayName;exports.getShapefileConverter=d.getShapefileConverter;exports.gray=e.gray;exports.groupBasemaps=e.groupBasemaps;exports.hexToRgb=e.hexToRgb;exports.hot=e.hot;exports.inferno=e.inferno;exports.interpolateColor=e.interpolateColor;exports.isValidColormap=e.isValidColormap;exports.isValidExtension=e.isValidExtension;exports.jet=e.jet;exports.magma=e.magma;exports.ocean=e.ocean;exports.parseProviders=e.parseProviders;exports.plasma=e.plasma;exports.rainbow=e.rainbow;exports.readFileAsBuffer=e.readFileAsBuffer;exports.requiresConversion=e.requiresConversion;exports.requiresDuckDB=e.requiresDuckDB;exports.rgbToHex=e.rgbToHex;exports.seismic=e.seismic;exports.spectral=e.spectral;exports.terrain=e.terrain;exports.throttle=e.throttle;exports.turbo=e.turbo;exports.viridis=e.viridis;
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { $ as E, $t as L, A as N, At as g, B as O, Bt as T, C as A, Ct as h, D as G, Dt as f, E as y, Et as w, F as _, Ft as X, G as I, Gt as b, H as v, Ht as D, I as P, It as M, J as B, Jt as V, K as F, Kt as R, L as U, Lt as x, M as k, Mt as H, N as K, Nt as Y, O as Z, Ot as q, P as J, Pt as j, Q as z, Qt as Q, R as W, Rt as $, S as aa, St as ta, T as ra, Tt as oa, U as sa, Ut as ea, V as na, Vt as ia, W as la, Wt as da, X as Sa, Xt as ca, Y as pa, Yt as Ca, Z as ma, Zt as ua, _ as Ea, _t as La, a as Na, an as ga, at as Oa, b as Ta, bt as Aa, c as ha, ct as Ga, d as fa, dt as ya, en as wa, et as _a, f as Xa, ft as Ia, g as ba, gt as va, h as Da, ht as Pa, i as Ma, in as Ba, it as Va, j as Fa, jt as Ra, k as Ua, kt as xa, l as ka, lt as Ha, m as Ka, mt as Ya, n as Za, nn as qa, nt as Ja, o as ja, ot as za, p as Qa, pt as Wa, q as $a, qt as at, r as tt, rn as rt, rt as ot, s as st, st as et, t as l, tn as nt, tt as it, u as lt, ut as dt, v as St, vt as ct, w as pt, wt as Ct, x as mt, xt as ut, y as Et, yt as Lt, z as Nt, zt as gt } from "./ControlGrid-C6zp03Vq.js";
2
- import { r as Tt, t as At } from "./DuckDBConverter-5a2FWwmf.js";
3
- import { r as Gt, t as ft } from "./ShapefileConverter-DN3fVOuo.js";
1
+ import { $ as E, $t as L, A as N, At as g, B as O, Bt as T, C as A, Ct as h, D as G, Dt as f, E as y, Et as w, F as _, Ft as X, G as I, Gt as b, H as v, Ht as D, I as P, It as M, J as B, Jt as V, K as F, Kt as R, L as U, Lt as x, M as k, Mt as H, N as K, Nt as Y, O as Z, Ot as q, P as J, Pt as j, Q as z, Qt as Q, R as W, Rt as $, S as aa, St as ta, T as ra, Tt as oa, U as sa, Ut as ea, V as na, Vt as ia, W as la, Wt as da, X as Sa, Xt as ca, Y as pa, Yt as Ca, Z as ma, Zt as ua, _ as Ea, _t as La, a as Na, an as ga, at as Oa, b as Ta, bt as Aa, c as ha, ct as Ga, d as fa, dt as ya, en as wa, et as _a, f as Xa, ft as Ia, g as ba, gt as va, h as Da, ht as Pa, i as Ma, in as Ba, it as Va, j as Fa, jt as Ra, k as Ua, kt as xa, l as ka, lt as Ha, m as Ka, mt as Ya, n as Za, nn as qa, nt as Ja, o as ja, ot as za, p as Qa, pt as Wa, q as $a, qt as at, r as tt, rn as rt, rt as ot, s as st, st as et, t as l, tn as nt, tt as it, u as lt, ut as dt, v as St, vt as ct, w as pt, wt as Ct, x as mt, xt as ut, y as Et, yt as Lt, z as Nt, zt as gt } from "./ControlGrid-mWA6ezKk.js";
2
+ import { r as Tt, t as At } from "./DuckDBConverter-AYRXGnkT.js";
3
+ import { r as Gt, t as ft } from "./ShapefileConverter-CO3Odi6Z.js";
4
4
  import d from "maplibre-gl";
5
5
  import { Creator as _t, MapScene as Xt, SceneTransform as It, Sun as bt } from "@dvt3d/maplibre-three-plugin";
6
6
  var S = [