KMLLayerView2D-ZARAV66O.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. import {
  2. i
  3. } from "./chunk-EEMLKLSH.js";
  4. import {
  5. ae
  6. } from "./chunk-OBOLLK7J.js";
  7. import "./chunk-CR67YDNV.js";
  8. import "./chunk-3XO4E4TL.js";
  9. import "./chunk-6G6XHVK2.js";
  10. import "./chunk-3RTOMVBL.js";
  11. import "./chunk-YR7YKE3S.js";
  12. import "./chunk-GSORSXL5.js";
  13. import {
  14. t as t2
  15. } from "./chunk-JFHGSU33.js";
  16. import {
  17. v as v2
  18. } from "./chunk-TWB5CT7V.js";
  19. import "./chunk-H3QCF24A.js";
  20. import {
  21. f,
  22. u
  23. } from "./chunk-MNZXIBJ7.js";
  24. import "./chunk-YJKEIUMW.js";
  25. import "./chunk-JH3PLIM6.js";
  26. import "./chunk-UFOCENZS.js";
  27. import "./chunk-FCDUTNBY.js";
  28. import "./chunk-GZJP6H3U.js";
  29. import "./chunk-PS4B3D6M.js";
  30. import "./chunk-DO6JJUZG.js";
  31. import "./chunk-54X4RLMR.js";
  32. import "./chunk-MWIFVNKP.js";
  33. import "./chunk-MIWGTTJJ.js";
  34. import "./chunk-LL6JU3GU.js";
  35. import "./chunk-LSDW2622.js";
  36. import "./chunk-ZIWBDWEW.js";
  37. import "./chunk-IQNZZCQJ.js";
  38. import "./chunk-B2HJOMLZ.js";
  39. import "./chunk-II7RCTF3.js";
  40. import "./chunk-VS4BIQ2O.js";
  41. import "./chunk-HWIURR7X.js";
  42. import "./chunk-Q4LKAPDF.js";
  43. import "./chunk-TODU7HVH.js";
  44. import "./chunk-23ONSYIH.js";
  45. import "./chunk-P2L4QEOI.js";
  46. import "./chunk-3T4BXU2T.js";
  47. import "./chunk-SRMDO2KR.js";
  48. import "./chunk-PZKZIMMP.js";
  49. import "./chunk-YLVXZ2PS.js";
  50. import "./chunk-EE6TL7XD.js";
  51. import {
  52. b,
  53. d as d2,
  54. g as g2
  55. } from "./chunk-6N2Y4VY4.js";
  56. import "./chunk-GDB2KX4Y.js";
  57. import "./chunk-546QCRS4.js";
  58. import "./chunk-QXZVBSBH.js";
  59. import "./chunk-T4GXZJ3D.js";
  60. import "./chunk-773XI6MQ.js";
  61. import "./chunk-ILP23N26.js";
  62. import "./chunk-5NM43FFO.js";
  63. import "./chunk-WFSV2B2I.js";
  64. import "./chunk-M5BTTMP6.js";
  65. import "./chunk-XZA4MVET.js";
  66. import "./chunk-J525NRN3.js";
  67. import "./chunk-MI7HWWFL.js";
  68. import "./chunk-Q34L5KZA.js";
  69. import "./chunk-ZHRMTKME.js";
  70. import "./chunk-ZVHTCCQC.js";
  71. import "./chunk-PCGDLSZ4.js";
  72. import "./chunk-CAYFEZCR.js";
  73. import "./chunk-MFFE4I2S.js";
  74. import "./chunk-XBH7TGC2.js";
  75. import "./chunk-K3NA3LQS.js";
  76. import "./chunk-LMCIAW5S.js";
  77. import "./chunk-OTS3UE5B.js";
  78. import "./chunk-6RAL4JPQ.js";
  79. import "./chunk-VAY3LZG7.js";
  80. import "./chunk-4E6K4P67.js";
  81. import {
  82. c
  83. } from "./chunk-LE3RIDC7.js";
  84. import "./chunk-TRK7CKWP.js";
  85. import "./chunk-LGW7TID4.js";
  86. import {
  87. n as n2
  88. } from "./chunk-YASLQAXE.js";
  89. import "./chunk-3OHML7FO.js";
  90. import "./chunk-2VFJVI2I.js";
  91. import "./chunk-G5AI6ZNE.js";
  92. import "./chunk-H6ETEALK.js";
  93. import "./chunk-FIYKFRB2.js";
  94. import "./chunk-P4UZNLD5.js";
  95. import "./chunk-FYNVVMWY.js";
  96. import "./chunk-Q52DVFYK.js";
  97. import "./chunk-HBMVUVZX.js";
  98. import "./chunk-CRGVDJI6.js";
  99. import "./chunk-QOV6ITMI.js";
  100. import {
  101. rn,
  102. tn
  103. } from "./chunk-DH2OBAUC.js";
  104. import "./chunk-TNLRDNTC.js";
  105. import "./chunk-6P6NA7JB.js";
  106. import "./chunk-S7R5EXHN.js";
  107. import "./chunk-QTOOFNRV.js";
  108. import "./chunk-CIG5OHC7.js";
  109. import "./chunk-FUD7XO3N.js";
  110. import "./chunk-6EU7GFUT.js";
  111. import "./chunk-MFUAILAT.js";
  112. import "./chunk-HZJYXMI6.js";
  113. import "./chunk-27P5ZSC7.js";
  114. import "./chunk-UPD4MTCL.js";
  115. import "./chunk-GRBROWI6.js";
  116. import "./chunk-5NKYXKIA.js";
  117. import "./chunk-MPWGHCZG.js";
  118. import "./chunk-FTI5VP6T.js";
  119. import "./chunk-RZFGRBD7.js";
  120. import "./chunk-PUSPZYFZ.js";
  121. import "./chunk-EN7YGJWG.js";
  122. import "./chunk-VBNMTM7L.js";
  123. import "./chunk-3D3QEPRE.js";
  124. import "./chunk-JFNNSBWL.js";
  125. import "./chunk-LY74KTXV.js";
  126. import "./chunk-EWE6EXPY.js";
  127. import "./chunk-KUXNUNAI.js";
  128. import "./chunk-KMAHKQ2G.js";
  129. import "./chunk-522WBHUO.js";
  130. import "./chunk-WNCU6BFU.js";
  131. import "./chunk-PIGRDDRG.js";
  132. import "./chunk-BJHM4JNS.js";
  133. import "./chunk-F6A2QQ26.js";
  134. import "./chunk-XLV7RUSE.js";
  135. import "./chunk-NTUXR253.js";
  136. import "./chunk-EOSZHC5H.js";
  137. import "./chunk-C43UE3Z5.js";
  138. import "./chunk-H2KDMZTR.js";
  139. import "./chunk-RMX2AZ4P.js";
  140. import "./chunk-NE3ESGA6.js";
  141. import {
  142. l
  143. } from "./chunk-YIS6BAC3.js";
  144. import "./chunk-7XXXCK2A.js";
  145. import "./chunk-7ZIDBK7B.js";
  146. import "./chunk-FONIFA5N.js";
  147. import "./chunk-65BYCSII.js";
  148. import "./chunk-WZQZRKNH.js";
  149. import "./chunk-LRDX4TO7.js";
  150. import "./chunk-6A4U74YA.js";
  151. import "./chunk-WJW5DUN6.js";
  152. import "./chunk-PJ7ZQ4VD.js";
  153. import "./chunk-WDLTDV2L.js";
  154. import "./chunk-TERAW6FT.js";
  155. import "./chunk-N2663GRX.js";
  156. import "./chunk-O4FY3ITT.js";
  157. import "./chunk-WEMIK25H.js";
  158. import "./chunk-7N4X6GF3.js";
  159. import "./chunk-JXW4QTJA.js";
  160. import "./chunk-UXF37FQ4.js";
  161. import "./chunk-ZOEK6QHJ.js";
  162. import "./chunk-XNLG7T2T.js";
  163. import "./chunk-IR4PV7VK.js";
  164. import "./chunk-2Z6LERTI.js";
  165. import "./chunk-OWVBLVP3.js";
  166. import "./chunk-AFZ7XSEW.js";
  167. import "./chunk-4NKD334K.js";
  168. import "./chunk-65K7LC56.js";
  169. import "./chunk-ATPLLI5W.js";
  170. import "./chunk-MXB2XLKV.js";
  171. import "./chunk-XH7RUGVZ.js";
  172. import "./chunk-TBBTRX4O.js";
  173. import "./chunk-YBSUITLL.js";
  174. import {
  175. j
  176. } from "./chunk-ALDCDSPV.js";
  177. import "./chunk-DT6EAZQ5.js";
  178. import "./chunk-HNOZUNJ4.js";
  179. import {
  180. U
  181. } from "./chunk-VNFRAYHO.js";
  182. import {
  183. s
  184. } from "./chunk-R5IG2D6H.js";
  185. import {
  186. I,
  187. v
  188. } from "./chunk-VBRY5KJM.js";
  189. import "./chunk-PDKDCAAD.js";
  190. import {
  191. M,
  192. M2,
  193. g
  194. } from "./chunk-ECW2QABR.js";
  195. import "./chunk-GCDJLKH4.js";
  196. import {
  197. k2 as k
  198. } from "./chunk-MRJEICT6.js";
  199. import {
  200. d,
  201. e,
  202. n2 as n
  203. } from "./chunk-Y3WMVFTW.js";
  204. import "./chunk-SAS7RONY.js";
  205. import "./chunk-WSRBH7BF.js";
  206. import "./chunk-IHXECKQQ.js";
  207. import "./chunk-ULGDPLM2.js";
  208. import "./chunk-EMJ4ZSM2.js";
  209. import "./chunk-IKP3YN53.js";
  210. import {
  211. r,
  212. t
  213. } from "./chunk-GZT4BVFP.js";
  214. import "./chunk-A5ICIBVI.js";
  215. // node_modules/@arcgis/core/views/2d/layers/KMLLayerView2D.js
  216. var P = class {
  217. constructor() {
  218. this.allSublayers = new Map(), this.allPoints = [], this.allPolylines = [], this.allPolygons = [], this.allMapImages = [];
  219. }
  220. };
  221. var j2 = class extends f(u) {
  222. constructor() {
  223. super(...arguments), this._bitmapIndex = new Map(), this._mapImageContainer = new t2(), this._kmlVisualData = new P(), this.allVisiblePoints = new c(), this.allVisiblePolylines = new c(), this.allVisiblePolygons = new c(), this.allVisibleMapImages = new j();
  224. }
  225. async hitTest(e2, i2) {
  226. const t3 = this.layer;
  227. return [this._pointsView?.hitTest(e2), this._polylinesView?.hitTest(e2), this._polygonsView?.hitTest(e2)].flat().filter(Boolean).map((i3) => (i3.layer = t3, i3.sourceLayer = t3, { type: "graphic", graphic: i3, layer: t3, mapPoint: e2 }));
  228. }
  229. update(e2) {
  230. this._polygonsView && this._polygonsView.processUpdate(e2), this._polylinesView && this._polylinesView.processUpdate(e2), this._pointsView && this._pointsView.processUpdate(e2);
  231. }
  232. attach() {
  233. this._fetchController = new AbortController(), this.container.addChild(this._mapImageContainer), this._polygonsView = new ae({ view: this.view, graphics: this.allVisiblePolygons, requestUpdateCallback: () => this.requestUpdate(), container: new i(this.view.featuresTilingScheme) }), this.container.addChild(this._polygonsView.container), this._polylinesView = new ae({ view: this.view, graphics: this.allVisiblePolylines, requestUpdateCallback: () => this.requestUpdate(), container: new i(this.view.featuresTilingScheme) }), this.container.addChild(this._polylinesView.container), this._pointsView = new ae({ view: this.view, graphics: this.allVisiblePoints, requestUpdateCallback: () => this.requestUpdate(), container: new i(this.view.featuresTilingScheme) }), this.container.addChild(this._pointsView.container), this.handles.add([this.allVisibleMapImages.on("change", (e2) => {
  234. e2.added.forEach((e3) => this._addMapImage(e3)), e2.removed.forEach((e3) => this._removeMapImage(e3));
  235. }), l(() => this.layer.visibleSublayers, (e2) => {
  236. for (const [i2, t3] of this._kmlVisualData.allSublayers)
  237. t3.visibility = 0;
  238. for (const i2 of e2) {
  239. const e3 = this._kmlVisualData.allSublayers.get(i2.id);
  240. e3 && (e3.visibility = 1);
  241. }
  242. this._refreshCollections();
  243. })]), this.updatingHandles.addPromise(this._fetchService(this._fetchController.signal));
  244. }
  245. detach() {
  246. this._fetchController.abort(), this._fetchController = null, this._mapImageContainer.removeAllChildren(), this.container.removeAllChildren(), this._bitmapIndex.clear(), this._polygonsView && (this._polygonsView.destroy(), this._polygonsView = null), this._polylinesView && (this._polylinesView.destroy(), this._polylinesView = null), this._pointsView && (this._pointsView.destroy(), this._pointsView = null);
  247. }
  248. moveStart() {
  249. }
  250. viewChange() {
  251. this._polygonsView.viewChange(), this._polylinesView.viewChange(), this._pointsView.viewChange();
  252. }
  253. moveEnd() {
  254. }
  255. isUpdating() {
  256. return this._pointsView.updating || this._polygonsView.updating || this._polylinesView.updating;
  257. }
  258. _addMapImage(e2) {
  259. (this.view.spatialReference.isWGS84 || this.view.spatialReference.isWebMercator) && U(e2.href, { responseType: "image" }).then(({ data: i2 }) => {
  260. let t3 = M2.fromJSON(e2.extent);
  261. g(t3, this.view.spatialReference) && (t3 = M(t3, this.view.spatialReference));
  262. const s2 = new v2(i2, "standard");
  263. s2.x = t3.xmin, s2.y = t3.ymax, s2.resolution = t3.width / i2.naturalWidth, s2.rotation = e2.rotation, this._mapImageContainer.addChild(s2), this._bitmapIndex.set(e2, s2);
  264. });
  265. }
  266. async _getViewDependentUrl(e2, t3) {
  267. const { viewFormat: s2, viewBoundScale: l2, httpQuery: h } = e2;
  268. if (r(s2)) {
  269. if (t(t3))
  270. throw new Error("Loading this network link requires a view state.");
  271. let p;
  272. if (await tn(), r(l2) && l2 !== 1) {
  273. const e3 = new M2(t3.extent);
  274. e3.expand(l2), p = e3;
  275. } else
  276. p = t3.extent;
  277. p = rn(p, k.WGS84);
  278. const w = rn(p, k.WebMercator), g3 = p.xmin, u2 = p.xmax, _ = p.ymin, V = p.ymax, f2 = t3.size[0] * t3.pixelRatio, v3 = t3.size[1] * t3.pixelRatio, S = Math.max(w.width, w.height), I2 = { "[bboxWest]": g3.toString(), "[bboxEast]": u2.toString(), "[bboxSouth]": _.toString(), "[bboxNorth]": V.toString(), "[lookatLon]": p.center.x.toString(), "[lookatLat]": p.center.y.toString(), "[lookatRange]": S.toString(), "[lookatTilt]": "0", "[lookatHeading]": t3.rotation.toString(), "[lookatTerrainLon]": p.center.x.toString(), "[lookatTerrainLat]": p.center.y.toString(), "[lookatTerrainAlt]": "0", "[cameraLon]": p.center.x.toString(), "[cameraLat]": p.center.y.toString(), "[cameraAlt]": S.toString(), "[horizFov]": "60", "[vertFov]": "60", "[horizPixels]": f2.toString(), "[vertPixels]": v3.toString(), "[terrainEnabled]": "0", "[clientVersion]": s, "[kmlVersion]": "2.2", "[clientName]": "ArcGIS API for JavaScript", "[language]": "en-US" }, C = (e3) => {
  279. for (const i2 in e3)
  280. for (const t4 in I2)
  281. e3[i2] = e3[i2].replace(t4, I2[t4]);
  282. }, x = v(s2);
  283. C(x);
  284. let k2 = {};
  285. r(h) && (k2 = v(h), C(k2));
  286. const P2 = n2(e2.href);
  287. P2.query = { ...P2.query, ...x, ...k2 };
  288. return `${P2.path}?${I(x)}`;
  289. }
  290. return e2.href;
  291. }
  292. async _fetchService(e2) {
  293. const i2 = new P();
  294. await this._loadVisualData(this.layer.url, i2, e2), this._kmlVisualData = i2, this._refreshCollections();
  295. }
  296. _refreshCollections() {
  297. this.allVisiblePoints.removeAll(), this.allVisiblePolylines.removeAll(), this.allVisiblePolygons.removeAll(), this.allVisibleMapImages.removeAll(), this.allVisiblePoints.addMany(this._kmlVisualData.allPoints.filter((e2) => this._isSublayerVisible(e2.sublayerId)).map(({ item: e2 }) => e2)), this.allVisiblePolylines.addMany(this._kmlVisualData.allPolylines.filter((e2) => this._isSublayerVisible(e2.sublayerId)).map(({ item: e2 }) => e2)), this.allVisiblePolygons.addMany(this._kmlVisualData.allPolygons.filter((e2) => this._isSublayerVisible(e2.sublayerId)).map(({ item: e2 }) => e2)), this.allVisibleMapImages.addMany(this._kmlVisualData.allMapImages.filter((e2) => this._isSublayerVisible(e2.sublayerId)).map(({ item: e2 }) => e2));
  298. }
  299. _isSublayerVisible(e2) {
  300. const i2 = this._kmlVisualData.allSublayers.get(e2);
  301. return !!i2.visibility && (i2.parentFolderId === -1 || this._isSublayerVisible(i2.parentFolderId));
  302. }
  303. _loadVisualData(e2, i2, t3) {
  304. return this._fetchParsedKML(e2, t3).then(async (e3) => {
  305. for (const s2 of e3.sublayers) {
  306. i2.allSublayers.set(s2.id, s2);
  307. const e4 = s2.points ? await b(s2.points) : [], a = s2.polylines ? await b(s2.polylines) : [], o = s2.polygons ? await b(s2.polygons) : [], l2 = s2.mapImages || [];
  308. if (i2.allPoints.push(...e4.map((e5) => ({ item: e5, sublayerId: s2.id }))), i2.allPolylines.push(...a.map((e5) => ({ item: e5, sublayerId: s2.id }))), i2.allPolygons.push(...o.map((e5) => ({ item: e5, sublayerId: s2.id }))), i2.allMapImages.push(...l2.map((e5) => ({ item: e5, sublayerId: s2.id }))), s2.networkLink) {
  309. const e5 = await this._getViewDependentUrl(s2.networkLink, this.view.state);
  310. await this._loadVisualData(e5, i2, t3);
  311. }
  312. }
  313. });
  314. }
  315. _fetchParsedKML(e2, i2) {
  316. return g2(e2, this.view.spatialReference, this.layer.refreshInterval, i2).then((e3) => d2(e3.data));
  317. }
  318. _removeMapImage(e2) {
  319. const i2 = this._bitmapIndex.get(e2);
  320. i2 && (this._mapImageContainer.removeChild(i2), this._bitmapIndex.delete(e2));
  321. }
  322. };
  323. e([d()], j2.prototype, "_pointsView", void 0), e([d()], j2.prototype, "_polylinesView", void 0), e([d()], j2.prototype, "_polygonsView", void 0), e([d()], j2.prototype, "updating", void 0), j2 = e([n("esri.views.2d.layers.KMLLayerView2D")], j2);
  324. var M3 = j2;
  325. export {
  326. M3 as default
  327. };
  328. //# sourceMappingURL=KMLLayerView2D-ZARAV66O.js.map