@arcgis/core 5.2.0-next.86 → 5.2.0-next.88
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.
- package/arcade/Dictionary.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/ImmutablePointArray.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/containerUtils.js +1 -1
- package/arcade/debug.js +1 -1
- package/arcade/deepClone.js +1 -1
- package/arcade/featureset/actions/SpatialFilter.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/functions/centroid.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/stats.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/functions/track.js +1 -1
- package/arcade/geometry/adapters/accessor.js +2 -0
- package/arcade/geometry/adapters/dehydrated.js +2 -0
- package/arcade/geometry/adapters/gx.js +2 -0
- package/arcade/geometry/adapters/json.js +2 -0
- package/arcade/geometry/adapters/optimized.js +2 -0
- package/arcade/geometry/adapters/tuple.js +2 -0
- package/arcade/geometry/adapters/utils.js +2 -0
- package/arcade/geometry/arrayOfPointsConversions.js +2 -0
- package/arcade/geometry/constructors.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/geometry/isSelfIntersecting.js +2 -0
- package/arcade/geometry/nearestCoordinate.js +2 -0
- package/arcade/geometry/nearestVertex.js +1 -1
- package/arcade/geometry/operators.js +1 -1
- package/arcade/geometry/operatorsWorker.js +1 -1
- package/arcade/geometry/rotate.js +1 -1
- package/arcade/geometry.js +2 -0
- package/arcade/languageUtils.js +1 -1
- package/arcade.js +1 -1
- package/arcgisGlobal.d.ts +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{0b8c9657975388f1e4c8.js → 00181785a180e934bf7c.js} +1 -1
- package/assets/esri/core/workers/chunks/{01e648b258efa6408070.js → 0336f4f8498a22347720.js} +1 -1
- package/assets/esri/core/workers/chunks/0439d4f4dfd6e78be97e.js +1 -0
- package/assets/esri/core/workers/chunks/05393b23ab24126d4236.js +1 -0
- package/assets/esri/core/workers/chunks/08263c07d92c48806834.js +1 -0
- package/assets/esri/core/workers/chunks/09e01fd1c199be0c8e03.js +1 -0
- package/assets/esri/core/workers/chunks/{12d6d73ca1fa55640a4f.js → 0b4a7209b99227a842ad.js} +1 -1
- package/assets/esri/core/workers/chunks/{073224c6ac77dc9e97af.js → 0b7860a3f18d252b774a.js} +1 -1
- package/assets/esri/core/workers/chunks/0d95f72e1c07ab867d21.js +1 -0
- package/assets/esri/core/workers/chunks/0dbbac7a2378728571a7.js +1 -0
- package/assets/esri/core/workers/chunks/0f15468ffefd3e9a17b8.js +29 -0
- package/assets/esri/core/workers/chunks/{3aeb934ebdab1d8c4608.js → 12a3b55195ce3244259d.js} +1 -1
- package/assets/esri/core/workers/chunks/13e92f6a9573a2818fb7.js +1 -0
- package/assets/esri/core/workers/chunks/19aa4072764937743bd8.js +1 -0
- package/assets/esri/core/workers/chunks/19e93d4d37018e3ee849.js +1 -0
- package/assets/esri/core/workers/chunks/{911f3a1b8dd4bc5c9782.js → 1bf5c0a4bc5a960a3fa2.js} +1 -1
- package/assets/esri/core/workers/chunks/1c378d489c5402888f76.js +1 -0
- package/assets/esri/core/workers/chunks/1d1e8d8b1fcf2d9f3dfc.js +1 -0
- package/assets/esri/core/workers/chunks/{e5c8f9fef88ca33624e9.js → 1e087fb13b7b0a5d6fec.js} +1 -1
- package/assets/esri/core/workers/chunks/1e192ac0533a5c0b5a7a.js +1 -0
- package/assets/esri/core/workers/chunks/1f9d6180a96d557838e9.js +1 -0
- package/assets/esri/core/workers/chunks/1fe077f57a087c0e9119.js +1 -0
- package/assets/esri/core/workers/chunks/212222b64039d436b9a6.js +1 -0
- package/assets/esri/core/workers/chunks/22c94f9a69b2157f8dbd.js +1 -0
- package/assets/esri/core/workers/chunks/25a2e02677a74834c8b5.js +1 -0
- package/assets/esri/core/workers/chunks/26ecc841396e5e719b6a.js +1 -0
- package/assets/esri/core/workers/chunks/{fcf7299e2ee904ab9882.js → 2724900f7992a79fc442.js} +1 -1
- package/assets/esri/core/workers/chunks/27c0bed59626c7f64125.js +1 -0
- package/assets/esri/core/workers/chunks/2bc3e7f394386fa75447.js +1 -0
- package/assets/esri/core/workers/chunks/2c9783e3b44986e86797.js +1 -0
- package/assets/esri/core/workers/chunks/2ceb07b125c84b51f02a.js +1 -0
- package/assets/esri/core/workers/chunks/2cf2f2842c19be84ab4d.js +1 -0
- package/assets/esri/core/workers/chunks/2d07d5a9ec67c39ef10c.js +1 -0
- package/assets/esri/core/workers/chunks/{a7c715648a07ed70b122.js → 2ec44ebc48beeba11201.js} +1 -1
- package/assets/esri/core/workers/chunks/2f2d699b072472fa710e.js +1 -0
- package/assets/esri/core/workers/chunks/2f3bbc1f7d4abbbeec2f.js +1 -0
- package/assets/esri/core/workers/chunks/304a36e862947fdb05c0.js +1 -0
- package/assets/esri/core/workers/chunks/30af0f7c4cfa541c9efd.js +1 -0
- package/assets/esri/core/workers/chunks/32f11b4aeae1ef00e466.js +1 -0
- package/assets/esri/core/workers/chunks/35d3e60d15294f268992.js +1 -0
- package/assets/esri/core/workers/chunks/37a2be4380796f14fe4e.js +1 -0
- package/assets/esri/core/workers/chunks/37adb55d9f83faad1712.js +1 -0
- package/assets/esri/core/workers/chunks/3869dca884d7ca6488f5.js +1 -0
- package/assets/esri/core/workers/chunks/3a9c6f58a1a065c14017.js +1 -0
- package/assets/esri/core/workers/chunks/3b552afffaa78bf4fe18.js +1 -0
- package/assets/esri/core/workers/chunks/{fe06cc2f90b2d551e4c1.js → 3bbd2d4a19c3b7ad82e4.js} +1 -1
- package/assets/esri/core/workers/chunks/3de07326da4c47cd2aab.js +1 -0
- package/assets/esri/core/workers/chunks/3f5234120d3a14186c1c.js +1 -0
- package/assets/esri/core/workers/chunks/414093fa4957d17bf551.js +1 -0
- package/assets/esri/core/workers/chunks/{dbd6bbd3e834ff9d220e.js → 41cf6163758d28fb1968.js} +1 -1
- package/assets/esri/core/workers/chunks/466bb1b69aabaeabad6a.js +1 -0
- package/assets/esri/core/workers/chunks/47e60b2acec18ef37b6c.js +1 -0
- package/assets/esri/core/workers/chunks/4849849fc8330d05a8e6.js +1 -0
- package/assets/esri/core/workers/chunks/497c5a9c95e9a89ac217.js +1 -0
- package/assets/esri/core/workers/chunks/49d36e54644dc2966128.js +1 -0
- package/assets/esri/core/workers/chunks/4aefe6fd4d725a107758.js +1 -0
- package/assets/esri/core/workers/chunks/4b6f433022a6822706cb.js +1 -0
- package/assets/esri/core/workers/chunks/4d4ebb4e4d83c1123b63.js +1 -0
- package/assets/esri/core/workers/chunks/4ee99e654dad6f09abee.js +1 -0
- package/assets/esri/core/workers/chunks/4f0804429d8989aa4c51.js +1 -0
- package/assets/esri/core/workers/chunks/50525b617ef78086d3c7.js +1 -0
- package/assets/esri/core/workers/chunks/5235b9c21ac4156c2375.js +1 -0
- package/assets/esri/core/workers/chunks/52422500ca3d6cf2e596.js +1 -0
- package/assets/esri/core/workers/chunks/527b87fddf33bb5d519e.js +1 -0
- package/assets/esri/core/workers/chunks/55572cefc752b755cf0a.js +1 -0
- package/assets/esri/core/workers/chunks/{a4bae2396fae48b57047.js → 595edbc1e9bba47d5676.js} +1 -1
- package/assets/esri/core/workers/chunks/59cf23cc8f91b5bea31a.js +1 -0
- package/assets/esri/core/workers/chunks/5af16937904c06fb06f6.js +1 -0
- package/assets/esri/core/workers/chunks/5d7a5aa608ed6192b016.js +1 -0
- package/assets/esri/core/workers/chunks/5d9c92c4e60a4696fdad.js +1 -0
- package/assets/esri/core/workers/chunks/5ed7bc9e6cb7cdee92e2.js +1 -0
- package/assets/esri/core/workers/chunks/{272c8ccdbd3dcc14e99b.js → 5ed89c862eee1345e3af.js} +1 -1
- package/assets/esri/core/workers/chunks/5fbd7d8d8896a224fff3.js +1 -0
- package/assets/esri/core/workers/chunks/64ce2d060ae7cdd412cf.js +1 -0
- package/assets/esri/core/workers/chunks/65f4ca7201e7267bfc81.js +1 -0
- package/assets/esri/core/workers/chunks/67efdd296007a809586c.js +1 -0
- package/assets/esri/core/workers/chunks/691434d4c6a38e63d819.js +1 -0
- package/assets/esri/core/workers/chunks/{ba67aaa08e4f11e1140a.js → 696cb3bf167327d5b0b9.js} +1 -1
- package/assets/esri/core/workers/chunks/69700ed16727ed0c4e3a.js +1 -0
- package/assets/esri/core/workers/chunks/6a2d890640b2cd6c5ccb.js +1 -0
- package/assets/esri/core/workers/chunks/6a4f007f87d9f2a6fbc4.js +1 -0
- package/assets/esri/core/workers/chunks/{7343a44a2382a1d68497.js → 6b9dbf43c0659e55c539.js} +1 -1
- package/assets/esri/core/workers/chunks/6de5c6af62776e1b9776.js +1 -0
- package/assets/esri/core/workers/chunks/70dc25f721c0ac5f3660.js +1 -0
- package/assets/esri/core/workers/chunks/71308dca3fd05687e7bd.js +1 -0
- package/assets/esri/core/workers/chunks/75bddfe2be64379db8fd.js +1 -0
- package/assets/esri/core/workers/chunks/78085f804969c9282700.js +1 -0
- package/assets/esri/core/workers/chunks/7aa9b61ca9b66f30449f.js +1 -0
- package/assets/esri/core/workers/chunks/7c1f989ee3d13dfe7ebd.js +1 -0
- package/assets/esri/core/workers/chunks/7c56446184abcd14678b.js +1 -0
- package/assets/esri/core/workers/chunks/7ce9c84f90e9dd1deb38.js +1 -0
- package/assets/esri/core/workers/chunks/7f55a150e4da02786311.js +1 -0
- package/assets/esri/core/workers/chunks/7fc3231768ce79e375ae.js +1 -0
- package/assets/esri/core/workers/chunks/7febb434f2de2436435f.js +1 -0
- package/assets/esri/core/workers/chunks/847b02d188ece9b563ad.js +1 -0
- package/assets/esri/core/workers/chunks/903c7bd079888f65fef1.js +1 -0
- package/assets/esri/core/workers/chunks/{bdafd4f03585351cecc3.js → 909a85cb6e0e9a3c8567.js} +1 -1
- package/assets/esri/core/workers/chunks/9226205850e35b7fc610.js +1 -0
- package/assets/esri/core/workers/chunks/922c24b9bb68f4201b03.js +1 -0
- package/assets/esri/core/workers/chunks/9407db0584c730591161.js +1 -0
- package/assets/esri/core/workers/chunks/9474c913e53f69679197.js +1 -0
- package/assets/esri/core/workers/chunks/94ddfe165ac25aef8229.js +1 -0
- package/assets/esri/core/workers/chunks/{75a2c43311f5f9058f62.js → 94f62ff81cc6fb83e73f.js} +1 -1
- package/assets/esri/core/workers/chunks/95ccac3734ac70387b03.js +1 -0
- package/assets/esri/core/workers/chunks/97c7dfd29ad4c2966cb4.js +1 -0
- package/assets/esri/core/workers/chunks/{1354b8442c2c501238f1.js → 986c5024f22bbfc49aba.js} +1 -1
- package/assets/esri/core/workers/chunks/9b81bd62a2c72f592db1.js +1 -0
- package/assets/esri/core/workers/chunks/{62596065747abce1964d.js → 9b8e33985310f281f084.js} +1 -1
- package/assets/esri/core/workers/chunks/9c7fc1c97125ea2a7b7e.js +1 -0
- package/assets/esri/core/workers/chunks/9e2b3754a76e0dd4a94a.js +1 -0
- package/assets/esri/core/workers/chunks/9eb3e6800f5034f1593f.js +1 -0
- package/assets/esri/core/workers/chunks/a0300fac6a06e7d89a52.js +1 -0
- package/assets/esri/core/workers/chunks/a03e7333e3328036f478.js +1 -0
- package/assets/esri/core/workers/chunks/a0565137027c83108953.js +1 -0
- package/assets/esri/core/workers/chunks/a3b403f8acb90af19adb.js +1 -0
- package/assets/esri/core/workers/chunks/a4596f028758649da099.js +1 -0
- package/assets/esri/core/workers/chunks/a46ac0be9aabc4cfedc7.js +1 -0
- package/assets/esri/core/workers/chunks/a4a22149077c7780481c.js +1 -0
- package/assets/esri/core/workers/chunks/a6ab627e965fe7e5bd52.js +1 -0
- package/assets/esri/core/workers/chunks/a7954ad55a241af9064f.js +1 -0
- package/assets/esri/core/workers/chunks/a8b878c12cb1a6ea012b.js +1 -0
- package/assets/esri/core/workers/chunks/{ec0803cfa5051c4d300d.js → aa0ef4493a7e9bed159f.js} +1 -1
- package/assets/esri/core/workers/chunks/aa8ab28e0c1ae3b55ac0.js +1 -0
- package/assets/esri/core/workers/chunks/ab9927a32350063cb5f0.js +1 -0
- package/assets/esri/core/workers/chunks/adc2620cbe735532004d.js +1 -0
- package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +1 -0
- package/assets/esri/core/workers/chunks/{bbf4c2ee4d56bb0f1a81.js → afa6b74d9ca9ed0154af.js} +1 -1
- package/assets/esri/core/workers/chunks/b0e25ccb5a1e57a82628.js +1 -0
- package/assets/esri/core/workers/chunks/b17a9853250ab626d58d.js +1 -0
- package/assets/esri/core/workers/chunks/b19cff0e43fab2632660.js +1 -0
- package/assets/esri/core/workers/chunks/b2e2234fdf8e05bc3312.js +1 -0
- package/assets/esri/core/workers/chunks/b6063d1755def00d4889.js +1 -0
- package/assets/esri/core/workers/chunks/{7c3d46201b11a45f79d0.js → b6f67302d0d5d57add66.js} +74 -107
- package/assets/esri/core/workers/chunks/bb56ab53c5a10c9518a6.js +1 -0
- package/assets/esri/core/workers/chunks/bd2602195e265f8fdb15.js +1 -0
- package/assets/esri/core/workers/chunks/{f762f0f6c83748d8e328.js → bee411f08e2a9499f8f5.js} +1 -1
- package/assets/esri/core/workers/chunks/bf357afbabaa8dec4d75.js +1 -0
- package/assets/esri/core/workers/chunks/bf7875fda48b15271a10.js +1 -0
- package/assets/esri/core/workers/chunks/bfa59005a9b191d18546.js +1 -0
- package/assets/esri/core/workers/chunks/bfb8fc6b940bd5510e29.js +1 -0
- package/assets/esri/core/workers/chunks/{b311658b8a223efe35d6.js → c0e073a77484b0dfd383.js} +1 -1
- package/assets/esri/core/workers/chunks/c13aa45ccd5efb662f88.js +1 -0
- package/assets/esri/core/workers/chunks/c176df477bbbbc9c6922.js +1 -0
- package/assets/esri/core/workers/chunks/c35553d07ad169910742.js +1 -0
- package/assets/esri/core/workers/chunks/c4f582dec07895d3bb93.js +1 -0
- package/assets/esri/core/workers/chunks/c4fef90cf08bbe4f0bb5.js +1 -0
- package/assets/esri/core/workers/chunks/c5c2fed38e0ccf84f1fa.js +1 -0
- package/assets/esri/core/workers/chunks/c80277a313205853a857.js +1 -0
- package/assets/esri/core/workers/chunks/c91042f8bf886056a29c.js +1 -0
- package/assets/esri/core/workers/chunks/ca204c110438f7315790.js +1 -0
- package/assets/esri/core/workers/chunks/ca36d85a47179d95f2fc.js +1 -0
- package/assets/esri/core/workers/chunks/cb6fb04fe5c8d90d4196.js +1 -0
- package/assets/esri/core/workers/chunks/ccaeabc3be07f3c96f50.js +1 -0
- package/assets/esri/core/workers/chunks/{85f459297b0214141d43.js → cd02a6078443b8f63927.js} +1 -1
- package/assets/esri/core/workers/chunks/{e64ccdb8328eb6514e59.js → cd8b3c2fc27c239f9954.js} +1 -1
- package/assets/esri/core/workers/chunks/{3a36c132ceddef3d15c8.js → cdbcc4cd9145dd93db49.js} +1 -1
- package/assets/esri/core/workers/chunks/{e90feee1756a2209f93f.js → ce9fe1a89b474f9e7ee7.js} +1 -1
- package/assets/esri/core/workers/chunks/d04a01dc1b4947478264.js +1 -0
- package/assets/esri/core/workers/chunks/d0cf9ff48f051adbd455.js +1 -0
- package/assets/esri/core/workers/chunks/d119671a32a050517cca.js +1 -0
- package/assets/esri/core/workers/chunks/d26be8313526ecea9c68.js +1 -0
- package/assets/esri/core/workers/chunks/d270b49c037085503016.js +1 -0
- package/assets/esri/core/workers/chunks/{f5eee6e548bb24b5a003.js → d30a7fc8dab4ebb8893b.js} +1 -1
- package/assets/esri/core/workers/chunks/d344c3fd9f6b113bbcd7.js +1 -0
- package/assets/esri/core/workers/chunks/d36bbda9b7261534568f.js +1 -0
- package/assets/esri/core/workers/chunks/d4b0012ae1d3b8a9ba01.js +1 -0
- package/assets/esri/core/workers/chunks/d6b87134e0d120c68d2f.js +1 -0
- package/assets/esri/core/workers/chunks/d6f7aa280f1bd201d4ef.js +1 -0
- package/assets/esri/core/workers/chunks/da9aacdb0b4a04f42fb8.js +1 -0
- package/assets/esri/core/workers/chunks/daf7b647bd960d8bad56.js +1 -0
- package/assets/esri/core/workers/chunks/{10ac92dcd3738ec23dfb.js → db04c1bad40d068306ba.js} +1 -1
- package/assets/esri/core/workers/chunks/{3427f0c026301bcf7272.js → db180f8d25471cfa48af.js} +1 -1
- package/assets/esri/core/workers/chunks/db4c9a9103e979292948.js +1 -0
- package/assets/esri/core/workers/chunks/dceaa6b68eee090073b1.js +1 -0
- package/assets/esri/core/workers/chunks/ddf284648a73b6993737.js +1 -0
- package/assets/esri/core/workers/chunks/dfbe0efe453587ec5eb2.js +1 -0
- package/assets/esri/core/workers/chunks/e1682e94cc714197ebb4.js +1 -0
- package/assets/esri/core/workers/chunks/e2576c37cf13dc421f69.js +1 -0
- package/assets/esri/core/workers/chunks/e32a14770e036fce79d9.js +1 -0
- package/assets/esri/core/workers/chunks/e370a3337b3c90240e73.js +1 -0
- package/assets/esri/core/workers/chunks/e39bccc000c768120a32.js +1 -0
- package/assets/esri/core/workers/chunks/e40e08029325f43452d0.js +1 -0
- package/assets/esri/core/workers/chunks/{0d7d54e74b5639a0be6e.js → e707534a700a2de687ca.js} +1 -1
- package/assets/esri/core/workers/chunks/e823c9ccb7bc348d8824.js +1 -0
- package/assets/esri/core/workers/chunks/e88eee4c2fc4229c2a8b.js +1 -0
- package/assets/esri/core/workers/chunks/e9f29019aa78f07ace66.js +1 -0
- package/assets/esri/core/workers/chunks/ea75c23c44452f45a949.js +1 -0
- package/assets/esri/core/workers/chunks/ea91c57a0b31f3f65ee5.js +1 -0
- package/assets/esri/core/workers/chunks/eacf216dcd6397c7bd7f.js +1 -0
- package/assets/esri/core/workers/chunks/ee77999df3785468b2b6.js +1 -0
- package/assets/esri/core/workers/chunks/ef851a2cff76fd211c07.js +1 -0
- package/assets/esri/core/workers/chunks/eff359210893239ecec3.js +1 -0
- package/assets/esri/core/workers/chunks/f106cc7f559856f69b9f.js +1 -0
- package/assets/esri/core/workers/chunks/f210cd8afb86b6eaf7a2.js +1 -0
- package/assets/esri/core/workers/chunks/f247f3c5148fa0237a7c.js +1 -0
- package/assets/esri/core/workers/chunks/f250a7aa571889c5ad4b.js +1 -0
- package/assets/esri/core/workers/chunks/{a26dc2647a15b830390e.js → f253875feb11883deb84.js} +1 -1
- package/assets/esri/core/workers/chunks/f31330d628d7e741bf5b.js +1 -0
- package/assets/esri/core/workers/chunks/f3d57c5b9dffd12e45b4.js +1 -0
- package/assets/esri/core/workers/chunks/f43ae1c2f89e1c4396cc.js +1 -0
- package/assets/esri/core/workers/chunks/f60ed579981913d44675.js +1 -0
- package/assets/esri/core/workers/chunks/{147d1e7e2852a4197e5f.js → f665fb4c5633e0a459d8.js} +1 -1
- package/assets/esri/core/workers/chunks/f66e597e524b26e61cd3.js +1 -0
- package/assets/esri/core/workers/chunks/{bec140a69cfdb0519680.js → f74c7cbe4bd12f73ae90.js} +1 -1
- package/assets/esri/core/workers/chunks/{e6f6b38eda34708d61c5.js → f7f2102b16d201e5f531.js} +1 -1
- package/assets/esri/core/workers/chunks/f82ae237452b97cfc024.js +1 -0
- package/assets/esri/core/workers/chunks/f8f7b86bbd62106bc3d4.js +1 -0
- package/assets/esri/core/workers/chunks/f9a4387f850d85c44ca5.js +1 -0
- package/assets/esri/core/workers/chunks/fbc7576ed12964059da6.js +1 -0
- package/assets/esri/core/workers/chunks/fc4a5996fc03f6c32030.js +1 -0
- package/assets/esri/core/workers/chunks/fdd0e6d9927d3c43b0d3.js +1 -0
- package/assets/esri/core/workers/chunks/fddcb8be714ad18ad0c8.js +1 -0
- package/assets/esri/core/workers/chunks/{baa46edd87e97f922128.js → ffe749d790320dddfa74.js} +1 -1
- package/assets/esri/themes/base/widgets/_BuildingDisciplinesTree.scss +1 -1
- package/assets/esri/themes/base/widgets/_Daylight.scss +2 -2
- package/assets/esri/themes/base/widgets/_Editor.scss +1 -1
- package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
- package/assets/esri/themes/base/widgets/_SketchTooltipControls.scss +1 -1
- package/assets/esri/themes/base/widgets/_Slider.scss +1 -1
- package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
- package/assets/esri/themes/base/widgets/_TimezonePicker.scss +1 -1
- package/chunks/Bufferer-CclWhXVb.js +1 -1
- package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
- package/chunks/EmissionComposite.glsl.js +2 -2
- package/chunks/Envelope.js +1 -1
- package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/GeographicTransformation.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/GlobalIllumination.glsl.js +69 -102
- package/chunks/GlowComposite.glsl.js +9 -7
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorCentroid2D.js +1 -1
- package/chunks/OperatorContains.js +2 -0
- package/chunks/OperatorCrosses.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorDisjoint.js +2 -0
- package/chunks/OperatorDistance.js +2 -0
- package/chunks/OperatorEquals.js +2 -0
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorGraphicBuffer.js +1 -1
- package/chunks/OperatorIntegrate.js +1 -1
- package/chunks/OperatorIntersects.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorOverlaps.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorRelate.js +2 -0
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/OperatorSimplifyOGC.js +1 -1
- package/chunks/OperatorTouches.js +1 -1
- package/chunks/OperatorWithin.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/RibbonLine.glsl.js +202 -141
- package/chunks/SideCalculator2D-DX0718xq.js +1 -1
- package/chunks/UnitFactory.js +1 -1
- package/chunks/aiServices.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/core/libs/gl-matrix-2/math/vec3.js +1 -1
- package/core/sql/TimeOnly.js +1 -1
- package/core/units.js +1 -1
- package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
- package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
- package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
- package/form/elements/inputs/inputUtils.js +1 -1
- package/geometry/operators/areaOperator.js +1 -1
- package/geometry/operators/bufferOperator.js +1 -1
- package/geometry/operators/centroidOperator.js +1 -1
- package/geometry/operators/clipOperator.js +1 -1
- package/geometry/operators/containsOperator.js +1 -1
- package/geometry/operators/convexHullOperator.js +1 -1
- package/geometry/operators/crossesOperator.js +1 -1
- package/geometry/operators/cutOperator.js +1 -1
- package/geometry/operators/densifyOperator.js +1 -1
- package/geometry/operators/differenceOperator.js +1 -1
- package/geometry/operators/disjointOperator.js +1 -1
- package/geometry/operators/distanceOperator.js +1 -1
- package/geometry/operators/equalsOperator.js +1 -1
- package/geometry/operators/generalizeOperator.js +1 -1
- package/geometry/operators/geodesicBufferOperator.js +1 -1
- package/geometry/operators/geodeticAreaOperator.js +1 -1
- package/geometry/operators/geodeticDensifyOperator.js +1 -1
- package/geometry/operators/geodeticDistanceOperator.js +1 -1
- package/geometry/operators/geodeticLengthOperator.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorDifference.js +1 -1
- package/geometry/operators/gx/operatorIntersection.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorSimplify.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/gx/operatorUnion.js +1 -1
- package/geometry/operators/intersectionOperator.js +1 -1
- package/geometry/operators/intersectsOperator.js +1 -1
- package/geometry/operators/json/containsOperator.js +1 -1
- package/geometry/operators/json/crossesOperator.js +1 -1
- package/geometry/operators/json/disjointOperator.js +1 -1
- package/geometry/operators/json/intersectsOperator.js +1 -1
- package/geometry/operators/json/overlapsOperator.js +1 -1
- package/geometry/operators/json/touchesOperator.js +1 -1
- package/geometry/operators/json/unionOperator.js +1 -1
- package/geometry/operators/json/withinOperator.js +1 -1
- package/geometry/operators/labelPointOperator.js +1 -1
- package/geometry/operators/lengthOperator.js +1 -1
- package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
- package/geometry/operators/offsetOperator.js +1 -1
- package/geometry/operators/overlapsOperator.js +1 -1
- package/geometry/operators/projectOperator.d.ts +1 -1
- package/geometry/operators/proximityOperator.js +1 -1
- package/geometry/operators/relateOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/shapePreservingProjectOperator.d.ts +15 -1
- package/geometry/operators/simplifyOGCOperator.js +1 -1
- package/geometry/operators/simplifyOperator.js +1 -1
- package/geometry/operators/support/GeographicTransformation.d.ts +4 -3
- package/geometry/operators/support/GeographicTransformationStep.d.ts +2 -1
- package/geometry/operators/support/apiConverter.js +1 -1
- package/geometry/operators/support/geographicTransformationUtils.d.ts +22 -15
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/operators/support/projectionTransformation.js +1 -1
- package/geometry/operators/symmetricDifferenceOperator.js +1 -1
- package/geometry/operators/touchesOperator.js +1 -1
- package/geometry/operators/types.d.ts +2 -1
- package/geometry/operators/unionOperator.js +1 -1
- package/geometry/operators/withinOperator.js +1 -1
- package/geometry/support/convexPolyhedron.js +2 -0
- package/geometry/support/curves/circleUtils.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/geometry/support/frustum.js +1 -1
- package/geometry/support/webMercatorUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/graphics/hydratedFeatures.js +1 -1
- package/layers/mixins/DataSeriesLayer.js +1 -1
- package/layers/support/csvUtils.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/mediaUtils.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/package.json +4 -4
- package/popup/FeatureContentCollection.js +1 -1
- package/support/ArcadeExpression.js +1 -1
- package/support/actions/ActionBase.d.ts +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/loadArcade.js +1 -1
- package/support/revision.js +1 -1
- package/support/tests/serviceMockDependencies.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
- package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementController.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/support/RouteLayerWaypointVisualization.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightConfiguration.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementController.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/RopePullNavigation.js +2 -0
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/featureExpressionInfoUtils.js +1 -1
- package/views/3d/layers/graphics/polygonUtils.js +1 -1
- package/views/3d/layers/i3s/I3SNode.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/state/controllers/RopePullController.js +2 -0
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/state/utils/ropePullUtils.js +2 -0
- package/views/3d/support/ElevationAgnosticVisibility.js +2 -0
- package/views/3d/support/engineContent/line.js +1 -1
- package/views/3d/support/sphericalTileUtils.js +2 -0
- package/views/3d/terrain/PlanarPatch.js +1 -1
- package/views/3d/terrain/SphericalPatch.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatCovariance.glsl.js +9 -3
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +5 -8
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/lib/Geometry.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
- package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/screenPolygonTriangleIntersections.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +39 -51
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/SelectionManager.js +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/support/createUtils.js +1 -1
- package/views/popupAdapter.js +1 -1
- package/views/support/GeometryWorker.js +1 -1
- package/views/support/selectionUtils.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ArcadeExecutorProvider.js +1 -1
- package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
- package/widgets/OrientedImageryViewer/support/panConstraint.js +1 -1
- package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
- package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
- package/widgets/support/SelectionList/selectionListUtils.d.ts +58 -0
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/widgets/support/Selector2D/selectorUtils.js +1 -1
- package/arcade/kernel.js +0 -2
- package/assets/esri/core/workers/chunks/01b7babaefe6500fd6eb.js +0 -1
- package/assets/esri/core/workers/chunks/05acc17cb66fa6c08845.js +0 -1
- package/assets/esri/core/workers/chunks/06e109e92de7fa0956e3.js +0 -1
- package/assets/esri/core/workers/chunks/0775d1e3034d5e7ef7bc.js +0 -1
- package/assets/esri/core/workers/chunks/09a0a1e794ddff65aa08.js +0 -1
- package/assets/esri/core/workers/chunks/0e57d33bd202d0972207.js +0 -1
- package/assets/esri/core/workers/chunks/11224af8b037ccbf252c.js +0 -1
- package/assets/esri/core/workers/chunks/151bac9e519a3b821baf.js +0 -1
- package/assets/esri/core/workers/chunks/156f85ac1885464f0072.js +0 -1
- package/assets/esri/core/workers/chunks/17a10916114754f1f216.js +0 -1
- package/assets/esri/core/workers/chunks/180eebd8b7badc2840c9.js +0 -1
- package/assets/esri/core/workers/chunks/19cb8963d5ec2246357b.js +0 -1
- package/assets/esri/core/workers/chunks/19d4ecee1c161ac0f33c.js +0 -1
- package/assets/esri/core/workers/chunks/19ece9f5313f53384cac.js +0 -1
- package/assets/esri/core/workers/chunks/1b4e050a3884fc6fa6cf.js +0 -1
- package/assets/esri/core/workers/chunks/1d770e8f0fe57d937daa.js +0 -1
- package/assets/esri/core/workers/chunks/1dd22b8df6a52277c64b.js +0 -1
- package/assets/esri/core/workers/chunks/1ede298ab815e9ad625c.js +0 -1
- package/assets/esri/core/workers/chunks/208bc524bd1e0d3aab79.js +0 -1
- package/assets/esri/core/workers/chunks/20a4ae83542c7d39cf0f.js +0 -1
- package/assets/esri/core/workers/chunks/21071ab3d7b2771406ae.js +0 -1
- package/assets/esri/core/workers/chunks/21bfa89363104f041101.js +0 -1
- package/assets/esri/core/workers/chunks/21d0a4d6639d32278f11.js +0 -1
- package/assets/esri/core/workers/chunks/22a75fdc6ba60213a870.js +0 -1
- package/assets/esri/core/workers/chunks/22e004ed97e06536ecef.js +0 -1
- package/assets/esri/core/workers/chunks/23942712a3f6290e0fdb.js +0 -1
- package/assets/esri/core/workers/chunks/242287de82586d42f0a4.js +0 -1
- package/assets/esri/core/workers/chunks/25cb5086eaa412f6820b.js +0 -1
- package/assets/esri/core/workers/chunks/26c8ed0aef59ed6d5267.js +0 -1
- package/assets/esri/core/workers/chunks/2742d62fceaf0736aef0.js +0 -1
- package/assets/esri/core/workers/chunks/276eba546dc8774076ee.js +0 -1
- package/assets/esri/core/workers/chunks/28e02b213da9e682d3dc.js +0 -29
- package/assets/esri/core/workers/chunks/2d8195231cb16247f198.js +0 -1
- package/assets/esri/core/workers/chunks/2db1227ecd421728630d.js +0 -1
- package/assets/esri/core/workers/chunks/2ddc9c9ff6ec243d85e2.js +0 -1
- package/assets/esri/core/workers/chunks/2e712154ebb895d96ba1.js +0 -1
- package/assets/esri/core/workers/chunks/2f2df51d4976ae65edae.js +0 -1
- package/assets/esri/core/workers/chunks/2f652b330a9978a68e83.js +0 -1
- package/assets/esri/core/workers/chunks/32d31fd4cffdf5a80acb.js +0 -1
- package/assets/esri/core/workers/chunks/33aaa5a49e396a0aca47.js +0 -1
- package/assets/esri/core/workers/chunks/33d6ca59eeb88e739c81.js +0 -1
- package/assets/esri/core/workers/chunks/35622088727e120c93b9.js +0 -1
- package/assets/esri/core/workers/chunks/3714cc26f446c4d9cc2c.js +0 -1
- package/assets/esri/core/workers/chunks/3722d40d161d60370936.js +0 -1
- package/assets/esri/core/workers/chunks/3ac4cfeb1af12a9dc27d.js +0 -1
- package/assets/esri/core/workers/chunks/3bf37fd3280f4891c76b.js +0 -1
- package/assets/esri/core/workers/chunks/3cecf627827f5d9213a9.js +0 -1
- package/assets/esri/core/workers/chunks/3d18a10a1ecfabe92db3.js +0 -1
- package/assets/esri/core/workers/chunks/3da39efc5f68f15c105f.js +0 -1
- package/assets/esri/core/workers/chunks/3fbd4c7e25440c4713f2.js +0 -1
- package/assets/esri/core/workers/chunks/407dba2be21255eb47fc.js +0 -1
- package/assets/esri/core/workers/chunks/40ec85b7813a396ee490.js +0 -1
- package/assets/esri/core/workers/chunks/44b1a4e8a65221ad3808.js +0 -1
- package/assets/esri/core/workers/chunks/49e37f653b81f9e4f7cc.js +0 -1
- package/assets/esri/core/workers/chunks/4b4221a869b3f0d517fa.js +0 -1
- package/assets/esri/core/workers/chunks/4b86bcde5992eb752ab0.js +0 -1
- package/assets/esri/core/workers/chunks/4b9095e2bd060efd47c4.js +0 -1
- package/assets/esri/core/workers/chunks/4ec306e5c11808b96e07.js +0 -1
- package/assets/esri/core/workers/chunks/5084de4d0d4961b63ab7.js +0 -1
- package/assets/esri/core/workers/chunks/51a8a47aac1d8d22ba9d.js +0 -1
- package/assets/esri/core/workers/chunks/5324e4feb78203204c0c.js +0 -1
- package/assets/esri/core/workers/chunks/58d10928959ae1e2e8d9.js +0 -1
- package/assets/esri/core/workers/chunks/5903dceb172897e5675b.js +0 -1
- package/assets/esri/core/workers/chunks/597a8e3d9e458298fdd3.js +0 -1
- package/assets/esri/core/workers/chunks/5a006ff759fad9fc25cb.js +0 -1
- package/assets/esri/core/workers/chunks/5e5a05abcb41915802f6.js +0 -1
- package/assets/esri/core/workers/chunks/60be6de19c5659091d8f.js +0 -1
- package/assets/esri/core/workers/chunks/61a38237e163b39520e5.js +0 -1
- package/assets/esri/core/workers/chunks/61fcdba6f2097378dce5.js +0 -1
- package/assets/esri/core/workers/chunks/62f37d1075390a177ae9.js +0 -1
- package/assets/esri/core/workers/chunks/65eff0ae773505495f21.js +0 -1
- package/assets/esri/core/workers/chunks/67452ba9e87962b9e01e.js +0 -1
- package/assets/esri/core/workers/chunks/68195277046861ed39a7.js +0 -1
- package/assets/esri/core/workers/chunks/6a2a4da3a1cd64ff576f.js +0 -1
- package/assets/esri/core/workers/chunks/6af1680771fd8ae8c7dc.js +0 -1
- package/assets/esri/core/workers/chunks/6c367de583e0e657ca3a.js +0 -1
- package/assets/esri/core/workers/chunks/6d2021a0f0c9a3c6a0e6.js +0 -1
- package/assets/esri/core/workers/chunks/6db4a4f9a9ce7cc738d0.js +0 -1
- package/assets/esri/core/workers/chunks/724260e36efea90585f4.js +0 -1
- package/assets/esri/core/workers/chunks/73cb944b87ffce33bb49.js +0 -1
- package/assets/esri/core/workers/chunks/74ae1222787389d5fcaa.js +0 -1
- package/assets/esri/core/workers/chunks/74bfaa98da6c5d375f05.js +0 -1
- package/assets/esri/core/workers/chunks/7a68a16f7fea712b9fd6.js +0 -1
- package/assets/esri/core/workers/chunks/7d8e59ad438fb34b476d.js +0 -1
- package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +0 -1
- package/assets/esri/core/workers/chunks/80795118467fb31ea4ed.js +0 -1
- package/assets/esri/core/workers/chunks/852649460d664b0a1a1d.js +0 -1
- package/assets/esri/core/workers/chunks/85c538bf1209f0da1f8e.js +0 -1
- package/assets/esri/core/workers/chunks/86de2d1f13915ab7a51d.js +0 -1
- package/assets/esri/core/workers/chunks/8db3fd97e8eccd3ba1db.js +0 -1
- package/assets/esri/core/workers/chunks/8e225dd0319672103561.js +0 -1
- package/assets/esri/core/workers/chunks/8e79a84e224d05204e7d.js +0 -1
- package/assets/esri/core/workers/chunks/8e9aff66a2d4e2cc102b.js +0 -1
- package/assets/esri/core/workers/chunks/917318f8e186f466dc52.js +0 -1
- package/assets/esri/core/workers/chunks/9267f6a65c2245696eac.js +0 -1
- package/assets/esri/core/workers/chunks/958e161634b5bfd50625.js +0 -1
- package/assets/esri/core/workers/chunks/99881d0a6c2490a16268.js +0 -1
- package/assets/esri/core/workers/chunks/99980c944acb8ff88d6a.js +0 -1
- package/assets/esri/core/workers/chunks/9b5e890fb0ab29f3a3f1.js +0 -1
- package/assets/esri/core/workers/chunks/9c227785f4454d3966ea.js +0 -1
- package/assets/esri/core/workers/chunks/9d61d9136f3d00aab530.js +0 -1
- package/assets/esri/core/workers/chunks/9df2685583393a87df2d.js +0 -1
- package/assets/esri/core/workers/chunks/9e840a71906c4deef776.js +0 -1
- package/assets/esri/core/workers/chunks/a03f4605bde69bfb6d41.js +0 -1
- package/assets/esri/core/workers/chunks/a0da026a06de379b8f39.js +0 -1
- package/assets/esri/core/workers/chunks/a327843cee2057ee76c0.js +0 -1
- package/assets/esri/core/workers/chunks/a557347fb313df6fcc79.js +0 -1
- package/assets/esri/core/workers/chunks/a8da0728a12fc46dca23.js +0 -1
- package/assets/esri/core/workers/chunks/a9ea28e0f22cfe3ccf92.js +0 -1
- package/assets/esri/core/workers/chunks/aae92f23b38ae22dd8bf.js +0 -1
- package/assets/esri/core/workers/chunks/ad29b77843a7d93d9f8a.js +0 -1
- package/assets/esri/core/workers/chunks/ad3714da9c90d7471385.js +0 -1
- package/assets/esri/core/workers/chunks/b015b8c7a073dbc4a3ad.js +0 -1
- package/assets/esri/core/workers/chunks/b047f9e9ba26037657ed.js +0 -1
- package/assets/esri/core/workers/chunks/b1323800119bd5c1759b.js +0 -1
- package/assets/esri/core/workers/chunks/b18c35f25da18a3219d7.js +0 -1
- package/assets/esri/core/workers/chunks/b1f68ee65cce457d7b5b.js +0 -1
- package/assets/esri/core/workers/chunks/b2d6fd436981c890152f.js +0 -1
- package/assets/esri/core/workers/chunks/b4b4fe06364bea9b0750.js +0 -1
- package/assets/esri/core/workers/chunks/b661aae7e3ce955a783e.js +0 -1
- package/assets/esri/core/workers/chunks/b66ebe53bd879aa9de57.js +0 -1
- package/assets/esri/core/workers/chunks/b812f817c465c64e8c63.js +0 -1
- package/assets/esri/core/workers/chunks/b8ca80134abfcc692244.js +0 -1
- package/assets/esri/core/workers/chunks/b94b36581842749863f0.js +0 -1
- package/assets/esri/core/workers/chunks/bbdf10d76d852072c878.js +0 -1
- package/assets/esri/core/workers/chunks/bbeb61d9302323bae9fb.js +0 -1
- package/assets/esri/core/workers/chunks/bbfd2b4af8e498b61af9.js +0 -1
- package/assets/esri/core/workers/chunks/bc6e488f5fbd50f9f3d0.js +0 -1
- package/assets/esri/core/workers/chunks/bddd5aa7a14cd45ff91c.js +0 -1
- package/assets/esri/core/workers/chunks/be31c2cb97f664a54306.js +0 -1
- package/assets/esri/core/workers/chunks/be4319827db91aa71bf5.js +0 -1
- package/assets/esri/core/workers/chunks/bef32acf368b4d5aba37.js +0 -1
- package/assets/esri/core/workers/chunks/c1568bcd3f04014152e1.js +0 -1
- package/assets/esri/core/workers/chunks/c229325f41f10fe7f732.js +0 -1
- package/assets/esri/core/workers/chunks/c229a4eedda468c914a9.js +0 -1
- package/assets/esri/core/workers/chunks/c308d8f419ba63c583e6.js +0 -1
- package/assets/esri/core/workers/chunks/c6ef0636073e28350c91.js +0 -1
- package/assets/esri/core/workers/chunks/c71368cd64f240da1743.js +0 -1
- package/assets/esri/core/workers/chunks/ca6652c6304ad0e37e8f.js +0 -1
- package/assets/esri/core/workers/chunks/cb2f27e5d465124b9868.js +0 -1
- package/assets/esri/core/workers/chunks/cee2f7f3b3f84688e49d.js +0 -1
- package/assets/esri/core/workers/chunks/d0942860a53b02371e94.js +0 -1
- package/assets/esri/core/workers/chunks/d09491b340af3b779505.js +0 -1
- package/assets/esri/core/workers/chunks/d13eeff678972a245d5d.js +0 -1
- package/assets/esri/core/workers/chunks/d3d7b4cd28a0dc2720d4.js +0 -1
- package/assets/esri/core/workers/chunks/d3ea7ac6fe71c95faa75.js +0 -1
- package/assets/esri/core/workers/chunks/d41e4498aaf4970f48b0.js +0 -1
- package/assets/esri/core/workers/chunks/d4d2a0d882fef463e7bc.js +0 -1
- package/assets/esri/core/workers/chunks/d7c8725ffb175cec5f8a.js +0 -1
- package/assets/esri/core/workers/chunks/d96fa373dcb621c2a869.js +0 -1
- package/assets/esri/core/workers/chunks/da233362b06b6db375f1.js +0 -1
- package/assets/esri/core/workers/chunks/da45d9576b8d66131623.js +0 -1
- package/assets/esri/core/workers/chunks/dbc8f15a6be835f4897d.js +0 -1
- package/assets/esri/core/workers/chunks/e00d0036974aaec7d876.js +0 -1
- package/assets/esri/core/workers/chunks/e0c75ae3a211a8da10f7.js +0 -1
- package/assets/esri/core/workers/chunks/e557043f90c051e93925.js +0 -1
- package/assets/esri/core/workers/chunks/e5cbed6f19c743915c8e.js +0 -1
- package/assets/esri/core/workers/chunks/e5ecd93bd32e99bc99d1.js +0 -1
- package/assets/esri/core/workers/chunks/e76662562e03eef52ba4.js +0 -1
- package/assets/esri/core/workers/chunks/eb8c4f194bb66a27d418.js +0 -1
- package/assets/esri/core/workers/chunks/ebd8c77df5df63bd3efe.js +0 -1
- package/assets/esri/core/workers/chunks/ed5e9718c4dcad1156f7.js +0 -1
- package/assets/esri/core/workers/chunks/f14347f5d63f5d102617.js +0 -1
- package/assets/esri/core/workers/chunks/f1d0208c6b09c1c4b248.js +0 -1
- package/assets/esri/core/workers/chunks/f3680b71d496839de72c.js +0 -1
- package/assets/esri/core/workers/chunks/f3c0280b6c87f2383a60.js +0 -1
- package/assets/esri/core/workers/chunks/f42c4dcb8f413ca1c6fd.js +0 -1
- package/assets/esri/core/workers/chunks/f5773321487ec248fa3b.js +0 -1
- package/assets/esri/core/workers/chunks/f76911f71540b058a881.js +0 -1
- package/assets/esri/core/workers/chunks/fa29b5064d6626cfc019.js +0 -1
- package/assets/esri/core/workers/chunks/fa882d0f4a9826533421.js +0 -1
- package/assets/esri/core/workers/chunks/fb2d43608006f588e3cb.js +0 -1
- package/assets/esri/core/workers/chunks/fc1aeea22f8c9d63864a.js +0 -1
- package/assets/esri/core/workers/chunks/fc3c03cfa3d6bf3b37dc.js +0 -1
- package/assets/esri/core/workers/chunks/ff07d351553deb70b889.js +0 -1
- package/assets/esri/core/workers/chunks/ffee66699f5d26569baf.js +0 -1
- package/chunks/OperatorDefinitions.js +0 -2
- package/chunks/areaOperator.js +0 -2
- package/chunks/bufferOperator.js +0 -2
- package/chunks/centroidOperator.js +0 -2
- package/chunks/clipOperator.js +0 -2
- package/chunks/containsOperator.js +0 -2
- package/chunks/convexHullOperator.js +0 -2
- package/chunks/crossesOperator.js +0 -2
- package/chunks/cutOperator.js +0 -2
- package/chunks/densifyOperator.js +0 -2
- package/chunks/differenceOperator.js +0 -2
- package/chunks/disjointOperator.js +0 -2
- package/chunks/distanceOperator.js +0 -2
- package/chunks/equalsOperator.js +0 -2
- package/chunks/generalizeOperator.js +0 -2
- package/chunks/geodesicBufferOperator.js +0 -2
- package/chunks/geodeticAreaOperator.js +0 -2
- package/chunks/geodeticDensifyOperator.js +0 -2
- package/chunks/geodeticDistanceOperator.js +0 -2
- package/chunks/geodeticLengthOperator.js +0 -2
- package/chunks/intersectionOperator.js +0 -2
- package/chunks/intersectsOperator.js +0 -2
- package/chunks/labelPointOperator.js +0 -2
- package/chunks/lengthOperator.js +0 -2
- package/chunks/multiPartToSinglePartOperator.js +0 -2
- package/chunks/offsetOperator.js +0 -2
- package/chunks/overlapsOperator.js +0 -2
- package/chunks/proximityOperator.js +0 -2
- package/chunks/relateOperator.js +0 -2
- package/chunks/simplifyOperator.js +0 -2
- package/chunks/symmetricDifferenceOperator.js +0 -2
- package/chunks/touchesOperator.js +0 -2
- package/chunks/unionOperator.js +0 -2
- package/chunks/withinOperator.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{createArcadeProfile as e,createArcadeExecutor as t}from"../../../../arcade.js";import{isSome as r}from"../../../../core/arrayUtils.js";import n from"../../../../core/Error.js";import o from"../../../../core/Logger.js";import{getEffectiveFieldAlias as i}from"../../../../editing/fieldUtils.js";import s from"../../../../form/ExpressionInfo.js";import a from"../../../../form/elements/AttachmentElement.js";import{isMultipleChoiceInput as m}from"../../../../form/elements/inputs/inputUtils.js";import
|
|
2
|
+
import{createArcadeProfile as e,createArcadeExecutor as t}from"../../../../arcade.js";import{isSome as r}from"../../../../core/arrayUtils.js";import n from"../../../../core/Error.js";import o from"../../../../core/Logger.js";import{getEffectiveFieldAlias as i}from"../../../../editing/fieldUtils.js";import s from"../../../../form/ExpressionInfo.js";import a from"../../../../form/elements/AttachmentElement.js";import{isMultipleChoiceInput as m,isDynamicChoiceInput as l}from"../../../../form/elements/inputs/inputUtils.js";import p from"../../../../form/elements/inputs/attachments/AttachmentInput.js";import c from"../../../../form/elements/inputs/attachments/AudioInput.js";import d from"../../../../form/elements/inputs/attachments/DocumentInput.js";import f from"../../../../form/elements/inputs/attachments/ImageInput.js";import u from"../../../../form/elements/inputs/attachments/VideoInput.js";import{isAttachmentElement as x,isFieldElement as y,isGroupElement as h,isRelationshipElement as w,isTextElement as E,isUtilityNetworkAssociationsElement as T}from"../../../../form/support/formUtils.js";import{getLowerCaseEditTrackingFields as I,isFieldVisibleByDefault as v}from"../../../../layers/support/fieldUtils.js";import{isNumber as b}from"../../../../support/guards.js";import{layerSupportsAttachments as j,getLayerTimeZone as g}from"../../batchAttributeFormUtils.js";import{makeExpressionInfosMap as P,makeExecutorSetForFormElement as A}from"../../expressions/expressionUtils.js";import{AttachmentElementTemplate as Z}from"../AttachmentElementTemplate.js";import F from"../BatchFormTemplate.js";import{FieldElementTemplate as U}from"../FieldElementTemplate.js";import{GroupElementTemplate as C}from"../GroupElementTemplate.js";import{RelationshipElementTemplate as L}from"../RelationshipElementTemplate.js";import{TextElementTemplate as B}from"../TextElementTemplate.js";import{UtilityNetworkAssociationsElementTemplate as H}from"../UtilityNetworkAssociationsElementTemplate.js";import{isGroupElementTemplate as N}from"./templateUtils.js";import{compileTextElementMarkdownToHTML as V}from"./textElementTemplateUtils.js";const R="expression/dea57012-47ca4b55a000-8df62742ed0c",S=e("form-attachment-filename-calculation"),W=()=>o.getLogger("esri.widgets.BatchAttributeForm.templates.templateUtils");async function k(e,t,r=e.formTemplate){return await e.load(),r?.elements&&r.elements.length>0?G(r,e,t):K(e,t)}async function K(e,{arcadeExecutorProvider:t,attachmentsEnabled:r,formTimeZone:n}){const o=new Set(I(e)),i={arcadeExecutorProvider:t,formTimeZone:n,layer:e},s=[];for(const m of e.fields)_(m,e,o)&&s.push(Y(m,i));const a=await Promise.all(s);return r&&await D(a,{arcadeExecutorProvider:t,expressionInfos:P(void 0),layer:e}),new F({elements:a,title:e.formTemplate?.title,preserveFieldValuesWhenHidden:!0})}function O(e,t){for(const r of e??[])if("group"!==r.type){if("field"===r.type&&!1===r.editable&&!r.editableExpression)return!0}else if(O(r.elements??[]))return!0;return!1}async function D(e,{arcadeExecutorProvider:t,expressionInfos:r,layer:n}){if(!j(n))return;const o=await $(new a({displayFilename:!0,input:new p({attachmentAssociationType:"any",inputTypes:[new f,new d,new u,new c]})}),{arcadeExecutorProvider:t,expressionInfos:r,layer:n});e.push(o)}async function G(e,t,r){let n=null;O(e.elements??[])&&(n=new s({title:"",name:R,expression:"false"}));const o=P(n?[...e.expressionInfos??[],n]:e.expressionInfos),i={description:e.description,elements:new Array,title:e.title,preserveFieldValuesWhenHidden:e.preserveFieldValuesWhenHidden,supportsAttachmentElements:e.supportsAttachmentElements},{elements:a}=e;if(!a)return new F(i);let m=!1;const{arcadeExecutorProvider:l,formTimeZone:p}=r;for(const s of a){const e=await q(s,{arcadeExecutorProvider:l,expressionInfos:o,layer:t,formTimeZone:p});if(e){if(i.elements.push(e),m)continue;"attachment"===e.type&&(m=!0),N(e)&&e.elements.some(e=>("attachment"===e.type&&(m=!0),m))}}return e.supportsAttachmentElements||!r.attachmentsEnabled||m||await D(i.elements,{arcadeExecutorProvider:l,expressionInfos:o,layer:t}),new F(i)}async function $(e,{arcadeExecutorProvider:r,expressionInfos:n,layer:o}){let i=null;if(e.filenameExpression)try{i=await t(e.filenameExpression,S)}catch(m){W().error("Failed to compile attachment filename expression",m)}const s=new Z({allowUserRename:e.allowUserRename,attachmentKeyword:e.attachmentKeyword,description:e.description,displayFilename:e.displayFilename,filenameExpressionExecutor:i,input:e.input,label:e.label,maxAttachmentCount:e.maxAttachmentCount,minAttachmentCount:e.minAttachmentCount,useOriginalFilename:e.useOriginalFilename}),a=await A({element:e,expressionInfos:n,provider:r});return s.addLayer(o,a),s}async function q(e,t){return x(e)?$(e,{arcadeExecutorProvider:t.arcadeExecutorProvider,expressionInfos:t.expressionInfos,layer:t.layer}):y(e)?z(e,t):h(e)?J(e,t):w(e)?M(e,t):E(e)?Q(e,t):T(e)?X(e,t):null}async function z(e,{arcadeExecutorProvider:t,expressionInfos:r,layer:o,formTimeZone:i}){const{fieldsIndex:s}=o,{description:a,domain:p,fieldName:c,hint:d,input:f,label:u}=e;if(null==c||!s.has(c))return W().warn(new n("batch-attribute-form:invalid-form-element-field",`Field element with label '${u}' does not refer to a valid field`)),null;if(!1!==e.editable||e.editableExpression||((e=e.clone()).editableExpression=R),f&&m(f)&&f.otherChoice){const e=f.otherChoice.fieldName,t=s.get(e);t&&t.name!==e&&(f.otherChoice=f.otherChoice.clone(),f.otherChoice.fieldName=t.name)}const x=new U({description:a,domain:p,field:s.get(c),hint:d,input:f,formTimeZone:i,layerTimeZone:g(o),label:u}),y=await A({element:e,expressionInfos:r,provider:t});let h;if(f&&l(f)&&f.choiceExpression){const e=r.get(f.choiceExpression);h=e?await t.getArcadeExecutor(e.expression):void 0}return x.addLayer(o,y,h),x}async function J(e,t){const{arcadeExecutorProvider:r,expressionInfos:n,layer:o}=t,{description:i,label:s,initialState:a}=e,m=[];for(const c of e.elements){const e=await q(c,t);e&&m.push(e)}const l=new C({description:i,elements:m,label:s,initialState:a??"expanded"}),p=await A({element:e,expressionInfos:n,provider:r});return l.addLayer(o,p),l}async function M(e,t){const{description:r,label:n,displayCount:o,displayType:i,orderByFields:s,relationshipId:a}=e,{arcadeExecutorProvider:m,expressionInfos:l,layer:p,formTimeZone:c}=t,d=new L({description:r,...b(o)&&{displayCount:o},displayType:i,formTimeZone:c,label:n,layerTimeZone:g(p),orderByFields:s,relationshipId:a}),f=await A({element:e,expressionInfos:l,provider:m});return d.addLayer(p,f),d}async function Q(e,{arcadeExecutorProvider:t,expressionInfos:n,layer:o,formTimeZone:i}){const{description:s,label:a,text:m,textFormat:l}=e,{fieldsIndex:p}=o,c=m&&"markdown"===l?await V(m):m,d=new B({compiledText:c,description:s,fieldsIndex:p,formTimeZone:i,label:a,layerTimeZone:g(o)}),f=await A({element:e,expressionInfos:n,provider:t}),{expressionParts:u}=d;if(u.length){const e=await Promise.all(u.map(e=>{const r=n.get(e)?.expression??e;return t.getArcadeExecutor(r)}));f.textExpressions=e.filter(r)}return d.addLayer(o,f),d}async function X(e,t){const{associationTypes:r,description:n,label:o}=e,{arcadeExecutorProvider:i,expressionInfos:s,formTimeZone:a,layer:m}=t,l=new H({associationTypes:r,description:n,formTimeZone:a,label:o,layerTimeZone:g(m)}),p=await A({element:e,expressionInfos:s,provider:i});return l.addLayer(m,p),l}async function Y(e,{arcadeExecutorProvider:t,layer:r,formTimeZone:n}){const o=i(e,r)||e.name,s=new U({field:e,formTimeZone:n,label:o,layerTimeZone:g(r)}),a={};return e.editable&&r.userHasUpdateItemPrivileges&&(a.editableExpression=await t.getArcadeExecutor("true")),s.addLayer(r,a),s}function _(e,t,r){return!r.has(e.name.toLowerCase())&&v(e,t)}export{k as createBatchFormTemplate,K as createBatchFormTemplateFromFields};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{numericHash as t}from"../../../../core/string.js";import{isBarcodeScannerInput as n,
|
|
2
|
+
import{numericHash as t}from"../../../../core/string.js";import{isBarcodeScannerInput as n,isDynamicChoiceInput as e,isComboBoxInput as i,isRadioButtonsInput as o,isDatePickerInput as r,isDateTimePickerInput as $,isDateTimeOffsetPickerInput as u,isSwitchInput as c,isTextAreaInput as l,isTextBoxInput as s,isTimePickerInput as a,isMultipleChoiceInput as m}from"../../../../form/elements/inputs/inputUtils.js";import{isFieldElementTemplate as f,isGroupElementTemplate as p,isRelationshipElementTemplate as g,isTextElementTemplate as d,isAttachmentElementTemplate as h,isUtilityNetworkAssociationsElementTemplate as S,isExcludedFromSharedForm as y}from"./templateUtils.js";const O="",N="num:";function b(n){return f(n)?t(x(n)).toString():p(n)?t(C(n)).toString():g(n)?t(j(n)).toString():d(n)?t(J(n)).toString():h(n)?t(w(n)).toString():S(n)?t(L(n)).toString():t(JSON.stringify(n)).toString()}function x(t){return`${v(t)}.${I(t.field)}.${K(t.domain)}.${t.hint??O}.${A(t.input)}`}function C(t){const n=T(t);let e=O;for(const i of t.elements)y(i)||(e+="."+b(i).toString());return`${n}${e}`}function V(n){return t(T(n)).toString()}function T(t){return v(t)+`.${t.initialState}`}function j(t){const{displayCount:n,displayType:e,relationshipId:i}=t;return`${v(t)}.${n}.${e}.${i}.${B(t.orderByFields??[])}`}function J(t){const n=v(t),{compiledText:e}=t;return`${n}.${e??O}`}function w(t){return`${v(t)}.${t.allowUserRename}.${t.attachmentKeyword??O}.${t.displayFilename}.${F(t.input)}.${t.maxAttachmentCount??O}.${t.minAttachmentCount??O}.${t.useOriginalFilename}`}function L(t){return`${v(t)}.${R(t.associationTypes)}`}function v(t){return`${t.label??O}.${t.description??O}.${t.layerTimeZone??O}`}function A(t){if(!t)return O;const{type:f}=t;if(n(t))return f??O;if(e(t)){const{showNoValueOption:n}=t;return`${f}.${n}.${t.noValueOptionLabel??O}`}if(i(t)||o(t)){const{showNoValueOption:n}=t;return`${f}.${n}.${t.noValueOptionLabel??O}`}if(r(t))return`${f}.${U(t)}`;if($(t)){const n=t.min?.getTime(),e=t.max?.getTime(),{includeTime:i}=t;return`${f}.${n}.${e}.${i}`}if(u(t)){const n=U(t),{includeTimeOffset:e,timeResolution:i}=t;return`${f}.${n}.${e}.${i}`}if(c(t)){const{offValue:n,onValue:e}=t;return`${f}.${k(n)}.${k(e)}`}if(l(t)||s(t)){return`${f}.${t.minLength?.toString()??O}.${t.maxLength?.toString()??O}`}if(a(t)){const n=U(t),{timeResolution:e}=t;return`${f}.${n}.${e}`}if(m(t)){return`${f}.${U({min:t.minimumChoices?.toString(),max:t.maximumChoices?.toString()})}.${t.choiceDelimiter??O}.${t.includeSelectAllChoices}.${t.otherChoice?.fieldName??O}.${t.otherChoice?.label??O}.${t.otherChoice?.hint??O}.${D(t)}`}return JSON.stringify(t)}function F(t){return t?JSON.stringify(t.toJSON()):O}function R(t){return t.map(t=>JSON.stringify(t.toJSON())).sort().join(".")}function U(t){return`${t.min??O}.${t.max??O}`}function B(t){return t.map(({field:t,order:n})=>`${t}.${n}`).sort().join(".")}function D(t){return(t.choices??[]).map(({label:t,value:n})=>`${t}.${n}`).sort().join(".")}function I(t){const n=t.name,e=t.alias??O;return`${n}.${e===n?O:e}.${t.nullable}.${t.type}.${t.length??O}.${t.description??O}.${t.editable}.${t.visible}`}function K(t){return t?"coded-value"===t.type?Z(t):"range"===t.type?q(t):JSON.stringify(t):O}function Z(t){const{type:n}=t;return`${n}.${t.codedValues.map(({code:t,name:n})=>`${k(t)}.${n}`).sort().join(".")}`}function k(t){return"number"==typeof t?`${N}${t}`:t}function q(t){const{maxValue:n,minValue:e,type:i}=t;return`${i}.${e}.${n}`}export{b as hashElementTemplate,V as hashGroupElementTemplateWithoutChildren};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../Graphic.js";import{fetchMessageBundle as i,onLocaleChange as r}from"../../intl.js";import{getContrast as s,multiplyOpacity as
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../Graphic.js";import{fetchMessageBundle as i,onLocaleChange as r}from"../../intl.js";import{getContrast as s,multiplyOpacity as o}from"../../core/colorUtils.js";import{handlesGroup as n}from"../../core/handleUtils.js";import{destroyMaybe as a}from"../../core/maybe.js";import{watch as l,initial as p}from"../../core/reactiveUtils.js";import{formatDecimal as m,formatImperialLength as c,formatMetricLength as h}from"../../core/unitFormatUtils.js";import{convertUnit as u}from"../../core/units.js";import{property as d,subclass as y}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as v}from"../../core/support/UpdatingHandles.js";import{isSupported as g,geodesicLengths as _,geodesicDensify as f}from"../../geometry/geodesicUtils.js";import w from"../../geometry/Point.js";import L from"../../geometry/Polyline.js";import{execute as b,load as S}from"../../geometry/operators/geodeticDensifyOperator.js";import{execute as j,load as M}from"../../geometry/operators/geodeticLengthOperator.js";import{execute as x}from"../../geometry/operators/lengthOperator.js";import C from"../../layers/GraphicsLayer.js";import A from"../../symbols/CIMSymbol.js";import D from"../../symbols/Font.js";import G from"../../symbols/SimpleMarkerSymbol.js";import k from"../../symbols/TextSymbol.js";import{SnappingVisualizer2D as T}from"../../views/2d/interactive/SnappingVisualizer2D.js";import O from"../../views/draw/Draw.js";import{createCoordinateHelper as H}from"../../views/interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as P,screenToMap as R,dragManipulatedObject as U}from"../../views/interactive/dragEventPipeline.js";import{GraphicManipulator as E}from"../../views/interactive/GraphicManipulator.js";import{InteractiveToolBase as I}from"../../views/interactive/InteractiveToolBase.js";import{EditGeometry as z}from"../../views/interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as B}from"../../views/interactive/editGeometry/EditGeometryOperations.js";import{SnappingContext as F}from"../../views/interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as V}from"../../views/interactive/snapping/SnappingDragPipelineStep.js";import{setupSnappingToggleHandles as W}from"../../views/interactive/snapping/snappingUtils.js";const N=1e5;let q=class extends I{constructor(e){super(e),this._measurementLayer=new C({internal:!0,listMode:"hide",visible:!1,title:"DistanceMeasurement2DTool measurement layer"}),this._manipulatorLayer=new C({internal:!0,listMode:"hide",visible:!1,title:"DistanceMeasurement2DTool manipulator layer"}),this._snappingLayer=new C({internal:!0,listMode:"hide",visible:!1,title:"DistanceMeasurement2DTool snapping layer"}),this._updatingHandles=new v,this._vertices=[],this._drawActive=!1,this.measurement=null,this.measurementLabel=null}initialize(){i("esri/core/t9n/Units").then(e=>{this.messages=e});const e=this.view;this._draw=new O({view:e}),e.map.addMany([this._measurementLayer,this._manipulatorLayer,this._snappingLayer]),e.focus(),this.addHandles([r(async()=>{this.messages=await i("esri/core/t9n/Units")}),l(()=>[this.unit,this.messages],()=>{this._updatePolylines()},p),l(()=>[this.view.effectiveTheme.accentColor,this.view.effectiveTheme.textColor],()=>{if(!this._vertices.length)return;const e=this._vertices.map(({coord:e})=>e);for(const{handle:t}of this._vertices)t.remove();this._vertices=[],this._measurementLayer.removeAll(),this._manipulatorLayer.removeAll(),this._snappingLayer.removeAll(),this.manipulators.removeAll(),this._updateSketch(e)})]),W(this)}destroy(){const{map:e}=this.view;this._draw.view=null,this._draw=a(this._draw),e.removeMany([this._measurementLayer,this._manipulatorLayer,this._snappingLayer]),this._measurementLayer.removeAll(),this._manipulatorLayer.removeAll(),this._snappingLayer.removeAll(),this._set("measurement",null),this._set("measurementLabel",null),this._measurementLayer=a(this._measurementLayer),this._manipulatorLayer=a(this._manipulatorLayer),this._snappingLayer=a(this._snappingLayer),this._updatingHandles=a(this._updatingHandles),this._resetVertices()}get cursor(){return this._drawActive?"crosshair":null}set editable(e){this._set("editable",e),e||this._draw.reset()}get snappingOptions(){return this.snappingManager.options}get updating(){return this._updatingHandles.updating||this.snappingManager.updating}onActivate(){this._drawActive||0!==this._vertices.length||this._startSketch()}onShow(){this._measurementLayer.visible=!0,this._manipulatorLayer.visible=!0,this._snappingLayer.visible=!0}onHide(){this._measurementLayer.visible=!1,this._manipulatorLayer.visible=!1,this._snappingLayer.visible=!1}_getSnappingContext(e){return new F({elevationInfo:{mode:"on-the-ground",offset:0},pointer:e,editGeometryOperations:new B(new z("point",H(!1,!1,this.view.spatialReference)),2),visualizer:new T(this._snappingLayer)})}_resetVertices(){for(const{handle:e}of this._vertices)e.remove();this._vertices=[]}_startSketch(){this._drawActive=!0;const{snappingManager:e}=this;this._draw.create("polyline",{mode:"click",snappingManager:e}).on(["draw-complete","vertex-add","vertex-update","vertex-remove","cursor-update","undo","redo"],e=>{this._updateSketch(e.vertices),"draw-complete"===e.type&&this._stopSketch()})}_stopSketch(){this.manipulators.forEach(({manipulator:e})=>{e.interactive=!0}),this._drawActive=!1,this.finishToolCreation()}_updateSketch(e){const{spatialReference:t}=this.view;for(;this._vertices.length>e.length;){const{handle:e,manipulator:t}=this._vertices.pop();e.remove(),this.manipulators.remove(t)}for(let l=this._vertices.length;l<e.length;l++){const[i,r]=e[l],s=new w({x:i,y:r,spatialReference:t}),o=J(s,this.view,this._manipulatorLayer);this.manipulators.add(o);const a=B.fromGeometry(s,2),p=[a.on("vertex-update",e=>{const t=e.vertices.at(0);t&&(this._vertices[l].coord=[t.pos[0],t.pos[1]],this._updatePolylines())}),P(o,(e,t,i,r)=>{const s=this._getSnappingContext(r),{snappingManager:o}=this,n=this._updatingHandles,{snappingStep:l}=V({snappingContext:s,snappingManager:o,updatingHandles:n});t.next(R(this.view)).next(t=>{if("start"===t.action){const i=new w(t.mapStart);e.graphic.geometry=i,a.trySetGeometry(i)}return t}).next(...l).next(U({operations:a})).next(()=>{e.graphic.geometry=a.data.geometry})})];this._vertices.push({manipulator:o,coord:[i,r],handle:n(p)})}const i=this._vertices.length-1,r=this._vertices[i],[s,o]=e[i];r.coord[0]===s&&r.coord[1]===o||(r.coord=[s,o],r.manipulator.graphic.geometry=new w({x:s,y:o,spatialReference:t}));const a=this._drawActive?this._vertices[i].manipulator:null;this.manipulators.forEach(({manipulator:e})=>{e.interactive=null==a||e!==a}),this._updatePolylines()}_updatePolylines(){if(this._vertices.length<2)return void this._measurementLayer.removeAll();const e=K(this._vertices.map(({coord:e})=>e),this.view.spatialReference);if(!e)return;const{measurement:i,drawing:r,original:n}=e;this._set("measurement",i);const a=Y(this.messages,i,this.unit);let l,p;this._set("measurementLabel",a);const{graphics:m}=this._measurementLayer,c=2===m.length,{effectiveTheme:h}=this.view;c?(l=m.at(0),p=m.at(1)):(l=new t({symbol:new A({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",effects:[{type:"CIMGeometricEffectDashes",dashTemplate:[14,12],lineDashEnding:"FullGap",controlPointEnding:"NoConstraint"}],enable:!0,capStyle:"Butt",joinStyle:"Round",width:3.5,color:s(h.accentColor).toArray()},{type:"CIMSolidStroke",enable:!0,capStyle:"Butt",joinStyle:"Round",width:5,color:h.accentColor.toArray()}]}}})}),p=new t({symbol:new k({color:h.textColor,haloColor:o(s(h.textColor,160),.5),haloSize:2,font:new D({size:14,family:"sans-serif"})})}),m.removeAll(),m.addMany([l,p])),l.geometry=r,p.geometry=n.extent?.center,p.symbol.text=a}};function J(e,i,r){const s=o(i.effectiveTheme.accentColor,.5),n={type:"simple-line",width:0},a=8,l=new G({style:"circle",color:s,size:a,outline:n}),p=new G({style:"circle",color:s,size:1.5*a,outline:n}),m=new t({geometry:e,symbol:l});return new E({view:i,layer:r,graphic:m,focusedSymbol:p,consumesClicks:!1})}function K(e,t){const i=new L({paths:[e],spatialReference:t});let r,s;return t.isGeographic?g(t)?(r=_([i],"meters")[0],s=f(i,N)):(r=j(i,{unit:"meters"}),s=b(i,N,{unit:"meters"})):t.isWebMercator?(r=j(i,{unit:"meters"}),s=b(i,N,{unit:"meters"})):(r=x(i,{unit:"meters"}),s=i),{measurement:{geometry:s,length:r},original:i,drawing:s}}function Q(e){return null!=e}async function X(e){(e?.isGeographic&&!g(e)||e?.isWebMercator)&&await Promise.all([S(),M()])}function Y(e,t,i){if(!t||!e)return"";switch(i){case"metric":return h(e,t.length,"meters");case"imperial":return c(e,t.length,"meters");default:return m(e,u(t.length,"meters",i),i)}}e([d()],q.prototype,"_drawActive",void 0),e([d({readOnly:!0})],q.prototype,"cursor",null),e([d({value:!0})],q.prototype,"editable",null),e([d({readOnly:!0})],q.prototype,"measurement",void 0),e([d({readOnly:!0})],q.prototype,"measurementLabel",void 0),e([d()],q.prototype,"messages",void 0),e([d({constructOnly:!0})],q.prototype,"snappingManager",void 0),e([d()],q.prototype,"unit",void 0),e([d()],q.prototype,"updating",null),e([d({constructOnly:!0})],q.prototype,"view",void 0),q=e([y("esri.widgets.DistanceMeasurement2D.DistanceMeasurement2DTool")],q);export{q as DistanceMeasurement2DTool,K as createDistanceMeasurementInfo2D,Y as createDistanceMeasurementLabel,Q as isSupported,X as loadGeometryOperators};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../../../../Graphic.js";import{isSome as t}from"../../../../core/arrayUtils.js";import i from"../../../../core/Logger.js";import{waitTick as o,throwIfAborted as r,isAbortError as a}from"../../../../core/promiseUtils.js";import s from"../../../../geometry/Polygon.js";import{projectAsync as n}from"../../../../geometry/projectionUtils.js";import{
|
|
2
|
+
import e from"../../../../Graphic.js";import{isSome as t}from"../../../../core/arrayUtils.js";import i from"../../../../core/Logger.js";import{waitTick as o,throwIfAborted as r,isAbortError as a}from"../../../../core/promiseUtils.js";import s from"../../../../geometry/Polygon.js";import{projectAsync as n}from"../../../../geometry/projectionUtils.js";import{execute as l}from"../../../../geometry/operators/centroidOperator.js";import{adjustHorizonAngles as p,convertOrientationToPixelLocation as c}from"../../../../layers/orientedImagery/transformations/utils.js";import{fixedImageSize as u}from"../../constants.js";import{activePolygonSymbol as d,polygonSymbol as m}from"../../symbols.js";import{extractHorizonAnglesFromMedia as g}from"../../utils.js";class v{constructor(v){this.viewModel=v,this.createFootprints=async t=>{await o(t);const{coveragePolygons:i,currentBestFeature:r,isAdditionalCoverageVisible:a}=this.viewModel;for(const o of i)o?.imageID===r.attributes.objectId?this.viewModel.bestFeatureFootprint=new e({attributes:{imageID:o?.imageID},geometry:o,symbol:d,visible:!1}):this.viewModel.additionalFootprints.push(new e({attributes:{imageID:o?.imageID},geometry:o,symbol:m.clone(),visible:a}))},this.updateFootprint=async(o,l,p)=>{const{activeViewer:c,mode:m,currentBestFeature:g,currentCoverageVisible:v,footprintExtent:f}=this.viewModel,w=l??g;if(g&&("video"===m?u:c?.imageSize)&&f&&w)try{const i=await this.viewModel.getMapPoint(o);r(p);const a=i.filter(t);if(!a.length)return;const l=[a.map(({x:e,y:t})=>[e,t,1])];l[0].push(l[0][0]);const c=new s({rings:l,spatialReference:a[0].spatialReference}),u=this.viewModel.view?.spatialReference.equals(c.spatialReference)?c:await n(c,this.viewModel.view.spatialReference,p);this.viewModel.updateCurrentCoveragePolygon(new e({geometry:u,attributes:{imageID:w.attributes.objectId},symbol:d,visible:v}))}catch(h){a(h)||i.getLogger(this.viewModel).error("update-footprint",h)}else this.viewModel.updateCurrentCoveragePolygon(null)},this.updateVideoFootprint=async o=>{const{points:p,feature:c,scale:m,options:g}=o,{activeViewer:v,mode:f,currentBestFeature:w,currentCoverageVisible:h,footprintExtent:y}=this.viewModel,M="video"===f?u:v?.imageSize,b=c??w;if(w&&M&&y&&b&&"none"!==f)try{const i={feature:b,mode:f,imageSize:M,footprintExtent:y},o=await this.viewModel.getMapPointForFeature(p,i,g);r(g);const a=o.filter(t);if(!a.length)return;const c=[a.map(({x:e,y:t})=>[e,t,1])];c[0].push(c[0][0]);let u=new s({rings:c,spatialReference:a[0].spatialReference});if(m){const e=u.spatialReference,t=l(u),i=u.rings.map(e=>e.map(([e,i])=>[t.x+(e-t.x)*m,t.y+(i-t.y)*m]));u=new s({rings:i,spatialReference:e})}const v=this.viewModel.view?.spatialReference.equals(u.spatialReference)?u:await n(u,this.viewModel.view.spatialReference,g);this.viewModel.updateCurrentCoveragePolygon(new e({geometry:v,attributes:{imageID:b.attributes.objectId},symbol:d,visible:h}))}catch(C){a(C)||i.getLogger(this.viewModel).error("update-footprint",C)}else this.viewModel.updateCurrentCoveragePolygon(null)},this.updateFootprintPanorama=async(t,i)=>{const{horizontalFieldOfView:o,pitch:a,verticalFieldOfView:l,yaw:m,feature:v,horizonAngles:f}=t,{activeViewer:w,currentBestFeature:h,currentCoverageVisible:y,footprintExtent:M,mode:b}=this.viewModel,C="video"===b||"panoramic-video"===b?u:w?.imageSize,F=v??h;if(!F||!C||!M||"none"===b)return void this.viewModel.updateCurrentCoveragePolygon(null);const{cameraPitch:j,objectId:P}=F.attributes;if(a+j-l/2>180)return void this.viewModel.updateCurrentCoveragePolygon(null);const R=[],I=l/2,x=o/2,V=a-I,D=a+I;if(V>90)return void this.viewModel.updateCurrentCoveragePolygon(null);const z=V<0,E=[-x,I],S=[x,I],B=[x,-I],q=[-x,-I];if(V<90&&D>90){R.push(z?B:q);const e=Math.floor(o/5),t=o/e;for(let i=0;i<=e;i++)R.push([i*t-x,90-a]);R.push(z?q:B)}D<90&&(R.push(E,S),z?R.push(q,B):R.push(B,q));const L=f??g(w?.media),O=R.map(([e,t])=>{const i=a+t,o=m+e,r=L?p(o,i,L):[o,i];return{...c(r[0],r[1],C[0],C[1]),heading:o,pitch:i}}),U={feature:F,mode:b,imageSize:C,footprintExtent:M},A=v?await this.viewModel.getMapPointForFeature(O,U,i):await this.viewModel.getMapPoint(O,i);r(i);const G=[A.map(({x:e,y:t})=>[e,t,1])];G[0].push(G[0][0]);const k=new s({rings:G,spatialReference:A[0].spatialReference}),H=this.viewModel.view?.spatialReference;if(!H)return;const J=H.equals(k.spatialReference)?k:await n(k,H,i);this.viewModel.updateCurrentCoveragePolygon(new e({geometry:J,attributes:{imageID:P},symbol:d.clone(),visible:y}))}}}export{v as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../../Map.js";import i from"../../../core/Error.js";import{EventedAccessor as r}from"../../../core/Evented.js";import a from"../../../core/Logger.js";import{clamp as s}from"../../../core/mathUtils.js";import{abortMaybe as o}from"../../../core/maybe.js";import{throwIfAborted as n,isAbortError as l}from"../../../core/promiseUtils.js";import{watch as h,syncAndInitial as m,when as d,initial as p}from"../../../core/reactiveUtils.js";import{property as c,subclass as g}from"../../../core/accessorSupport/decorators.js";import{UpdatingHandles as u}from"../../../core/support/UpdatingHandles.js";import y from"../../../geometry/Point.js";import _ from"../../../geometry/Polygon.js";import f from"../../../geometry/SpatialReference.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../../Map.js";import i from"../../../core/Error.js";import{EventedAccessor as r}from"../../../core/Evented.js";import a from"../../../core/Logger.js";import{clamp as s}from"../../../core/mathUtils.js";import{abortMaybe as o}from"../../../core/maybe.js";import{throwIfAborted as n,isAbortError as l}from"../../../core/promiseUtils.js";import{watch as h,syncAndInitial as m,when as d,initial as p}from"../../../core/reactiveUtils.js";import{property as c,subclass as g}from"../../../core/accessorSupport/decorators.js";import{UpdatingHandles as u}from"../../../core/support/UpdatingHandles.js";import y from"../../../geometry/Point.js";import _ from"../../../geometry/Polygon.js";import f from"../../../geometry/SpatialReference.js";import{execute as v}from"../../../geometry/operators/intersectionOperator.js";import R from"../../../layers/GraphicsLayer.js";import w from"../../../layers/support/RasterFunction.js";import{convolutionKernel as x}from"../../../layers/support/rasterFunctionConstants.js";import C from"../../../layers/support/TileInfo.js";import b from"../../../views/MapView.js";import{getResolutionToScaleFactor as I}from"../../../views/2d/viewpointUtils.js";import j from"../support/NonPanoramicMedia.js";import{rotate as P,constrainViewpoint as H}from"../support/panConstraint.js";const M={click:"click-handle",enhancements:"enhancements-handle"};let L=class extends r{constructor(e){super(e),this._imageChanged=!1,this._panConstraint=null,this._image=null,this._loadController=null,this._overlays=new R({blendMode:"source-atop"}),this._map=new t,this.autoLoad=!1,this.clickAction="none",this.error=null,this.imageRotation=0,this.state="ready",this.updatingHandles=new u,this._cancelLoadWithController=()=>{this._loadController=o(this._loadController)},this._createImageHandles=()=>{this.removeHandles(M.enhancements),this.addHandles(h(()=>[this.brightness,this.contrast,this.sharpness],([e,t,i])=>{this.image?.loaded&&(this.image.effect=`contrast(${10*(t+10)}%) brightness(${10*(e+10)}%)`,this.sharpenImage(this.image,i))},m))},this._createPanConstraint=()=>{const{image:e,imageRenderer:t}=this,i=i=>{const{constraints:r,height:a,width:s,rotation:o}=t,{targetGeometry:n}=i;return"point"===n?.type&&e?.serviceRasterInfo?(H({constraints:r,containerHeight:a,containerWidth:s,imageExtent:e.serviceRasterInfo.extent,rotation:o,viewpoint:i,viewportExtent:t.extent}),i):i};return{constrain:i,applyPanConstraint:i}},this._createResizeHandles=e=>{e.removeHandles("resize"),e.addHandles(h(()=>{if(!this.imageRenderer.ready)return;const{extent:t}=e.serviceRasterInfo,{width:i,height:r,rotation:a}=this.imageRenderer,{extent:s}=P(_.fromExtent(t),a,t.center.x,t.center.y),{width:o,height:n}=s;return Math.max(o/i,n/r)},e=>{if(!this.imageRenderer||null==e)return;const{constraints:t,scale:i,spatialReference:r}=this.imageRenderer,a=t.minScale,s=I(r),o=.25*s,n=s*e;let l=n;const h=[];for(;l>o;)h.push(l),l/=2;h.push(l);const{lods:m}=C.create({scales:h});if(t.set({minScale:n,lods:m}),this._imageChanged)return this.imageRenderer.scale=n,void(this._imageChanged=!1);this.imageRenderer.scale=Math.abs(i-a)<=1e-6?n:i},m),"resize")},this._loadMediaInternal=async(e,t)=>{if(this.state="image-loading",this.clearImage(),this.error=null,this._imageChanged=!0,!e)throw new Error("No media to load");try{const{layer:i}=await e.load(t);n(t),this._image=i,this._updatePanConstraint(),this._createResizeHandles(this._image),this._map.add(this._image),this.imageRotation=e.rotation??0,this.media=e,this.state="image-loaded"}catch(i){if(!l(i))throw this.state="image-load-error",this.error=i,a.getLogger(this).error(`error occurred while loading image ${this._image?.url}`,i),this._image=null,i;this.state="image-load-aborted"}return this._image},this._loadWithController=()=>{this._cancelLoadWithController(),this.media&&(this._loadController=new AbortController,this._loadMediaInternal(this.media,this._loadController))},this._updatePanConstraint=()=>{this._panConstraint&&this.imageRenderer.constraints.customConstraints.remove(this._panConstraint),this._panConstraint=this._createPanConstraint(),this.imageRenderer.constraints.customConstraints.add(this._panConstraint)},this.addGraphic=(e,t)=>{this._overlays.graphics.add(e,t)},this.addManyGraphics=e=>{this._overlays.addMany(e)},this.clearGraphics=()=>{this._overlays.graphics.removeAll()},this.clearImage=()=>{this.image&&this._map.layers.remove(this.image),this._image=null},this.removeGraphic=e=>{this._overlays.remove(e)},this.removeManyGraphics=e=>{this._overlays.removeMany(e)},this._imageRenderer=new b({constraints:{snapToZoom:!0,rotationEnabled:!1},map:this._map,popupEnabled:!1,spatialReference:f.WebMercator,attributionVisible:!1})}destroy(){this.clearImage(),this.media=null,this._imageRenderer.destroy()}initialize(){this.state="initialized",this.addHandles([d(()=>null!=this.media&&this.autoLoad,this._loadWithController,m),h(()=>this.image?.loaded,()=>{this._createImageHandles()}),h(()=>this.imageRotation,()=>{this._rotateImage()}),h(()=>this.imageRenderer.map,(e,t)=>{t?.layers.remove(this._overlays),e?.layers.add(this._overlays)},p),h(()=>this.imageRenderer.map.allLayers.length,e=>{e&&this.imageRenderer.map.layers.reorder(this._overlays,e-1)},m),h(()=>this.clickAction,e=>{this.removeHandles(M.click),"none"!==e&&this.addHandles(this.imageRenderer.on("click",t=>{if(this.image?.loaded&&this.imageRenderer.ready)switch(e){case"emit":t.stopPropagation(),this.emit("click",t);break;case"hittest":t.stopPropagation(),t.defer(async()=>{const e=await this.imageRenderer.hitTest(t.screenPoint,{include:this._overlays});e.results=e.results.filter(e=>"graphic"===e.type),this.emit("hittest-response",e)});break;case"pixel-location":{if(t.stopPropagation(),!this.image?.serviceRasterInfo||!t.mapPoint)return void this.emit("pixel-location",null);const{extent:e,pixelSize:i}=this.image.serviceRasterInfo,r=(t.mapPoint.x-e.xmin)*i.x,a=(e.ymax-t.mapPoint.y)*i.y,s=new y({x:r,y:a,spatialReference:e.spatialReference});this.emit("pixel-location",s);break}}}))},m)])}get brightness(){return this._get("brightness")??0}set brightness(e){this._set("brightness",s(e,-10,10))}get contrast(){return this._get("contrast")??0}set contrast(e){this._set("contrast",s(e,-10,10))}get image(){return this._image}get imagePointsInView(){const{extent:e,ready:t}=this.imageRenderer,i=this.imageRotation,r=this.image?.fullExtent,a=this.image?.serviceRasterInfo,s=!0===this._imageRenderer.allLayerViews.find(({layer:e})=>e===this.image)?.attached;if(!(t&&e&&r&&a&&s))return null;const o=P(_.fromExtent(e),i,e.center.x,e.center.y),n=_.fromExtent(r),l=v(o,n);if(!l)return null;const{rings:h}=l;return h.flat().map(([e,t])=>({x:(e-a.extent.xmin)*a.pixelSize.x,y:(a.extent.ymax-t)*a.pixelSize.y}))}get imageSize(){const{image:e}=this;if(!e?.raster)return null;const{width:t,height:i}=e.raster.rasterInfo;return[t,i]}get imageRenderer(){return this._imageRenderer}get imageView(){return this.imageRenderer.allLayerViews.find(e=>e.layer===this.image)}get sharpness(){return this._get("sharpness")??0}set sharpness(e){this._set("sharpness",s(e,0,1))}get updating(){return this.updatingHandles.updating}_rotateImage(){this.imageRenderer.constraints.rotationEnabled=!0,this.imageRenderer.rotation=this.imageRotation,this.imageRenderer.constraints.rotationEnabled=!1}sharpenImage(e,t){if(!t)return void(e.rasterFunction=null);const i=[0,-1*t,0,-1*t,4*t+1,-1*t,0,-1*t,0],r=new w({functionName:"Convolution",functionArguments:{type:x.userDefined,cols:3,rows:3,kernel:i,convolutionType:x.userDefined}});e.rasterFunction=r}async loadMedia(e,t){this.state="image-loading";const i=this.autoLoad;this.autoLoad=!1;return await this._loadMediaInternal(e,t).finally(()=>{this.autoLoad=i})}};e([c()],L.prototype,"_image",void 0),e([c()],L.prototype,"_imageRenderer",void 0),e([c()],L.prototype,"_loadController",void 0),e([c()],L.prototype,"_overlays",void 0),e([c()],L.prototype,"_map",void 0),e([c({type:Boolean})],L.prototype,"autoLoad",void 0),e([c({type:Number})],L.prototype,"brightness",null),e([c()],L.prototype,"clickAction",void 0),e([c({type:Number})],L.prototype,"contrast",null),e([c({type:Object})],L.prototype,"customParameters",void 0),e([c({type:i})],L.prototype,"error",void 0),e([c({readOnly:!0})],L.prototype,"image",null),e([c({readOnly:!0})],L.prototype,"imagePointsInView",null),e([c({readOnly:!0})],L.prototype,"imageSize",null),e([c({readOnly:!0})],L.prototype,"imageRenderer",null),e([c({type:Number})],L.prototype,"imageRotation",void 0),e([c()],L.prototype,"imageView",null),e([c({type:j})],L.prototype,"media",void 0),e([c({type:Number})],L.prototype,"sharpness",null),e([c()],L.prototype,"state",void 0),e([c()],L.prototype,"updatingHandles",void 0),e([c()],L.prototype,"updating",null),L=e([g("esri.widgets.OrientedImageryViewer.components.ImageViewerViewModel")],L);const E=L;export{E as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../../Graphic.js";import i from"../../../core/Accessor.js";import{createTask as o}from"../../../core/asyncUtils.js";import r from"../../../core/Logger.js";import{throwIfAborted as n,isAbortError as s}from"../../../core/promiseUtils.js";import{watch as a,syncAndInitial as d}from"../../../core/reactiveUtils.js";import{property as l,subclass as c}from"../../../core/accessorSupport/decorators.js";import p from"../../../geometry/Extent.js";import h from"../../../geometry/Multipoint.js";import u from"../../../geometry/Polygon.js";import m from"../../../geometry/Polyline.js";import{projectAsync as V}from"../../../geometry/projectionUtils.js";import{e as v}from"../../../chunks/clipOperator.js";import{e as f}from"../../../chunks/intersectionOperator.js";import{createCoveragePolygon as y}from"../../../layers/orientedImagery/core/coverageUtils.js";import{getResolutionToScaleFactor as w}from"../../../views/2d/viewpointUtils.js";import{fixedImageSize as g,videoSpatialReference as M,sampleExtent as P,videoFitScaleTolerance as O}from"../constants.js";import{diamondSymbol as _,crossSymbol as F}from"../symbols.js";import{registryKeys as S}from"../types.js";import{imageGeometryToVideoMapGeometry as x,pixelToVideoMapPoint as R,geoToPixel as E}from"../videoViewerUtils.js";import{coordinateToPoints as L}from"../support/geometryUtils.js";const[j,C]=g,b=new p({...P,spatialReference:M});function G({x:e,y:t}){return[P.xmin+e/j*(P.xmax-P.xmin),P.ymax-t/C*(P.ymax-P.ymin)]}function I(e){if(e.length<2)return[];const t=new m({paths:[e.map(e=>G(e))],spatialReference:M}),i=v(t,b);return"polyline"===i?.type?i.paths:[]}async function T(e,t,i){let o=y(t.attributes).polygon;e.spatialReference.equals(o.spatialReference)||(o=await V(o,e.spatialReference,i),n(i));const r=f(e,o);return"polyline"===r?.type?r:null}async function H(e,t,i){let o=y(t.attributes).polygon;e.spatialReference.equals(o.spatialReference)||(o=await V(o,e.spatialReference,i),n(i));const r=f(e,o);return"polygon"===r?.type?r:null}let A=class extends i{constructor(e){super(e),this.closestFeature=null,this.currentTime=0,this.videoBrightness=0,this.videoContrast=0,this.videoDuration=void 0,this.videoPaused=null,this.videoScale=void 0,this.videoMuted=null,this._referencePointOnVideo=null,this._selectedPointOnVideo=null,this.enableAudio=()=>{const{videoElement:e}=this.oiViewModel;e?.content&&(e.content.muted=!1,this.videoMuted=!1)},this.playVideoHandler=()=>{const e=this.oiViewModel.videoElement?.content;e&&(e.paused?e.play().catch(e=>{r.getLogger(this).error("error playing video",e)}):e.pause())},this.rewindVideoHandler=()=>{const e=this.oiViewModel.videoElement?.content;e&&(e.currentTime=0,e.play().catch(e=>{r.getLogger(this).error("error playing video",e)}))},this.resetVideoHandler=()=>{const{videoElement:e,videoMapView:t,videoLayer:i}=this.oiViewModel;this.removeHandles(S.videoImageClick),this.closestFeature=null,this.clearReferencePointOnVideo(),this.clearOverlayGraphics(),e?.content&&i&&t&&(e.content.pause(),t.map.layers.remove(i),i.destroy(),this.oiViewModel.videoElement=null)},this.resetVideoEnhancementTools=()=>{this.oiViewModel?.videoLayer&&(this.videoBrightness=0,this.videoContrast=0,this._updateVideoEffect())},this.resetVideoScale=()=>{this.videoScale&&(this.oiViewModel.videoMapView.scale=this.videoScale)},this.toggleAudio=()=>{const{videoElement:e}=this.oiViewModel;if(e?.content){const t=e.content.muted;e.content.muted=!t,this.videoMuted=!t}}}initialize(){this.addHandles([a(()=>this.oiViewModel.videoElement?.content,e=>{if(e instanceof HTMLVideoElement){this._startVideo();const t=async()=>{this.currentTime=Number(e.currentTime.toFixed(2)),e.currentTime&&await this._updateVidFootprint(e.currentTime)};e.addEventListener("timeupdate",t),e.addEventListener("play",()=>this._updateVideoIcon(e.paused)),e.addEventListener("pause",()=>this._pauseVideoHandler(e))}},d),a(()=>this._videoMinResolutionForCurrentView,e=>{null!=e&&this._updateVideoScaleForResize(e)},d),a(()=>this.oiViewModel.layer,(e,t)=>{t&&e&&e.uid!==t.uid&&this.oiViewModel.resetVideo()},d)])}destroy(){this.resetVideoHandler()}_pauseVideoHandler(e){this._updateVideoIcon(e.paused),e.paused&&this.oiViewModel.transformAndPlotSelectedLocation()}get _videoMinResolutionForCurrentView(){const{mode:e,videoMapView:t}=this.oiViewModel;if("video"!==e||!t.ready)return;const{width:i,height:o}=t;return i&&o?Math.max(b.width/i,b.height/o):void 0}_updateVideoScaleForResize(e){const{videoMapView:t}=this.oiViewModel,{constraints:i,scale:o,spatialReference:r}=t,n=i.minScale,s=Math.abs(o-n)<=O,a=w(r)*e;i.set({minScale:a}),this.videoScale=a,t.scale=s?a:o,s&&requestAnimationFrame(()=>{const{extent:e,scale:i,constraints:o}=t;e&&Math.abs(i-o.minScale)<=O&&(this.oiViewModel.initialVideoMapViewExtent=e.clone())})}_setVideoInfo(){const{videoElement:e,videoMapView:t}=this.oiViewModel;e?.content&&(this.videoDuration=e.content.duration,this.videoScale=t.scale)}_startVideo(){try{this.enableAudio(),this._setVideoInfo();const e=this.oiViewModel.currentBestFeature;e&&this.playVideoFromSelectedLocation(e)}catch(e){r.getLogger(this).error("oriented-imagery-viewer:video-load",e)}}async _updateVideoFootprintWithGivenFeature(e,t,i){const{activeViewer:o,mode:a,footprintExtent:d}=this.oiViewModel;if(t&&("video"===a?g:o?.imageSize)&&d)try{const o={points:e,feature:t,undefined:void 0,options:i};await this.oiViewModel.updateVideoFootprint(o),n(i)}catch(l){s(l)||r.getLogger(this).error("update-footprint",l)}else this.oiViewModel.updateCurrentCoveragePolygon(null)}async _updateVidFootprint(e){const t=this.oiViewModel.featureCache.find(t=>t.attributes.offsetFromStart===Math.floor(e));null!=t?.attributes.offsetFromStart&&this.closestFeature!==t&&(this.closestFeature=t,await this._updateVideoFootprintWithGivenFeature(this.oiViewModel.videoExtentPoints,t))}_updateVideoIcon(e){this.videoPaused=!!e,!e&&this.oiViewModel.mapImageConversionToolState&&(this.oiViewModel.setMapImageConversionToolState(!1),this.oiViewModel.plotReferencePointOnGround(null),this.clearReferencePointOnVideo()),e||(this.oiViewModel.clearSelectedPointOnViewer(),this.clearOverlayGraphics())}_updateVideoEffect(){if(!this.oiViewModel?.videoLayer)return;const e=1+this.videoBrightness/10,t=1+this.videoContrast/10;this.oiViewModel.videoLayer.effect=`brightness(${e}) contrast(${t})`}handleVideoBrightnessChange(e){this.oiViewModel?.videoLayer&&(this.videoBrightness=e??0,this._updateVideoEffect())}handleVideoContrastChange(e){this.oiViewModel?.videoLayer&&(this.videoContrast=e??0,this._updateVideoEffect())}playVideoFromSelectedLocation(e){const t=e.attributes.offsetFromStart,i=this.oiViewModel.videoElement?.content;this.closestFeature=e,this.resetVideoScale(),this.clearOverlayGraphics(),i&&null!=t&&(i.currentTime=t,i.play().catch(e=>{r.getLogger(this).error("error playing video",e)}))}addOverlayGraphics(e){this.oiViewModel.videoMapView.graphics.addMany(e)}imageGeometryToOverlayGeometry(e){return x(e)}async geometryToOverlayGeometry(e,t,i){const{footprintExtent:o}=this.oiViewModel;if(!o)return null;const r={feature:t,mode:"video",imageSize:g,footprintExtent:o};switch(e.type){case"point":{const t=await this.oiViewModel.getPixelLocationForFeature(e,r,i);return R(t)}case"polyline":{const o=await T(e,t,i);if(!o)return null;const s=(await Promise.all(o.paths.map(async t=>{const o=t.map(t=>L(t,e.spatialReference)),s=await this.oiViewModel.getPixelLocationsForFeature(o,r,i);return n(i),I(s)}))).flat();return s.length?new m({paths:s,spatialReference:M}):null}case"polygon":{const o=await H(e,t,i);if(!o)return null;const s=await Promise.all(o.rings.map(async t=>{const o=t.map(t=>L(t,e.spatialReference)),s=await this.oiViewModel.getPixelLocationsForFeature(o,r,i);return n(i),s.map(e=>{const t=R(e);return[t.x,t.y]})}));return u.fromJSON({rings:s,spatialReference:M})}case"multipoint":{const t=e.points.map(t=>L(t,e.spatialReference)),o=await this.oiViewModel.getPixelLocationsForFeature(t,r,i);return n(i),h.fromJSON({points:o.map(e=>{const t=R(e);return[t.x,t.y]}),spatialReference:M})}case"extent":{const o=u.fromExtent(e),r=await this.geometryToOverlayGeometry(o,t,i);return r?.extent??null}default:return null}}removeOverlayGraphics(e){this.oiViewModel.videoMapView.graphics.removeMany(e)}clearOverlayGraphics(){const e=Array.from(this.oiViewModel.overlayedMapFeatures.values()).flatMap(e=>e.toArray()),t=this.oiViewModel.videoMapView.graphics.toArray().filter(e=>e!==this._referencePointOnVideo&&e!==this._selectedPointOnVideo),i=Array.from(new Set([...this.oiViewModel.overlayedCameraLocations.toArray(),...e,...t]));i.length&&this.removeOverlayGraphics(i)}syncMapImageConversionHandle(){this.removeHandles(S.videoImageClick);const{currentBestFeature:e,footprintExtent:t,mode:i,mapImageConversionToolState:r,state:s,view:a,videoMapView:d}=this.oiViewModel;if(!r||!0!==this.videoPaused||"video-loaded"!==s||!t||!e)return;let l=null;const c=d.on("click",e=>{if(e.stopPropagation(),e.preventDefault(),!e.mapPoint)return;const r=E(e.mapPoint.x,e.mapPoint.y);this.oiViewModel.plotReferencePointOnImage(r),l?.abort(),l=o(async e=>{const o=this.closestFeature??this.oiViewModel.currentBestFeature;if(!o)return;const s={feature:o,mode:i,imageSize:g,footprintExtent:t};let d=await this.oiViewModel.getMapPointForFeature(r,s,{signal:e});n(e);const l=a?.spatialReference;l&&!d.spatialReference.equals(l)&&(d=await V(d,l),n(e)),this.oiViewModel.plotReferencePointOnGround(d)})});this.addHandles(c,S.videoImageClick)}plotReferencePointOnVideo(e){this.clearReferencePointOnVideo(),this._referencePointOnVideo=new t({geometry:R(e),symbol:_.clone()}),this.oiViewModel.videoMapView.graphics.add(this._referencePointOnVideo)}plotSelectedPointOnVideo(e){return this.clearSelectedPointOnVideo(),this._selectedPointOnVideo=new t({geometry:R(e),symbol:F.clone()}),this.oiViewModel.videoMapView.graphics.add(this._selectedPointOnVideo),this._selectedPointOnVideo}clearReferencePointOnVideo(){this._referencePointOnVideo&&(this.oiViewModel.videoMapView.graphics.remove(this._referencePointOnVideo),this._referencePointOnVideo.destroy(),this._referencePointOnVideo=null)}clearSelectedPointOnVideo(){this._selectedPointOnVideo&&(this.oiViewModel.videoMapView.graphics.remove(this._selectedPointOnVideo),this._selectedPointOnVideo.destroy(),this._selectedPointOnVideo=null)}};e([l()],A.prototype,"closestFeature",void 0),e([l()],A.prototype,"currentTime",void 0),e([l()],A.prototype,"oiViewModel",void 0),e([l({type:Number})],A.prototype,"videoBrightness",void 0),e([l({type:Number})],A.prototype,"videoContrast",void 0),e([l()],A.prototype,"videoDuration",void 0),e([l()],A.prototype,"videoPaused",void 0),e([l()],A.prototype,"videoScale",void 0),e([l()],A.prototype,"videoMuted",void 0),e([l()],A.prototype,"_referencePointOnVideo",void 0),e([l()],A.prototype,"_selectedPointOnVideo",void 0),e([l()],A.prototype,"_videoMinResolutionForCurrentView",null),A=e([c("esri.widgets.OrientedImageryViewer.components.OrientedImageryVideoViewModel")],A);const B=A;export{B as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../../Graphic.js";import i from"../../../core/Accessor.js";import{createTask as o}from"../../../core/asyncUtils.js";import r from"../../../core/Logger.js";import{throwIfAborted as n,isAbortError as s}from"../../../core/promiseUtils.js";import{watch as a,syncAndInitial as d}from"../../../core/reactiveUtils.js";import{property as l,subclass as c}from"../../../core/accessorSupport/decorators.js";import p from"../../../geometry/Extent.js";import h from"../../../geometry/Multipoint.js";import u from"../../../geometry/Polygon.js";import m from"../../../geometry/Polyline.js";import{projectAsync as V}from"../../../geometry/projectionUtils.js";import{execute as v}from"../../../geometry/operators/clipOperator.js";import{execute as f}from"../../../geometry/operators/intersectionOperator.js";import{createCoveragePolygon as y}from"../../../layers/orientedImagery/core/coverageUtils.js";import{getResolutionToScaleFactor as w}from"../../../views/2d/viewpointUtils.js";import{fixedImageSize as g,videoSpatialReference as M,sampleExtent as P,videoFitScaleTolerance as O}from"../constants.js";import{diamondSymbol as _,crossSymbol as F}from"../symbols.js";import{registryKeys as S}from"../types.js";import{imageGeometryToVideoMapGeometry as x,pixelToVideoMapPoint as R,geoToPixel as E}from"../videoViewerUtils.js";import{coordinateToPoints as L}from"../support/geometryUtils.js";const[j,C]=g,b=new p({...P,spatialReference:M});function G({x:e,y:t}){return[P.xmin+e/j*(P.xmax-P.xmin),P.ymax-t/C*(P.ymax-P.ymin)]}function I(e){if(e.length<2)return[];const t=new m({paths:[e.map(e=>G(e))],spatialReference:M}),i=v(t,b);return"polyline"===i?.type?i.paths:[]}async function T(e,t,i){let o=y(t.attributes).polygon;e.spatialReference.equals(o.spatialReference)||(o=await V(o,e.spatialReference,i),n(i));const r=f(e,o);return"polyline"===r?.type?r:null}async function H(e,t,i){let o=y(t.attributes).polygon;e.spatialReference.equals(o.spatialReference)||(o=await V(o,e.spatialReference,i),n(i));const r=f(e,o);return"polygon"===r?.type?r:null}let A=class extends i{constructor(e){super(e),this.closestFeature=null,this.currentTime=0,this.videoBrightness=0,this.videoContrast=0,this.videoDuration=void 0,this.videoPaused=null,this.videoScale=void 0,this.videoMuted=null,this._referencePointOnVideo=null,this._selectedPointOnVideo=null,this.enableAudio=()=>{const{videoElement:e}=this.oiViewModel;e?.content&&(e.content.muted=!1,this.videoMuted=!1)},this.playVideoHandler=()=>{const e=this.oiViewModel.videoElement?.content;e&&(e.paused?e.play().catch(e=>{r.getLogger(this).error("error playing video",e)}):e.pause())},this.rewindVideoHandler=()=>{const e=this.oiViewModel.videoElement?.content;e&&(e.currentTime=0,e.play().catch(e=>{r.getLogger(this).error("error playing video",e)}))},this.resetVideoHandler=()=>{const{videoElement:e,videoMapView:t,videoLayer:i}=this.oiViewModel;this.removeHandles(S.videoImageClick),this.closestFeature=null,this.clearReferencePointOnVideo(),this.clearOverlayGraphics(),e?.content&&i&&t&&(e.content.pause(),t.map.layers.remove(i),i.destroy(),this.oiViewModel.videoElement=null)},this.resetVideoEnhancementTools=()=>{this.oiViewModel?.videoLayer&&(this.videoBrightness=0,this.videoContrast=0,this._updateVideoEffect())},this.resetVideoScale=()=>{this.videoScale&&(this.oiViewModel.videoMapView.scale=this.videoScale)},this.toggleAudio=()=>{const{videoElement:e}=this.oiViewModel;if(e?.content){const t=e.content.muted;e.content.muted=!t,this.videoMuted=!t}}}initialize(){this.addHandles([a(()=>this.oiViewModel.videoElement?.content,e=>{if(e instanceof HTMLVideoElement){this._startVideo();const t=async()=>{this.currentTime=Number(e.currentTime.toFixed(2)),e.currentTime&&await this._updateVidFootprint(e.currentTime)};e.addEventListener("timeupdate",t),e.addEventListener("play",()=>this._updateVideoIcon(e.paused)),e.addEventListener("pause",()=>this._pauseVideoHandler(e))}},d),a(()=>this._videoMinResolutionForCurrentView,e=>{null!=e&&this._updateVideoScaleForResize(e)},d),a(()=>this.oiViewModel.layer,(e,t)=>{t&&e&&e.uid!==t.uid&&this.oiViewModel.resetVideo()},d)])}destroy(){this.resetVideoHandler()}_pauseVideoHandler(e){this._updateVideoIcon(e.paused),e.paused&&this.oiViewModel.transformAndPlotSelectedLocation()}get _videoMinResolutionForCurrentView(){const{mode:e,videoMapView:t}=this.oiViewModel;if("video"!==e||!t.ready)return;const{width:i,height:o}=t;return i&&o?Math.max(b.width/i,b.height/o):void 0}_updateVideoScaleForResize(e){const{videoMapView:t}=this.oiViewModel,{constraints:i,scale:o,spatialReference:r}=t,n=i.minScale,s=Math.abs(o-n)<=O,a=w(r)*e;i.set({minScale:a}),this.videoScale=a,t.scale=s?a:o,s&&requestAnimationFrame(()=>{const{extent:e,scale:i,constraints:o}=t;e&&Math.abs(i-o.minScale)<=O&&(this.oiViewModel.initialVideoMapViewExtent=e.clone())})}_setVideoInfo(){const{videoElement:e,videoMapView:t}=this.oiViewModel;e?.content&&(this.videoDuration=e.content.duration,this.videoScale=t.scale)}_startVideo(){try{this.enableAudio(),this._setVideoInfo();const e=this.oiViewModel.currentBestFeature;e&&this.playVideoFromSelectedLocation(e)}catch(e){r.getLogger(this).error("oriented-imagery-viewer:video-load",e)}}async _updateVideoFootprintWithGivenFeature(e,t,i){const{activeViewer:o,mode:a,footprintExtent:d}=this.oiViewModel;if(t&&("video"===a?g:o?.imageSize)&&d)try{const o={points:e,feature:t,undefined:void 0,options:i};await this.oiViewModel.updateVideoFootprint(o),n(i)}catch(l){s(l)||r.getLogger(this).error("update-footprint",l)}else this.oiViewModel.updateCurrentCoveragePolygon(null)}async _updateVidFootprint(e){const t=this.oiViewModel.featureCache.find(t=>t.attributes.offsetFromStart===Math.floor(e));null!=t?.attributes.offsetFromStart&&this.closestFeature!==t&&(this.closestFeature=t,await this._updateVideoFootprintWithGivenFeature(this.oiViewModel.videoExtentPoints,t))}_updateVideoIcon(e){this.videoPaused=!!e,!e&&this.oiViewModel.mapImageConversionToolState&&(this.oiViewModel.setMapImageConversionToolState(!1),this.oiViewModel.plotReferencePointOnGround(null),this.clearReferencePointOnVideo()),e||(this.oiViewModel.clearSelectedPointOnViewer(),this.clearOverlayGraphics())}_updateVideoEffect(){if(!this.oiViewModel?.videoLayer)return;const e=1+this.videoBrightness/10,t=1+this.videoContrast/10;this.oiViewModel.videoLayer.effect=`brightness(${e}) contrast(${t})`}handleVideoBrightnessChange(e){this.oiViewModel?.videoLayer&&(this.videoBrightness=e??0,this._updateVideoEffect())}handleVideoContrastChange(e){this.oiViewModel?.videoLayer&&(this.videoContrast=e??0,this._updateVideoEffect())}playVideoFromSelectedLocation(e){const t=e.attributes.offsetFromStart,i=this.oiViewModel.videoElement?.content;this.closestFeature=e,this.resetVideoScale(),this.clearOverlayGraphics(),i&&null!=t&&(i.currentTime=t,i.play().catch(e=>{r.getLogger(this).error("error playing video",e)}))}addOverlayGraphics(e){this.oiViewModel.videoMapView.graphics.addMany(e)}imageGeometryToOverlayGeometry(e){return x(e)}async geometryToOverlayGeometry(e,t,i){const{footprintExtent:o}=this.oiViewModel;if(!o)return null;const r={feature:t,mode:"video",imageSize:g,footprintExtent:o};switch(e.type){case"point":{const t=await this.oiViewModel.getPixelLocationForFeature(e,r,i);return R(t)}case"polyline":{const o=await T(e,t,i);if(!o)return null;const s=(await Promise.all(o.paths.map(async t=>{const o=t.map(t=>L(t,e.spatialReference)),s=await this.oiViewModel.getPixelLocationsForFeature(o,r,i);return n(i),I(s)}))).flat();return s.length?new m({paths:s,spatialReference:M}):null}case"polygon":{const o=await H(e,t,i);if(!o)return null;const s=await Promise.all(o.rings.map(async t=>{const o=t.map(t=>L(t,e.spatialReference)),s=await this.oiViewModel.getPixelLocationsForFeature(o,r,i);return n(i),s.map(e=>{const t=R(e);return[t.x,t.y]})}));return u.fromJSON({rings:s,spatialReference:M})}case"multipoint":{const t=e.points.map(t=>L(t,e.spatialReference)),o=await this.oiViewModel.getPixelLocationsForFeature(t,r,i);return n(i),h.fromJSON({points:o.map(e=>{const t=R(e);return[t.x,t.y]}),spatialReference:M})}case"extent":{const o=u.fromExtent(e),r=await this.geometryToOverlayGeometry(o,t,i);return r?.extent??null}default:return null}}removeOverlayGraphics(e){this.oiViewModel.videoMapView.graphics.removeMany(e)}clearOverlayGraphics(){const e=Array.from(this.oiViewModel.overlayedMapFeatures.values()).flatMap(e=>e.toArray()),t=this.oiViewModel.videoMapView.graphics.toArray().filter(e=>e!==this._referencePointOnVideo&&e!==this._selectedPointOnVideo),i=Array.from(new Set([...this.oiViewModel.overlayedCameraLocations.toArray(),...e,...t]));i.length&&this.removeOverlayGraphics(i)}syncMapImageConversionHandle(){this.removeHandles(S.videoImageClick);const{currentBestFeature:e,footprintExtent:t,mode:i,mapImageConversionToolState:r,state:s,view:a,videoMapView:d}=this.oiViewModel;if(!r||!0!==this.videoPaused||"video-loaded"!==s||!t||!e)return;let l=null;const c=d.on("click",e=>{if(e.stopPropagation(),e.preventDefault(),!e.mapPoint)return;const r=E(e.mapPoint.x,e.mapPoint.y);this.oiViewModel.plotReferencePointOnImage(r),l?.abort(),l=o(async e=>{const o=this.closestFeature??this.oiViewModel.currentBestFeature;if(!o)return;const s={feature:o,mode:i,imageSize:g,footprintExtent:t};let d=await this.oiViewModel.getMapPointForFeature(r,s,{signal:e});n(e);const l=a?.spatialReference;l&&!d.spatialReference.equals(l)&&(d=await V(d,l),n(e)),this.oiViewModel.plotReferencePointOnGround(d)})});this.addHandles(c,S.videoImageClick)}plotReferencePointOnVideo(e){this.clearReferencePointOnVideo(),this._referencePointOnVideo=new t({geometry:R(e),symbol:_.clone()}),this.oiViewModel.videoMapView.graphics.add(this._referencePointOnVideo)}plotSelectedPointOnVideo(e){return this.clearSelectedPointOnVideo(),this._selectedPointOnVideo=new t({geometry:R(e),symbol:F.clone()}),this.oiViewModel.videoMapView.graphics.add(this._selectedPointOnVideo),this._selectedPointOnVideo}clearReferencePointOnVideo(){this._referencePointOnVideo&&(this.oiViewModel.videoMapView.graphics.remove(this._referencePointOnVideo),this._referencePointOnVideo.destroy(),this._referencePointOnVideo=null)}clearSelectedPointOnVideo(){this._selectedPointOnVideo&&(this.oiViewModel.videoMapView.graphics.remove(this._selectedPointOnVideo),this._selectedPointOnVideo.destroy(),this._selectedPointOnVideo=null)}};e([l()],A.prototype,"closestFeature",void 0),e([l()],A.prototype,"currentTime",void 0),e([l()],A.prototype,"oiViewModel",void 0),e([l({type:Number})],A.prototype,"videoBrightness",void 0),e([l({type:Number})],A.prototype,"videoContrast",void 0),e([l()],A.prototype,"videoDuration",void 0),e([l()],A.prototype,"videoPaused",void 0),e([l()],A.prototype,"videoScale",void 0),e([l()],A.prototype,"videoMuted",void 0),e([l()],A.prototype,"_referencePointOnVideo",void 0),e([l()],A.prototype,"_selectedPointOnVideo",void 0),e([l()],A.prototype,"_videoMinResolutionForCurrentView",null),A=e([c("esri.widgets.OrientedImageryViewer.components.OrientedImageryVideoViewModel")],A);const B=A;export{B as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{rad2deg as e}from"../../core/mathUtils.js";import{throwIfAborted as t}from"../../core/promiseUtils.js";import{createArea as n,createLength as r}from"../../core/quantity.js";import{formatArea as a,formatLength as o}from"../../core/quantityFormatUtils.js";import{set as i,determinant as c}from"../../core/libs/gl-matrix-2/math/mat3.js";import{create as s}from"../../core/libs/gl-matrix-2/factories/mat3f64.js";import{zeros as l}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as u}from"../../core/libs/gl-matrix-2/math/vec2.js";import{set as f,cross as m}from"../../core/libs/gl-matrix-2/math/vec3.js";import{isSupported as p,geodesicLengths as h,geodesicAreas as y}from"../../geometry/geodesicUtils.js";import g from"../../geometry/Point.js";import w from"../../geometry/Polygon.js";import x from"../../geometry/Polyline.js";import{projectAsync as v,project as R}from"../../geometry/projectionUtils.js";import d from"../../geometry/SpatialReference.js";import{e as M}from"../../chunks/areaOperator.js";import{l as P,e as z}from"../../chunks/geodeticAreaOperator.js";import{l as j,e as b}from"../../chunks/geodeticDensifyOperator.js";import{l as E,e as S}from"../../chunks/geodeticLengthOperator.js";import{e as L}from"../../chunks/lengthOperator.js";import{e as O}from"../../chunks/simplifyOperator.js";import{imageToWorldPanoramic as W,imageToWorld as I}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{getImageToWorldPanoramicProperties as q,getUpdateElevationProps as G,convertSphereVertexToPixelLocation as k,getImageToWorldProperties as A}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as D,worldToImage as U}from"../../layers/orientedImagery/transformations/worldToImage.js";const B=1e5,H="meters",F="square-meters";function T(e,t){let n=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function V(e,t){let n=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function C(e,t,n){if(!e?.length||!t?.length||!n)return;const[r,a]=e,[,o]=t,i=o-a;return[r+i*Math.cos(n),a+i*Math.sin(n)]}async function J(e,t,n){if(await j(),p(e)){const e=h([t],H)[0];return{area:y([n],F)[0],perimeter:e}}const r=d.WGS84,a=R(t,r),o=R(n,r);let i=b(o,B);if(i=i?O(i):null,!i)return null;const c=h([a],H)[0];return{area:y([i],F)[0],perimeter:c}}function K(e,t,n=1){const r=we(e,!1);if(!r?.length)return;return 20*u([r[0].x,r[0].y],[r.at(-1).x,r.at(-1).y])*n/t}async function N(e){await E();const t=e.spatialReference;if(t.isGeographic){if(p(t))return h([e],H)[0];const n=R(e,d.WGS84);return h([n],H)[0]}return t.isWebMercator?S(e,{unit:H}):L(e,{unit:H})}function Q(e){if(!e?.length)throw new Error("Invalid deviations array");const[t,n,r]=[0,1,2].map(t=>e.map(e=>e[t]).filter(e=>null!==e)).map(e=>e.length?Pe(e):0);return[t,n,r]}function X(e,t){const n=O(t);if(!n)return null;const r=L(e,{unit:H});return{area:M(n,{unit:F}),perimeter:r}}function Y(e,t){return[(e[1][0]-e[0][0])/t,(e[1][1]-e[0][1])/t,(e[1][2]-e[0][2])/t]}async function Z(e,t){await Promise.all([P(),j(),E()]);let n=b(t,B);if(n=n?O(n):null,!n)return null;const r=S(e,{unit:H});return{area:z(n,{unit:F}),perimeter:r}}async function $(e,n,r){if(!n||!e)throw new Error("Missing required parameters");const a=await I(e,n);t(r);const o=a.clone();o.z?o.z+=20:o.z=20;const{averageElevation:i,cameraPitch:c,cameraRoll:s,farDistance:l,...u}=n;return U(o,u)}async function _(e,n,r,a){const{attributes:o}=r,{location:i}=o,{updateElevationProps:c,...s}=n;if(!e||!n)throw new Error("Missing parameters");let l=i.clone();l.spatialReference.isGeographic&&(l=await v(l,d.WebMercator));const u=await W(e,{...s,cameraLocation:l},c);t(a);const f=u.clone();return f.z?f.z+=20:f.z=20,D(f,s)}function ee(e,t,n,r,a=0,o=1,i){const{averageElevation:c,cameraPitch:s,cameraRoll:l,farDistance:f,...m}=r;if(a>=5||o<=.1){return{value:e*Ee(r.cameraLocation.spatialReference)}}const p=new g({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:r.cameraLocation.spatialReference}),h=U(p,m),y=u([n[0].x,n[0].y],[h.x,h.y]),w=n.at(0),x=n.at(-1);if(!w||!x)return null;const v=u([w.x,w.y],[x.x,x.y])*e/y;return ee(v,t,n,r,a+1,Math.abs(e-v))}function te(e,t,n,r,a=0,o=1,i){const{averageElevation:c,horizontalFieldOfView:s,verticalFieldOfView:l,farDistance:f,...m}=r;if(a>=5||o<=.1){return{value:e*Ee(r.cameraLocation.spatialReference)}}const p=new g({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:r.cameraLocation.spatialReference}),h=D(p,m),y=u([n[0].x,n[0].y],[h.x,h.y]),w=n.at(0),x=n.at(-1);if(!w||!x)return null;const v=u([w.x,w.y],[x.x,x.y])*e/y;return te(v,t,n,r,a+1,Math.abs(e-v))}async function ne(e,t,n){return e.spatialReference&&!t.spatialReference.equals(e.spatialReference)&&(t=await v(t,e.spatialReference)),new x({paths:[[[e.x,e.y,e.z??0],[t.x,t.y,t.z??0]]],spatialReference:n})}function re(e){return 1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*e/6378137)))}function ae(e,t){return Math.sqrt((Math.sqrt((e[0][0]-e[1][0])**2+(e[0][1]-e[1][1])**2)/t)**2+(e[0][2]-e[1][2])**2)}function oe(e,t){return Math.sqrt((e[0][0]-e[1][0])**2+(e[0][1]-e[1][1])**2)/t}function ie(t){return e(Math.atan((t[1][2]-t[0][2])/Math.sqrt((t[1][0]-t[0][0])**2+(t[1][1]-t[0][1])**2)))}function ce(t){let n=90-e(Math.atan2(t[1][1]-t[0][1],t[1][0]-t[0][0]));return n<0&&(n+=360),n}function se(e,t){return new g({x:(e.pointOnA[0]+e.pointOnB[0])/2,y:(e.pointOnA[1]+e.pointOnB[1])/2,z:(e.pointOnA[2]+e.pointOnB[2])/2,spatialReference:t})}async function le(e){if(2===e?.length){const t=[];let n=1;const[r,a]=e,o=r.camera.spatialReference,{measurePoints:i}=r;for(let e=0;e<i.length;e++){const i=await ne(r.camera,r.measurePoints[e],o),c=await ne(a.camera,a.measurePoints[e],o),s=await Ue(i,c);if(!s)return null;const l=se(s,o);l.spatialReference.isWebMercator&&(n=re(l.y)),t.push([l.x,l.y,l.z??0])}if(t?.length>1){return{distance:ae(t,n),horizontalDistance:oe(t,n),verticalDistance:Math.abs(t[0][2]-t[1][2]),slope:ie(t),aspect:ce(t)}}}return null}async function ue(e){const t=e[0].camera.spatialReference;if(2!==e?.length)return null;const[n,r]=e,{camera:a,measurePoints:o}=n,{camera:i,measurePoints:c}=r,s=await ne(a,o[0],t),l=await ne(i,c[0],t),u=await Ue(s,l);return u?se(u,t)??null:null}async function fe(e,t){if(!e?.length)return null;const n=[],r=e[0],a=e[1],o=r.camera.spatialReference,{measurePoints:i}=r;for(let u=0;u<i.length;u++){const e=await ne(r.camera,r.measurePoints[u],o),t=await ne(a.camera,a.measurePoints[u],o),i=await Ue(e,t);if(!i)return null;const c=se(i,o);n.push([c.x,c.y,c.z??0])}if(n?.length<2)return null;const c=new x({paths:[n],spatialReference:t}),s=new w({rings:[n],spatialReference:t});if(t.isGeographic){const e=await J(t,c,s);return e?.area??null}if(t.isWebMercator){const e=await Z(c,s);return e?.area??null}const l=X(c,s);return l?.area??null}function me(e,t){if(!e)return null;return{camera:t.geometry.clone(),measurePoints:Array.isArray(e)?e:[e]}}async function pe(e,t){const{updateElevationProps:n,...r}=t;return await I(e,r,n)}async function he(e,t){const{updateElevationProps:n,...r}=t;return W(e,r,n)}function ye(e){navigator.clipboard.writeText(e).catch(e=>{throw e})}function ge(e){const t=e.map(e=>[e.x,e.y]),n=e[0].spatialReference;return new x({paths:[t],spatialReference:n})}function we(e,t){return e.map(e=>({x:t?.5+e[0]:e[0],y:t?.5-e[1]:e[1]}))}function xe(e,t,n,a,i){const c="measurement"===e?t:n;if(i&&c)return o(a,r(c,H),i,3)||null}function ve(e,t){const{cameraPitch:n,cameraRoll:r,cameraLocation:a}=e,{x:o,y:i,z:c,spatialReference:s}=a;if(t.every(e=>0===e)||!t||!t.length||!s)throw new Error("Invalid parameters");const[l,u,,f,m]=t,p=[-f,0,f],h=[-m,0,m],y=[-l,0,l],g=[-u,0,u],w=[];for(const x of p)for(const t of h)for(const a of y)for(const l of y)for(const u of g){const f={...e};f.cameraPitch=n+x,f.cameraRoll=r+t,f.cameraLocation={x:o+a,y:i+l,z:c?c+u:0,spatialReference:{wkid:s.wkid}},w.push(f)}return w}function Re(e,t){const{cameraHeading:n,cameraLocation:r}=e,{x:a,y:o,z:i,spatialReference:c}=r;if(!t||t.every(e=>0===e)||!t.length||!c)throw new Error("Invalid parameters");const[s,l,u]=t,f=u>0?[-u,0,u]:[],m=s>0?[-s,0,s]:[],p=l>0?[-l,0,l]:[],h=[];for(const y of f)for(const t of m)for(const r of m)for(const s of p){const l={...e};l.cameraHeading=n+y,l.cameraLocation={x:a+t,y:o+r,z:i?i+s:0,spatialReference:{wkid:c.wkid}},h.push(l)}return h}function de(e,t,n,a,i){const c="measurement"===e?t:Pe(n);if(i&&c)return o(a,r(c,H),i,3)||null}function Me(e,t,r,o,i){const c="measurement"===e?t:r;if(i&&c)return a(o,n(c,F),i,3)||null}function Pe(e){return Math.sqrt(e.reduce((e,t)=>e+t**2,0))}function ze(e,t,n){if(!e||!t)return;const{elevationSample:r,attributes:a}=e,{elevationSource:o,cameraHeight:i}=a,c=A(a,t[0],t[1]);let s=c.cameraLocation;return(s.spatialReference.isGeographic?v(s,d.WebMercator):Promise.resolve(s)).then(e=>(s=e,G(s.spatialReference,s.z??0,i,{elevationSample:r,elevationSource:o,extent:n}))).then(t=>("elevationSample"in t&&(e.elevationSample=t.elevationSample),{...c,cameraLocation:s,updateElevationProps:t}))}function je(e,t,n){if(!e||!t)return;const{elevationSample:r,attributes:a}=e,{elevationSource:o,cameraHeight:i}=a,c=q(a,t[0],t[1]);let s=c.cameraLocation;return(s.spatialReference.isGeographic?v(s,d.WebMercator):Promise.resolve(s)).then(e=>(s=e,G(s.spatialReference,s.z??0,i,{elevationSample:r,elevationSource:o,extent:n}))).then(t=>("elevationSample"in t&&(e.elevationSample=t.elevationSample),{...c,cameraLocation:s,updateElevationProps:t}))}function be(e,t,n){if("default"===t)return e;const r={x:e[0],y:e[1],z:e[2]},a=k(r,n[0],n[1]);return[a.x,a.y]}function Ee(e){return e.metersPerUnit}function Se(e,t,n,r){let a=[];return a="panoramic"===t?e.map(([e,t,a])=>{const{x:o,y:i}=k({x:e,y:t,z:a},n[0],n[1],r);return[o-.5,-.5-i]}):e.map(([e,t])=>[e-.5,-.5-t]),a}function Le(e,t,n){return e.map(e=>k({x:e[0],y:e[1],z:e[2]},t[0],t[1],n))}async function Oe(e,n,r,a=!1,o=!1,i){if(!e||!n||e.length<2)return null;const c=we(e,a);if(!c||c.length<2)return null;const[s,l]=[c[0],c.at(-1)];if(!l)return null;const f=[s],m=await I(s,n);t(i);const p=m.clone();p.z?p.z+=20:p.z=20;const{averageElevation:h,cameraPitch:y,cameraRoll:g,farDistance:w,...x}=n,v=U(p,x),R=u([s.x,s.y],[v.x,v.y]),d=T(s,v);if(!d)return;const M=C([s.x,s.y],[l.x,l.y],d);if(!M?.length)return;f.push({x:M[0],y:M[1]});const P=20*u([f[0].x,f[0].y],[f[1].x,f[1].y])*Ee(n.cameraLocation.spatialReference)/R;if(!o)return P;const z=ee(P,m,f,n,0,1);return z?.value}async function We(e,n,r,a,o=!1,i=!1,c){const{attributes:s}=a,{location:l}=s,{updateElevationProps:f,...m}=n;if(!e||!n||e.length<2)throw new Error("Invalid parameters");const p=we(e,o),[h,y]=[p[0],p.at(-1)],g=[h];let w=l.clone();w.spatialReference.isGeographic&&(w=await v(w,d.WebMercator));const x=await W(h,{...m,cameraLocation:w},f);t(c);const R=x.clone();R.z?R.z+=20:R.z=20;const M=D(R,m),P=u([h.x,h.y],[M.x,M.y]),z=T(h,M);if(!z)return;const j=C([h.x,h.y],[y.x,y.y],z);if(!j?.length)return;g.push({x:j[0],y:j[1]});const b=20*u([g[0].x,g[0].y],[g[1].x,g[1].y])*Ee(n.cameraLocation.spatialReference)/P;if(!i)return b;const E=te(b,x,g,n,0,1);return E?.value}async function Ie(e,t,n){const{updateElevationProps:r,...a}=t,{updateElevationProps:o,...i}=n,c=await I(e,a,r);return U(c,i)}async function qe(e,t,n){const{updateElevationProps:r,...a}=t,{updateElevationProps:o,...i}=n,c=await W(e,a,r);return D(c,i)}async function Ge(e,t,n=!1){if(e.length<3)return null;const r=we(e,n),a=await pe(r,t),o=a.map(({x:e,y:t})=>[e,t]);e.push(e[0]),o.push(o[0]);const i=a[0].spatialReference,c=new x({paths:[o],spatialReference:i}),s=new w({rings:[o],spatialReference:i});return i.isGeographic?J(i,c,s):i.isWebMercator?Z(c,s):X(c,s)}async function ke(e,n,r=!1,a){if(e.length<3)return null;const o=we(e,r),i=await he(o,n);t(a);const c=i.map(({x:e,y:t})=>[e,t]);e.push(e[0]),c.push(c[0]);const s=i[0].spatialReference,l=new x({paths:[c],spatialReference:s}),u=new w({rings:[c],spatialReference:s});return s.isGeographic?J(s,l,u):s.isWebMercator?Z(l,u):X(l,u)}async function Ae(e,t,n=!1){const r=we(e,n);return N(ge(await pe(r,t)))}async function De(e,n,r=!1,a){const o=we(e,r),i=await he(o,n);t(a);return N(ge(i))}async function Ue(e,t){const n=s(),r=e.paths[0][0],a=t.paths[0][0];let o,l;e.spatialReference.isWGS84||e.spatialReference.isWebMercator?(await E(),o=S(e),l=S(t)):(o=L(e),l=L(t));const u=Y(e.paths[0],o),f=Y(t.paths[0],l),m=Be(u,f),[p,h,y]=u,[g,w,x]=f.map(e=>-e),[v,R,d]=m,[M,P,z]=[a[0]-r[0],a[1]-r[1],a[2]-r[2]];i(n,p,g,v,h,w,R,y,x,d);const j=c(n);if(0===j)return null;i(n,M,g,v,P,w,R,z,x,d);const b=c(n);i(n,p,M,v,h,P,R,y,z,d);const O=c(n);i(n,p,g,M,h,w,P,y,x,z);const W=b/j,I=O/j,q=c(n)/j;return{distance:Math.abs(q/Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2])),pointOnA:He(r,W,u),pointOnB:He(a,I,f)}}function Be(e,t){const n=l(),r=f(l(),e[0],e[1],e[2]),a=f(l(),t[0],t[1],t[2]),o=m(n,r,a);return[o[0],o[1],o[2]]}function He(e,t,n){return[e[0]+t*n[0],e[1]+t*n[1],e[2]+t*n[2]]}export{T as calculateAngle,V as calculateAnglePano,C as calculateCorrectedPixel,K as calculateHeightFromTemporaryDistance,Q as calculateLocationAccuracyFromDeviations,_ as calculateReferenceImagePointPanoramic,$ as calculateTempImagePoint,re as calculateUpdatedWmsf,ee as computeHeightIteratively,te as computeHeightIterativelyPanoramic,fe as computeTriangulatedAreaMeasurement,le as computeTriangulatedDistanceMeasurement,ue as computeTriangulatedPoint,me as computeTriangulatedVector,ye as copyToClipboard,we as formatPixels,ve as generateCombinations,Re as generateCombinationsPanoramic,Me as getConvertedArea,de as getConvertedDistance,xe as getConvertedHeight,ze as getMeasurementProperties,je as getMeasurementPropertiesPanoramic,be as getModeCorrectedPoint,Se as getModeCorrectedPoints,Le as getPixelLocationFromSphereVertices,Pe as getRootOfSumOfSquaredErrors,Ee as getUnitRateFromSpatialReference,Oe as heightMeasurement2D,We as heightMeasurementPanoramic,Ie as imageToImageTransform,qe as imageToImageTransformPanoramic,Ge as pixelAreaMeasurement2D,ke as pixelAreaMeasurementPanoramic,Ae as pixelDistanceMeasurement2D,De as pixelDistanceMeasurementPanoramic,Ue as solveSkewLinesIntersection};
|
|
2
|
+
import{rad2deg as e}from"../../core/mathUtils.js";import{throwIfAborted as t}from"../../core/promiseUtils.js";import{createArea as n,createLength as r}from"../../core/quantity.js";import{formatArea as a,formatLength as o}from"../../core/quantityFormatUtils.js";import{set as i,determinant as c}from"../../core/libs/gl-matrix-2/math/mat3.js";import{create as s}from"../../core/libs/gl-matrix-2/factories/mat3f64.js";import{zeros as l}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as u}from"../../core/libs/gl-matrix-2/math/vec2.js";import{set as f,cross as m}from"../../core/libs/gl-matrix-2/math/vec3.js";import{isSupported as p,geodesicLengths as y,geodesicAreas as h}from"../../geometry/geodesicUtils.js";import g from"../../geometry/Point.js";import x from"../../geometry/Polygon.js";import w from"../../geometry/Polyline.js";import{projectAsync as v,project as R}from"../../geometry/projectionUtils.js";import d from"../../geometry/SpatialReference.js";import{execute as M}from"../../geometry/operators/areaOperator.js";import{load as P,execute as z}from"../../geometry/operators/geodeticAreaOperator.js";import{load as j,execute as b}from"../../geometry/operators/geodeticDensifyOperator.js";import{load as E,execute as S}from"../../geometry/operators/geodeticLengthOperator.js";import{execute as L}from"../../geometry/operators/lengthOperator.js";import{execute as O}from"../../geometry/operators/simplifyOperator.js";import{imageToWorldPanoramic as W,imageToWorld as I}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{getImageToWorldPanoramicProperties as q,getUpdateElevationProps as G,convertSphereVertexToPixelLocation as A,getImageToWorldProperties as D}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as U,worldToImage as k}from"../../layers/orientedImagery/transformations/worldToImage.js";const B=1e5,H="meters",F="square-meters";function T(e,t){let n=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function V(e,t){let n=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function C(e,t,n){if(!e?.length||!t?.length||!n)return;const[r,a]=e,[,o]=t,i=o-a;return[r+i*Math.cos(n),a+i*Math.sin(n)]}async function J(e,t,n){if(await j(),p(e)){const e=y([t],H)[0];return{area:h([n],F)[0],perimeter:e}}const r=d.WGS84,a=R(t,r),o=R(n,r);let i=b(o,B);if(i=i?O(i):null,!i)return null;const c=y([a],H)[0];return{area:h([i],F)[0],perimeter:c}}function K(e,t,n=1){const r=xe(e,!1);if(!r?.length)return;return 20*u([r[0].x,r[0].y],[r.at(-1).x,r.at(-1).y])*n/t}async function N(e){await E();const t=e.spatialReference;if(t.isGeographic){if(p(t))return y([e],H)[0];const n=R(e,d.WGS84);return y([n],H)[0]}return t.isWebMercator?S(e,{unit:H}):L(e,{unit:H})}function Q(e){if(!e?.length)throw new Error("Invalid deviations array");const[t,n,r]=[0,1,2].map(t=>e.map(e=>e[t]).filter(e=>null!==e)).map(e=>e.length?Pe(e):0);return[t,n,r]}function X(e,t){const n=O(t);if(!n)return null;const r=L(e,{unit:H});return{area:M(n,{unit:F}),perimeter:r}}function Y(e,t){return[(e[1][0]-e[0][0])/t,(e[1][1]-e[0][1])/t,(e[1][2]-e[0][2])/t]}async function Z(e,t){await Promise.all([P(),j(),E()]);let n=b(t,B);if(n=n?O(n):null,!n)return null;const r=S(e,{unit:H});return{area:z(n,{unit:F}),perimeter:r}}async function $(e,n,r){if(!n||!e)throw new Error("Missing required parameters");const a=await I(e,n);t(r);const o=a.clone();o.z?o.z+=20:o.z=20;const{averageElevation:i,cameraPitch:c,cameraRoll:s,farDistance:l,...u}=n;return k(o,u)}async function _(e,n,r,a){const{attributes:o}=r,{location:i}=o,{updateElevationProps:c,...s}=n;if(!e||!n)throw new Error("Missing parameters");let l=i.clone();l.spatialReference.isGeographic&&(l=await v(l,d.WebMercator));const u=await W(e,{...s,cameraLocation:l},c);t(a);const f=u.clone();return f.z?f.z+=20:f.z=20,U(f,s)}function ee(e,t,n,r,a=0,o=1,i){const{averageElevation:c,cameraPitch:s,cameraRoll:l,farDistance:f,...m}=r;if(a>=5||o<=.1){return{value:e*Ee(r.cameraLocation.spatialReference)}}const p=new g({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:r.cameraLocation.spatialReference}),y=k(p,m),h=u([n[0].x,n[0].y],[y.x,y.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const v=u([x.x,x.y],[w.x,w.y])*e/h;return ee(v,t,n,r,a+1,Math.abs(e-v))}function te(e,t,n,r,a=0,o=1,i){const{averageElevation:c,horizontalFieldOfView:s,verticalFieldOfView:l,farDistance:f,...m}=r;if(a>=5||o<=.1){return{value:e*Ee(r.cameraLocation.spatialReference)}}const p=new g({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:r.cameraLocation.spatialReference}),y=U(p,m),h=u([n[0].x,n[0].y],[y.x,y.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const v=u([x.x,x.y],[w.x,w.y])*e/h;return te(v,t,n,r,a+1,Math.abs(e-v))}async function ne(e,t,n){return e.spatialReference&&!t.spatialReference.equals(e.spatialReference)&&(t=await v(t,e.spatialReference)),new w({paths:[[[e.x,e.y,e.z??0],[t.x,t.y,t.z??0]]],spatialReference:n})}function re(e){return 1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*e/6378137)))}function ae(e,t){return Math.sqrt((Math.sqrt((e[0][0]-e[1][0])**2+(e[0][1]-e[1][1])**2)/t)**2+(e[0][2]-e[1][2])**2)}function oe(e,t){return Math.sqrt((e[0][0]-e[1][0])**2+(e[0][1]-e[1][1])**2)/t}function ie(t){return e(Math.atan((t[1][2]-t[0][2])/Math.sqrt((t[1][0]-t[0][0])**2+(t[1][1]-t[0][1])**2)))}function ce(t){let n=90-e(Math.atan2(t[1][1]-t[0][1],t[1][0]-t[0][0]));return n<0&&(n+=360),n}function se(e,t){return new g({x:(e.pointOnA[0]+e.pointOnB[0])/2,y:(e.pointOnA[1]+e.pointOnB[1])/2,z:(e.pointOnA[2]+e.pointOnB[2])/2,spatialReference:t})}async function le(e){if(2===e?.length){const t=[];let n=1;const[r,a]=e,o=r.camera.spatialReference,{measurePoints:i}=r;for(let e=0;e<i.length;e++){const i=await ne(r.camera,r.measurePoints[e],o),c=await ne(a.camera,a.measurePoints[e],o),s=await ke(i,c);if(!s)return null;const l=se(s,o);l.spatialReference.isWebMercator&&(n=re(l.y)),t.push([l.x,l.y,l.z??0])}if(t?.length>1){return{distance:ae(t,n),horizontalDistance:oe(t,n),verticalDistance:Math.abs(t[0][2]-t[1][2]),slope:ie(t),aspect:ce(t)}}}return null}async function ue(e){const t=e[0].camera.spatialReference;if(2!==e?.length)return null;const[n,r]=e,{camera:a,measurePoints:o}=n,{camera:i,measurePoints:c}=r,s=await ne(a,o[0],t),l=await ne(i,c[0],t),u=await ke(s,l);return u?se(u,t)??null:null}async function fe(e,t){if(!e?.length)return null;const n=[],r=e[0],a=e[1],o=r.camera.spatialReference,{measurePoints:i}=r;for(let u=0;u<i.length;u++){const e=await ne(r.camera,r.measurePoints[u],o),t=await ne(a.camera,a.measurePoints[u],o),i=await ke(e,t);if(!i)return null;const c=se(i,o);n.push([c.x,c.y,c.z??0])}if(n?.length<2)return null;const c=new w({paths:[n],spatialReference:t}),s=new x({rings:[n],spatialReference:t});if(t.isGeographic){const e=await J(t,c,s);return e?.area??null}if(t.isWebMercator){const e=await Z(c,s);return e?.area??null}const l=X(c,s);return l?.area??null}function me(e,t){if(!e)return null;return{camera:t.geometry.clone(),measurePoints:Array.isArray(e)?e:[e]}}async function pe(e,t){const{updateElevationProps:n,...r}=t;return await I(e,r,n)}async function ye(e,t){const{updateElevationProps:n,...r}=t;return W(e,r,n)}function he(e){navigator.clipboard.writeText(e).catch(e=>{throw e})}function ge(e){const t=e.map(e=>[e.x,e.y]),n=e[0].spatialReference;return new w({paths:[t],spatialReference:n})}function xe(e,t){return e.map(e=>({x:t?.5+e[0]:e[0],y:t?.5-e[1]:e[1]}))}function we(e,t,n,a,i){const c="measurement"===e?t:n;if(i&&c)return o(a,r(c,H),i,3)||null}function ve(e,t){const{cameraPitch:n,cameraRoll:r,cameraLocation:a}=e,{x:o,y:i,z:c,spatialReference:s}=a;if(t.every(e=>0===e)||!t||!t.length||!s)throw new Error("Invalid parameters");const[l,u,,f,m]=t,p=[-f,0,f],y=[-m,0,m],h=[-l,0,l],g=[-u,0,u],x=[];for(const w of p)for(const t of y)for(const a of h)for(const l of h)for(const u of g){const f={...e};f.cameraPitch=n+w,f.cameraRoll=r+t,f.cameraLocation={x:o+a,y:i+l,z:c?c+u:0,spatialReference:{wkid:s.wkid}},x.push(f)}return x}function Re(e,t){const{cameraHeading:n,cameraLocation:r}=e,{x:a,y:o,z:i,spatialReference:c}=r;if(!t||t.every(e=>0===e)||!t.length||!c)throw new Error("Invalid parameters");const[s,l,u]=t,f=u>0?[-u,0,u]:[],m=s>0?[-s,0,s]:[],p=l>0?[-l,0,l]:[],y=[];for(const h of f)for(const t of m)for(const r of m)for(const s of p){const l={...e};l.cameraHeading=n+h,l.cameraLocation={x:a+t,y:o+r,z:i?i+s:0,spatialReference:{wkid:c.wkid}},y.push(l)}return y}function de(e,t,n,a,i){const c="measurement"===e?t:Pe(n);if(i&&c)return o(a,r(c,H),i,3)||null}function Me(e,t,r,o,i){const c="measurement"===e?t:r;if(i&&c)return a(o,n(c,F),i,3)||null}function Pe(e){return Math.sqrt(e.reduce((e,t)=>e+t**2,0))}function ze(e,t,n){if(!e||!t)return;const{elevationSample:r,attributes:a}=e,{elevationSource:o,cameraHeight:i}=a,c=D(a,t[0],t[1]);let s=c.cameraLocation;return(s.spatialReference.isGeographic?v(s,d.WebMercator):Promise.resolve(s)).then(e=>(s=e,G(s.spatialReference,s.z??0,i,{elevationSample:r,elevationSource:o,extent:n}))).then(t=>("elevationSample"in t&&(e.elevationSample=t.elevationSample),{...c,cameraLocation:s,updateElevationProps:t}))}function je(e,t,n){if(!e||!t)return;const{elevationSample:r,attributes:a}=e,{elevationSource:o,cameraHeight:i}=a,c=q(a,t[0],t[1]);let s=c.cameraLocation;return(s.spatialReference.isGeographic?v(s,d.WebMercator):Promise.resolve(s)).then(e=>(s=e,G(s.spatialReference,s.z??0,i,{elevationSample:r,elevationSource:o,extent:n}))).then(t=>("elevationSample"in t&&(e.elevationSample=t.elevationSample),{...c,cameraLocation:s,updateElevationProps:t}))}function be(e,t,n){if("default"===t)return e;const r={x:e[0],y:e[1],z:e[2]},a=A(r,n[0],n[1]);return[a.x,a.y]}function Ee(e){return e.metersPerUnit}function Se(e,t,n,r){let a=[];return a="panoramic"===t?e.map(([e,t,a])=>{const{x:o,y:i}=A({x:e,y:t,z:a},n[0],n[1],r);return[o-.5,-.5-i]}):e.map(([e,t])=>[e-.5,-.5-t]),a}function Le(e,t,n){return e.map(e=>A({x:e[0],y:e[1],z:e[2]},t[0],t[1],n))}async function Oe(e,n,r,a=!1,o=!1,i){if(!e||!n||e.length<2)return null;const c=xe(e,a);if(!c||c.length<2)return null;const[s,l]=[c[0],c.at(-1)];if(!l)return null;const f=[s],m=await I(s,n);t(i);const p=m.clone();p.z?p.z+=20:p.z=20;const{averageElevation:y,cameraPitch:h,cameraRoll:g,farDistance:x,...w}=n,v=k(p,w),R=u([s.x,s.y],[v.x,v.y]),d=T(s,v);if(!d)return;const M=C([s.x,s.y],[l.x,l.y],d);if(!M?.length)return;f.push({x:M[0],y:M[1]});const P=20*u([f[0].x,f[0].y],[f[1].x,f[1].y])*Ee(n.cameraLocation.spatialReference)/R;if(!o)return P;const z=ee(P,m,f,n,0,1);return z?.value}async function We(e,n,r,a,o=!1,i=!1,c){const{attributes:s}=a,{location:l}=s,{updateElevationProps:f,...m}=n;if(!e||!n||e.length<2)throw new Error("Invalid parameters");const p=xe(e,o),[y,h]=[p[0],p.at(-1)],g=[y];let x=l.clone();x.spatialReference.isGeographic&&(x=await v(x,d.WebMercator));const w=await W(y,{...m,cameraLocation:x},f);t(c);const R=w.clone();R.z?R.z+=20:R.z=20;const M=U(R,m),P=u([y.x,y.y],[M.x,M.y]),z=T(y,M);if(!z)return;const j=C([y.x,y.y],[h.x,h.y],z);if(!j?.length)return;g.push({x:j[0],y:j[1]});const b=20*u([g[0].x,g[0].y],[g[1].x,g[1].y])*Ee(n.cameraLocation.spatialReference)/P;if(!i)return b;const E=te(b,w,g,n,0,1);return E?.value}async function Ie(e,t,n){const{updateElevationProps:r,...a}=t,{updateElevationProps:o,...i}=n,c=await I(e,a,r);return k(c,i)}async function qe(e,t,n){const{updateElevationProps:r,...a}=t,{updateElevationProps:o,...i}=n,c=await W(e,a,r);return U(c,i)}async function Ge(e,t,n=!1){if(e.length<3)return null;const r=xe(e,n),a=await pe(r,t),o=a.map(({x:e,y:t})=>[e,t]);e.push(e[0]),o.push(o[0]);const i=a[0].spatialReference,c=new w({paths:[o],spatialReference:i}),s=new x({rings:[o],spatialReference:i});return i.isGeographic?J(i,c,s):i.isWebMercator?Z(c,s):X(c,s)}async function Ae(e,n,r=!1,a){if(e.length<3)return null;const o=xe(e,r),i=await ye(o,n);t(a);const c=i.map(({x:e,y:t})=>[e,t]);e.push(e[0]),c.push(c[0]);const s=i[0].spatialReference,l=new w({paths:[c],spatialReference:s}),u=new x({rings:[c],spatialReference:s});return s.isGeographic?J(s,l,u):s.isWebMercator?Z(l,u):X(l,u)}async function De(e,t,n=!1){const r=xe(e,n);return N(ge(await pe(r,t)))}async function Ue(e,n,r=!1,a){const o=xe(e,r),i=await ye(o,n);t(a);return N(ge(i))}async function ke(e,t){const n=s(),r=e.paths[0][0],a=t.paths[0][0];let o,l;e.spatialReference.isWGS84||e.spatialReference.isWebMercator?(await E(),o=S(e),l=S(t)):(o=L(e),l=L(t));const u=Y(e.paths[0],o),f=Y(t.paths[0],l),m=Be(u,f),[p,y,h]=u,[g,x,w]=f.map(e=>-e),[v,R,d]=m,[M,P,z]=[a[0]-r[0],a[1]-r[1],a[2]-r[2]];i(n,p,g,v,y,x,R,h,w,d);const j=c(n);if(0===j)return null;i(n,M,g,v,P,x,R,z,w,d);const b=c(n);i(n,p,M,v,y,P,R,h,z,d);const O=c(n);i(n,p,g,M,y,x,P,h,w,z);const W=b/j,I=O/j,q=c(n)/j;return{distance:Math.abs(q/Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2])),pointOnA:He(r,W,u),pointOnB:He(a,I,f)}}function Be(e,t){const n=l(),r=f(l(),e[0],e[1],e[2]),a=f(l(),t[0],t[1],t[2]),o=m(n,r,a);return[o[0],o[1],o[2]]}function He(e,t,n){return[e[0]+t*n[0],e[1]+t*n[1],e[2]+t*n[2]]}export{T as calculateAngle,V as calculateAnglePano,C as calculateCorrectedPixel,K as calculateHeightFromTemporaryDistance,Q as calculateLocationAccuracyFromDeviations,_ as calculateReferenceImagePointPanoramic,$ as calculateTempImagePoint,re as calculateUpdatedWmsf,ee as computeHeightIteratively,te as computeHeightIterativelyPanoramic,fe as computeTriangulatedAreaMeasurement,le as computeTriangulatedDistanceMeasurement,ue as computeTriangulatedPoint,me as computeTriangulatedVector,he as copyToClipboard,xe as formatPixels,ve as generateCombinations,Re as generateCombinationsPanoramic,Me as getConvertedArea,de as getConvertedDistance,we as getConvertedHeight,ze as getMeasurementProperties,je as getMeasurementPropertiesPanoramic,be as getModeCorrectedPoint,Se as getModeCorrectedPoints,Le as getPixelLocationFromSphereVertices,Pe as getRootOfSumOfSquaredErrors,Ee as getUnitRateFromSpatialReference,Oe as heightMeasurement2D,We as heightMeasurementPanoramic,Ie as imageToImageTransform,qe as imageToImageTransformPanoramic,Ge as pixelAreaMeasurement2D,Ae as pixelAreaMeasurementPanoramic,De as pixelDistanceMeasurement2D,Ue as pixelDistanceMeasurementPanoramic,ke as solveSkewLinesIntersection};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import t from"../../../geometry/Polygon.js";import{execute as o}from"../../../geometry/operators/affineTransformOperator.js";import{e}from"../../../
|
|
2
|
+
import t from"../../../geometry/Polygon.js";import{execute as o}from"../../../geometry/operators/affineTransformOperator.js";import{execute as e}from"../../../geometry/operators/intersectionOperator.js";import{getNearestCoordinate as r}from"../../../geometry/operators/proximityOperator.js";import n from"../../../geometry/operators/support/Transformation.js";function i(o){const{viewpoint:n,containerWidth:i,containerHeight:a,rotation:s,constraints:p,imageExtent:c,viewportExtent:f}=o,{targetGeometry:x,scale:y}=n;if("point"!==x?.type)return;const g=c.center,{extent:l}=m(t.fromExtent(c),s,g.x,g.y),{width:u,height:E}=l,h=p.scaleToZoom(y);if(h<=0)return void(n.targetGeometry=g.clone());const j=1/2**h,d=i/a;let w=j*u,v=j*E;u/i>E/a?v=w/d:w=v*d;const G=l.clone();G.xmin+=w/2,G.xmax-=w/2,G.ymin+=v/2,G.ymax-=v/2;let O=e(t.fromExtent(l),t.fromExtent(G));O=O&&f.intersects(c)?e(m(O,s,g.x,g.y),t.fromExtent(c)):t.fromExtent(l),n.targetGeometry=r(O,x).coordinate}function m(t,e,r,i){const m=(new n).rotate(e,r,i);return o(t,m)}export{i as constrainViewpoint,m as rotate};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{throwIfAborted as t}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as a}from"../../../core/units.js";import n from"../../../geometry/Point.js";import r from"../../../geometry/Polygon.js";import i from"../../../geometry/SpatialReference.js";import{e}from"../../../
|
|
2
|
+
import{throwIfAborted as t}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as a}from"../../../core/units.js";import n from"../../../geometry/Point.js";import r from"../../../geometry/Polygon.js";import i from"../../../geometry/SpatialReference.js";import{execute as e}from"../../../geometry/operators/intersectionOperator.js";import{computeFarplaneVertices as o,createRotationMatrixFromHPR as m}from"../../../layers/orientedImagery/transformations/utils.js";import{calculateUpdatedWmsf as h}from"../imageMeasurementUtils.js";const l=15,s=120,c=.9,M=1.1,x=1,f=179,u=3,y=2,g=1,p=150,d=16,w=32,I=8,b=.05,v=1,F=2,P=20,z=4096;function N(t,n){const{radiusOffset:r=0,minimumRadiusInMeters:i=0}=n;if(0===r)return;const e=a(t.spatialReference),o=e?r/e:r,{position:m}=t.vertexAttributes,h=Math.floor(m.length/3);let l=0,s=0,c=0;for(let a=0;a<h;a++)l+=m[3*a],s+=m[3*a+1],c+=m[3*a+2];l/=h,s/=h,c/=h;let M=0;for(let a=0;a<h;a++){const t=m[3*a]-l,n=m[3*a+1]-s,r=m[3*a+2]-c;M+=Math.sqrt(t*t+n*n+r*r)}M/=h;const x=e?i/e:i,f=Math.max(x,M+o),u=M>0?f/M:1;for(let a=0;a<h;a++){let t=m[3*a]-l,n=m[3*a+1]-s,r=m[3*a+2]-c;t*=u,n*=u,r*=u,m[3*a]=l+t,m[3*a+1]=s+n,m[3*a+2]=c+r}t.vertexAttributesChanged()}function R(t,a,n){const{columns:r,rows:i}=K(t,a,n),[e,o]=t,m=a?.xmin??0,h=a?.ymin??0,l=a?Math.max(1,a.xmax-a.xmin):e,s=a?Math.max(1,a.ymax-a.ymin):o,c=new Array;for(let M=0;M<=i;M+=1){const t=h+M/i*s;for(let a=0;a<=r;a+=1)c.push({x:m+a/r*l,y:t})}return c}function j(t,a,n,r){const{columns:i,rows:e}=K(a,n,r),o=i+1,m=new Float64Array(3*t.length),h=new Float32Array(2*t.length),l=new Array;t.forEach((t,a)=>{const n=3*a,r=2*a,l=a%o,s=Math.floor(a/o);m[n]=t.x,m[n+1]=t.y,m[n+2]=t.z??0,h[r]=l/i,h[r+1]=s/e});for(let s=0;s<e;s+=1)for(let t=0;t<i;t+=1){const a=s*o+t,n=a+1,r=a+o,i=r+1;l.push(a,n,i,a,i,r)}return{faces:l,position:m,uv:h}}function A(t,a,n,r=y){return{width:Math.ceil(t/r**n),height:Math.ceil(a/r**n)}}function S(t,a,n){const{width:r,height:i,storageInfo:e}=t.rasterInfo,{pyramidScalingFactor:o}=e,m=A(r,i,a,o??void 0);if(!n)return{offset:{x:0,y:0},size:m};const h=(o??y)**a,l={x:Math.max(0,Math.floor(n.xmin/h)),y:Math.max(0,Math.floor(n.ymin/h))},s=Math.min(m.width,Math.ceil(n.xmax/h)),c=Math.min(m.height,Math.ceil(n.ymax/h));return{offset:l,size:{width:Math.max(g,s-l.x),height:Math.max(g,c-l.y)}}}function L(t,a,n){const{maximumPyramidLevel:r,pyramidScalingFactor:i}=t.rasterInfo.storageInfo,e=i??y,o=Math.max(g,(n?.xmax??t.rasterInfo.width)-(n?.xmin??0)),m=Math.max(g,(n?.ymax??t.rasterInfo.height)-(n?.ymin??0)),h=Math.max(g,a.width),l=Math.max(g,a.height),s=Math.max(g,o/h,m/l),c=Math.ceil(Math.log(s)/Math.log(e));return Math.max(0,Math.min(r,Number.isFinite(c)?c:r))}function O(t,a,n){const{maximumPyramidLevel:r,pyramidScalingFactor:i}=t.rasterInfo.storageInfo,e=i??y,o=Math.max(g,(n?.xmax??t.rasterInfo.width)-(n?.xmin??0)),m=Math.max(g,(n?.ymax??t.rasterInfo.height)-(n?.ymin??0)),h=Math.max(g,a.width),l=Math.max(g,a.height);let s=r;for(let c=r;c>=0&&(s=c,!(0===c||o/e**c>h||m/e**c>l));c-=1);return s}function q(t,a,n=z){const{maximumPyramidLevel:r,pyramidScalingFactor:i}=t.rasterInfo.storageInfo,e=i??y;let o=Math.max(0,Math.min(r,a));for(;o<r;){const a=A(t.rasterInfo.width,t.rasterInfo.height,o,e);if(a.width<=n&&a.height<=n)break;o+=1}return o}function D(t){const{camera:a,width:n,height:r}=t;if(n<=0||r<=0)return{horizontal:a.fov,vertical:a.fov};const i=Math.sqrt(n*n+r*r);return{horizontal:2*Math.atan(Math.tan(a.fov*Math.PI/360)*n/i)*180/Math.PI,vertical:2*Math.atan(Math.tan(a.fov*Math.PI/360)*r/i)*180/Math.PI}}function W(t,a,n){if(null==t||null==a||!Number.isFinite(t)||!Number.isFinite(a))return{horizontal:t??null,vertical:a??null};const r=Math.sin(n*Math.PI/180),i=Math.cos(n*Math.PI/180),e=[[t,0],[t,a],[0,a]].map(([t,a])=>[i*t-r*a,r*t+i*a]),o=Math.min(0,...e.map(([t])=>t)),m=Math.max(0,...e.map(([t])=>t)),h=Math.min(0,...e.map(([,t])=>t)),l=Math.max(0,...e.map(([,t])=>t));return{horizontal:Math.min(Math.abs(m-o),p),vertical:Math.min(Math.abs(l-h),p)}}function U(t,a,n,r){const{width:i,height:e}=t,o=W(a,n,r),m=Math.sqrt(i*i+e*e);if(m<=0)return o.vertical??o.horizontal??null;if(i>=e){const t=o.vertical;return null==t||e<=0?null:2*Math.atan(Math.tan(t*Math.PI/360)*m/e)*180/Math.PI}const h=o.horizontal;return null==h||i<=0?null:2*Math.atan(Math.tan(h*Math.PI/360)*m/i)*180/Math.PI}function V(t,a,r=d,i=0){const e=t.camera.position,{horizontal:l,vertical:s}=D(t),c=e.spatialReference.isWebMercator?h(e.y):1,M=o({cameraLocation:e,farDistance:a,horizontalFieldOfView:l,rotationMatrix:m([t.camera.heading,t.camera.tilt,i]),scalingFactor:c,verticalFieldOfView:s}),x=[];for(let o=0;o<M.length;o+=1){const t=M[o],a=M[(o+1)%M.length];for(let i=0;i<r;i+=1){const o=i/r;x.push(new n({x:t[0]+(a[0]-t[0])*o,y:t[1]+(a[1]-t[1])*o,z:t[2]+(a[2]-t[2])*o,spatialReference:e.spatialReference}))}}return x}async function k(a,n,o,m,h){if("3d"!==n.type)return null;const{cameraRoll:l,farDistance:s}=a.attributes;if("number"!=typeof s||!Number.isFinite(s)||s<=0)return null;const c=V(n,s,w,l??0),M=await m(c,h);t(h);const x=M.filter(({x:t,y:a})=>Number.isFinite(t)&&Number.isFinite(a));if(x.length<4)return null;const[f,u]=o,y=new r({rings:[[[0,0],[f,0],[f,u],[0,u],[0,0]]],spatialReference:i.WebMercator}),g=new r({rings:[[...x.map(({x:t,y:a})=>[t,a]),[x[0].x,x[0].y]]],spatialReference:i.WebMercator}),p=e(g,y),d=p?p.rings.flatMap(t=>t.map(([t,a])=>({x:t,y:a}))):x;if(!d.length)return null;const I=d.map(({x:t})=>Math.max(0,Math.min(f,t))),b=d.map(({y:t})=>Math.max(0,Math.min(u,t)));return E({xmin:Math.floor(Math.max(0,Math.min(...I))),xmax:Math.ceil(Math.min(f,Math.max(...I))),ymin:Math.floor(Math.max(0,Math.min(...b))),ymax:Math.ceil(Math.min(u,Math.max(...b)))},f,u)}async function C(a,n,r,i,e){if("3d"!==n.type)return null;const{farDistance:o}=a.attributes;if("number"!=typeof o||!Number.isFinite(o)||o<=0)return null;const m=o,[h,l]=r,s=V(n,m),c=await i(s,e);t(e);const M=c.filter(({x:t,y:a})=>Number.isFinite(t)&&Number.isFinite(a));if(M.length<4)return null;const x=B(M,l);if(!x)return null;const f=H(M.map(({x:t})=>G(t,h)),h),u=h-f.gap;return u<=0?null:u>=h-v?[{xmin:0,xmax:h,ymin:x.ymin,ymax:x.ymax}]:J(f,h,x)}function E(t,a,n){const r=Math.max(g,t.xmax-t.xmin),i=Math.max(g,t.ymax-t.ymin),e=Math.max(I,Math.round(r*b)),o=Math.max(I,Math.round(i*b)),m=Math.floor(Math.max(0,t.xmin-e)),h=Math.ceil(Math.min(a,t.xmax+e)),l=Math.floor(Math.max(0,t.ymin-o)),s=Math.ceil(Math.min(n,t.ymax+o));return h>m&&s>l?{xmin:m,xmax:h,ymin:l,ymax:s}:null}function B(t,a){const n=t.map(({y:t})=>Math.max(0,Math.min(a,t))),r=Math.floor(Math.max(0,Math.min(...n))),i=Math.ceil(Math.min(a,Math.max(...n)));return i>r?{ymin:r,ymax:i}:null}function G(t,a){return(t%a+a)%a}function H(t,a){const n=t.slice().sort((t,a)=>t-a);let r=-1,i=0,e=0;for(let o=0;o<n.length;o+=1){const t=n[o],m=o===n.length-1?n[0]+a:n[o+1],h=m-t;h>r&&(r=h,i=t,e=m)}return{gap:r,start:i,end:e}}function J(t,a,n){const r=G(t.end,a),i=G(t.start,a);return r<=i?[{xmin:Math.floor(r),xmax:Math.ceil(i),...n}]:[{xmin:0,xmax:Math.ceil(i),...n},{xmin:Math.floor(r),xmax:a,...n}].filter(({xmin:t,xmax:a})=>a>t)}function K(t,a,n=P){const[r,i]=t,e=a?Math.max(g,a.xmax-a.xmin):r,o=a?Math.max(g,a.ymax-a.ymin):i;if(e<=0||o<=0)return{columns:F,rows:F};const m=e/o;return m>=1?{columns:n,rows:Math.max(F,Math.round(n/m))}:{columns:Math.max(F,Math.round(n*m)),rows:n}}export{N as applySphereMeshOffsetInMeters,q as clampRasterLevelForTextureSize,k as computeDefaultAreaOfInterest,C as computePanoramicAreasOfInterest,V as createFarplaneSamplePoints,j as createSuperimposeGridVertexAttributes,R as createSuperimposeSamplePixels,O as getBaseRasterLevel,U as getDefaultSuperimposeFov,W as getEffectiveImageFieldOfView,S as getRasterFetchParameters,A as getRasterLevelSize,D as getViewCameraFieldOfView,L as getViewDependentRasterLevel,u as panoramicSuperimposeKeyboardAngleStep,s as panoramicSuperimposeMaxFov,f as panoramicSuperimposeMaxTilt,l as panoramicSuperimposeMinFov,x as panoramicSuperimposeMinTilt,c as panoramicSuperimposeZoomInFactor,M as panoramicSuperimposeZoomOutFactor};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{clamp as e}from"../../core/mathUtils.js";import t from"../../geometry/Extent.js";import n from"../../geometry/Multipoint.js";import r from"../../geometry/Point.js";import o from"../../geometry/Polygon.js";import a from"../../geometry/Polyline.js";import{projectAsync as s}from"../../geometry/projectionUtils.js";import{
|
|
2
|
+
import{clamp as e}from"../../core/mathUtils.js";import t from"../../geometry/Extent.js";import n from"../../geometry/Multipoint.js";import r from"../../geometry/Point.js";import o from"../../geometry/Polygon.js";import a from"../../geometry/Polyline.js";import{projectAsync as s}from"../../geometry/projectionUtils.js";import{execute as i}from"../../geometry/operators/intersectionOperator.js";import{videoSpatialReference as m,sampleExtent as p}from"./constants.js";const c=1920,x=1080;function y(e){if(!e)throw new Error("Missing View");return[e.on("drag",e=>e.stopPropagation()),e.on("key-down",e=>{e.key.startsWith("Arrow")&&e.stopPropagation()})]}const l=(e,t)=>{const n=(e-p.xmin)/(p.xmax-p.xmin),r=(p.ymax-t)/(p.ymax-p.ymin);return{x:n*c,y:r*x}},f=t=>({x:e((t.x+.5)*c,0,c),y:e((.5-t.y)*x,0,x)}),u=e=>d(f(e));function g(e){switch(e.type){case"point":return u(e);case"polyline":return new a({paths:e.paths.map(e=>e.map(([e,t])=>{const n=u({x:e,y:t});return[n.x,n.y]})),spatialReference:m});case"polygon":return new o({rings:e.rings.map(e=>e.map(([e,t])=>{const n=u({x:e,y:t});return[n.x,n.y]})),spatialReference:m});case"multipoint":return new n({points:e.points.map(([e,t])=>{const n=u({x:e,y:t});return[n.x,n.y]}),spatialReference:m});case"extent":{const t=g(o.fromExtent(e));return t?.extent??null}default:return null}}const w=n=>{const r=o.fromExtent(new t(p)),a=i(r,n);return a?a.rings[0].map(([t,n])=>{const{x:r,y:o}=l(t,n);return{x:e(r,0,c),y:e(o,0,x)}}):[]},R=e=>{const n=e.width/2,r=e.height/2,o=p.xmin+n,a=p.xmax-n,s=p.ymin+r,i=p.ymax-r;return o<a&&s<i?new t({xmin:o,ymin:s,xmax:a,ymax:i,spatialReference:p.spatialReference}):null},h=e=>e.x>=0&&e.x<=c&&e.y>=0&&e.y<=x;async function j(e,t,n){switch(t?.type){case"polygon":{const r=e.spatialReference.equals(t.spatialReference)?e:await s(e,t.spatialReference,n);return t.contains(r)}case"mesh":{const r=e.spatialReference.equals(t.spatialReference)?e:await s(e,t.spatialReference,n);return t.extent.contains(r)}default:return!1}}const d=t=>{const n=e(t.x,0,c),o=e(t.y,0,x);return new r({x:p.xmin+n/c*(p.xmax-p.xmin),y:p.ymax-o/x*(p.ymax-p.ymin),spatialReference:p.spatialReference})};export{y as disableVideoZoomAndPan,l as geoToPixel,R as getUpdatedConstraints,w as getUpdatedExtentPoints,g as imageGeometryToVideoMapGeometry,u as imageMapPointToVideoMapPoint,j as isSelectedPointWithinVideoFootprint,h as isVideoPixelWithinFrame,d as pixelToVideoMapPoint,x as videoHeight,c as videoWidth};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../../../geometry/Polyline.js";import{load as r,project as t}from"../../../geometry/projectionUtils.js";import o from"../../../geometry/SpatialReference.js";import{
|
|
2
|
+
import e from"../../../geometry/Polyline.js";import{load as r,project as t}from"../../../geometry/projectionUtils.js";import o from"../../../geometry/SpatialReference.js";import{execute as a}from"../../../geometry/operators/areaOperator.js";import{executeMany as s}from"../../../geometry/operators/bufferOperator.js";import{executeMany as n}from"../../../geometry/operators/convexHullOperator.js";import{execute as i}from"../../../geometry/operators/cutOperator.js";import{importLazily as p}from"../../../geometry/operators/importUtils.js";import{execute as c}from"../../../geometry/operators/lengthOperator.js";import{fromJSON as m}from"../../../geometry/support/jsonUtils.js";function l(e){return"polygon"===e?.type||"polyline"===e?.type}function u(e){return Array.isArray(e)?e.map(e=>m(e)):[m(e)]}const y=p(()=>import("../../../geometry/operators/geodesicBufferOperator.js")),f=p(()=>import("../../../geometry/operators/geodeticAreaOperator.js"));class g{async loadBuffer(){await y.getImportPromise()}async loadArea(){await f.getImportPromise()}async loadProjector(){await r()}async createBuffer(e,r,t,o){const a=u(e);if(0===a.length)return;const{spatialReference:n}=a[0];if(!(n.isWGS84||n.isWebMercator)){const n=s(a,r,{unit:t,union:o});return Array.isArray(e)?n:n[0]}const i=(await y.getImportPromise()).executeMany(a,r,{unit:t,union:o});return Array.isArray(e)?i:i[0]}createConvexHull(e){const r=u(e),t=n(r,{merge:!0}).filter(l);if(0!==t.length)return Array.isArray(e)?t:t[0]}async calculateArea(e,r){const{wkid:t}=e.spatialReference,s=new o({wkid:t});if(!(s.isWGS84||s.isWebMercator))return parseFloat(a(m(e),{unit:r}).toFixed(2));const n=await f.getImportPromise();return parseFloat(n.execute(m(e),{unit:r}).toFixed(2))}mergeAggregatedToGeometries(e){const r=[],{line:t,multipoint:o,polygon:a}=e;return t&&r.push(t),o&&r.push(o),a&&r.push(a),r}getPercentageAlong(e,r,o){const a=this._createPolyline(e.paths,o.wkid);if("point"===r.type){const e=r.x-.5,s=r.x+.5,n=[[[e,r.y-.5],[s,r.y+.5]]],p=this._createPolyline(n,r.spatialReference.wkid),m=t(p,o);if(!m)return[-1];const l=i(a,m);if(l.length>0){const e=c(a,h);let r;r=l[0].paths[0][0][0]===a.paths[0][0][0]?c(l[0],h):l.length>1?c(l[1],h):0;return[r/e]}}else{const e=t(r,o),s=i(a,e);if(s.length>0){const e=c(a,h);return[c(s[0],h)/e]}}return[-1]}async projectGeometry(e,o){return await r(),t(e,o,{zConversionDisabled:!0})}_createPolyline(r,t){return new e({hasZ:!1,hasM:!0,paths:r,spatialReference:new o({wkid:t})})}}const h={unit:"feet"};export{g as GeometryHandler};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type FeatureItem from "./FeatureItem.js";
|
|
2
|
+
import type GroupLayerItem from "./GroupLayerItem.js";
|
|
3
|
+
import type LayerItem from "./LayerItem.js";
|
|
4
|
+
import type { ListItem, ParentItem } from "./types.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Utility function to recursively extract all FeatureItem objects from a nested structure of ParentItem objects.
|
|
8
|
+
*
|
|
9
|
+
* @param items - An array of ParentItem objects, which can be either LayerItem or GroupLayerItem instances.
|
|
10
|
+
* @returns A flat array of FeatureItem objects extracted from the provided ParentItem objects.
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export function getNestedFeatureItems(items: ParentItem[]): FeatureItem[];
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Utility function to recursively extract all LayerItem objects from a nested structure of ParentItem objects.
|
|
17
|
+
*
|
|
18
|
+
* @param items - An array of ParentItem objects, which can be either LayerItem or GroupLayerItem instances.
|
|
19
|
+
* @returns An array of LayerItem objects extracted from the provided ParentItem objects.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export function getNestedLayerItems(items: ParentItem[]): LayerItem[];
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Utility function to compute the effective count of all provided list items, including nested items.
|
|
26
|
+
*
|
|
27
|
+
* @param items - An array of ListItem objects, which can be either FeatureItem, LayerItem, or GroupLayerItem instances.
|
|
28
|
+
* @returns A number representing the combined total of all provided list items.
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export function computeEffectiveCount(items: ListItem[]): number;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Utility function to determine if a given item is a GroupLayerItem.
|
|
35
|
+
*
|
|
36
|
+
* @param item - Item to check if it is a GroupLayerItem.
|
|
37
|
+
* @returns True if the item is a GroupLayerItem, false otherwise.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export function isGroupLayerItem(item: unknown): item is GroupLayerItem;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Utility function to determine if a given item is a LayerItem.
|
|
44
|
+
*
|
|
45
|
+
* @param item - Item to check if it is a LayerItem.
|
|
46
|
+
* @returns True if the item is a LayerItem, false otherwise.
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export function isLayerItem(item: unknown): item is LayerItem;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Utility function to determine if a given item is a FeatureItem.
|
|
53
|
+
*
|
|
54
|
+
* @param item - Item to check if it is a FeatureItem.
|
|
55
|
+
* @returns True if the item is a FeatureItem, false otherwise.
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
export function isFeatureItem(item: unknown): item is FeatureItem;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{deprecatedProperty as t}from"../../../core/deprecate.js";import{EventedAccessor as o}from"../../../core/Evented.js";import{handlesGroup as i}from"../../../core/handleUtils.js";import s from"../../../core/Logger.js";import{removeMaybe as r}from"../../../core/maybe.js";import{watch as
|
|
2
|
+
import{__decorate as e}from"tslib";import{deprecatedProperty as t}from"../../../core/deprecate.js";import{EventedAccessor as o}from"../../../core/Evented.js";import{handlesGroup as i}from"../../../core/handleUtils.js";import s from"../../../core/Logger.js";import{removeMaybe as r}from"../../../core/maybe.js";import{watch as a}from"../../../core/reactiveUtils.js";import{property as n,subclass as l}from"../../../core/accessorSupport/decorators.js";import{isKnowledgeGraphLayer as c,isLinkChartLayer as p}from"../../../layers/support/layerUtils.js";import{findLayerView as d}from"../../../views/draw/support/layerUtils.js";import u from"../../../views/selection/SelectionOperation.js";import{isSelectableLayerView2D as h}from"../../../views/support/layerViewUtils.js";import{isSelectableLayerView as v,isTableLayer as f}from"../../../views/support/selectionUtils.js";let y=class extends o{constructor(e){super(e),this._operationHandlesGroup=null,this.activeOperation=null,this.continuousSelectionEnabled=!1,this.defaultLassoToolOptions={createTool:"polygon",mode:"hybrid",toolName:"lasso"},this.defaultOperationType="add",this.defaultPointToolOptions={createTool:"point",toolName:"point"},this.defaultRectangleToolOptions={createTool:"rectangle",toolName:"rectangle"},this.layerViewPreferenceEnabled=!0,this.persistSelection=!0,this.selectionManager=null,this.returnFeatureTitleFields=!1,this.returnGeometry=!0,this.selectOnComplete=!0,this.sources=null,this.toolConfigs=[]}initialize(){this.addHandles([a(()=>this.effectiveSources,e=>{this.activeOperation&&(this.activeOperation.sources=e)}),a(()=>this.defaultOperationType,e=>{this.activeOperation&&(this.activeOperation.type=e)})])}destroy(){this.activeOperation?.cancel(),this.activeOperation?.destroy(),this._operationHandlesGroup=r(this._operationHandlesGroup)}get effectiveSelectionManager(){return this.selectionManager??this.view?.selectionManager}get effectiveSources(){const{layerViewPreferenceEnabled:e,sources:t,view:o}=this,i=t??this.effectiveSelectionManager?.sources;if(!i?.length)return[];const s=new Set,r="3d"===o?.type?v:h;return i.forEach(t=>{if(!f(t,o))if(r(t))s.add(t);else if(c(t)||p(t)){(t.layers||[]).forEach(t=>{const i=o?d(o,t):void 0,a=e&&r(i)?i:t;s.add(a)})}else if(e){const e=o?d(o,t):void 0;s.add(r(e)?e:t)}else s.add(t)}),Array.from(s)}get layers(){return t(s.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.sources}set layers(e){t(s.getLogger(this),"layers",{replacement:"Use SelectionToolbar.sources instead."}),this.sources=e}get state(){return this.activeOperation?"active":this.view?.ready&&this.effectiveSources.length?"ready":"disabled"}activate(e){const{state:t}=this,o=e?.view||this.view,r=e?.sources||this.effectiveSources;if("disabled"===t||!o)return void s.getLogger(this).warn("Unable to start selection operation.");"active"===t&&this.cancel();const a=new CustomEvent("before-activate",{cancelable:!0,detail:{toolName:e?.toolName??null}});if(this.emit("before-activate",a),a.defaultPrevented)return;const n={type:this.defaultOperationType,persistSelection:this.persistSelection,returnFeatureTitleFields:this.returnFeatureTitleFields,returnGeometry:this.returnGeometry,selectOnComplete:this.selectOnComplete,selectionManager:this.effectiveSelectionManager,...e,sources:r,view:o},l=new u({...n});return this._operationHandlesGroup=i([l.on("selection-change",e=>this.emit("selection-change",e)),l.once("complete",e=>this._onOperationComplete(e,n))]),this._set("activeOperation",l),l}activateTool(e){this.cancel();const t=this._getToolOptions(e);if(t)return this.activate(t);s.getLogger(this).warn("Unable to activate tool: unable to determine options.")}cancel(){this.activeOperation?.cancel(),this._set("activeOperation",null)}toggleTool(e){const{activeOperation:t}=this;if(t){const o=t.toolName;if(this.cancel(),o===e)return}return this.activateTool(e)}_onOperationComplete(e,t){const o=this.activeOperation?.type??e.operationType;this._operationHandlesGroup=r(this._operationHandlesGroup),this.activeOperation?.destroy(),this._set("activeOperation",null),this.emit("complete",e),this.continuousSelectionEnabled&&!e.aborted&&this.activate({...t,type:o})}_getToolOptions(e){const t=this.toolConfigs.find(t=>t.toolName===e);return t||("lasso"===e?this.defaultLassoToolOptions:"point"===e?this.defaultPointToolOptions:"rectangle"===e?this.defaultRectangleToolOptions:void 0)}};e([n({readOnly:!0})],y.prototype,"activeOperation",void 0),e([n()],y.prototype,"continuousSelectionEnabled",void 0),e([n()],y.prototype,"defaultLassoToolOptions",void 0),e([n()],y.prototype,"defaultOperationType",void 0),e([n()],y.prototype,"defaultPointToolOptions",void 0),e([n()],y.prototype,"defaultRectangleToolOptions",void 0),e([n()],y.prototype,"effectiveSelectionManager",null),e([n()],y.prototype,"effectiveSources",null),e([n()],y.prototype,"layers",null),e([n()],y.prototype,"layerViewPreferenceEnabled",void 0),e([n()],y.prototype,"persistSelection",void 0),e([n()],y.prototype,"selectionManager",void 0),e([n()],y.prototype,"returnFeatureTitleFields",void 0),e([n()],y.prototype,"returnGeometry",void 0),e([n()],y.prototype,"selectOnComplete",void 0),e([n()],y.prototype,"sources",void 0),e([n({readOnly:!0})],y.prototype,"state",null),e([n()],y.prototype,"toolConfigs",void 0),e([n()],y.prototype,"view",void 0),y=e([l("esri.widgets.support.SelectionToolbar.SelectionToolbarViewModel")],y);const m=y;export{m as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{addMany as e}from"../../../core/arrayUtils.js";import{ignoreAbortErrors as r,whenOrAbort as t}from"../../../core/promiseUtils.js";import{getDisplayFieldName as s}from"../../../layers/support/fieldUtils.js";import{isKnowledgeGraphLayer as a,isLinkChartLayer as i,isMapNotesLayer as l}from"../../../layers/support/layerUtils.js";import{calculateTolerance as n}from"../../../renderers/support/clickToleranceUtils.js";import{createQueryGeometry as o}from"../../../views/support/drapedUtils.js";import{isSelectableLayerWithObjectIds as c,isSelectableLayerView as u,isSelectableLayerWithGraphics as d,isSelectableLayerViewWithObjectIds as
|
|
2
|
+
import{addMany as e}from"../../../core/arrayUtils.js";import{ignoreAbortErrors as r,whenOrAbort as t}from"../../../core/promiseUtils.js";import{getDisplayFieldName as s}from"../../../layers/support/fieldUtils.js";import{isKnowledgeGraphLayer as a,isLinkChartLayer as i,isMapNotesLayer as l}from"../../../layers/support/layerUtils.js";import{calculateTolerance as n}from"../../../renderers/support/clickToleranceUtils.js";import{createQueryGeometry as o}from"../../../views/support/drapedUtils.js";import{isSelectableLayerWithObjectIds as c,isSelectableLayerView as u,isSelectableLayerWithGraphics as d,isTableLayer as y,isSelectableLayerViewWithObjectIds as p}from"../../../views/support/selectionUtils.js";async function m(e){const{returnFeatureTitleFields:s,returnGeometry:a,selector:i,signal:l,sources:n,view:o}=e;if(!n?.length)return[];const{layers:c,layerViews:u,graphicsLayers:d}=f(n),y=[];return await r(t(Promise.all([w({candidates:y,layers:c,returnFeatureTitleFields:s,returnGeometry:a,selector:i,signal:l,view:o}),g({candidates:y,layerViews:u,returnGeometry:a,selector:i,signal:l,view:o}),T({candidates:y,graphicsLayers:d,selector:i})]),l)),y}function f(e){const r=[],t=[],s=[];return e.forEach(e=>{(a(e)||i(e))&&e.layers?.length?r.push(...e.layers.toArray()):l(e)&&e.sublayers?.length?s.push(...e.sublayers.toArray()):c(e)?r.push(e):u(e)?t.push(e):d(e)&&s.push(e)}),{layers:r,layerViews:t,graphicsLayers:s}}async function g(r){const{candidates:s,layerViews:a,returnGeometry:i,selector:l,signal:n,view:o}=r;"point"!==l.type?await t(Promise.allSettled(a.map(async r=>{if(p(r)){const t=v(r,l,o,i),a=await r.queryFeatures(t,{signal:n});e(s,a.features)}else d(r.layer)&&await T({candidates:s,graphicsLayers:[r.layer],selector:l})})),n):await h({candidates:s,layerViews:a,selector:l,view:o})}async function h({candidates:e,layerViews:r,selector:t,view:s}){const a=s.toScreen(t);if(!a)return;const i=r.map(e=>e.layer),{results:l}=await s.hitTest(a,{include:i});l.forEach(r=>{"graphic"in r&&r.graphic&&e.push(r.graphic)})}async function w(r){const{candidates:s,layers:a,returnFeatureTitleFields:i,returnGeometry:l,selector:n,signal:o,view:c}=r;await t(Promise.allSettled(a.map(async r=>{if(y(r,c))return;const t=j(r,n,c,i,l),a=await r.queryFeatures(t,{signal:o});e(s,a.features)})),o)}function F(e,r,t){return"point"===e.type?o(e,"renderer"in r?n({renderer:r.renderer}):0,t):e}function b(e,r,t){const{fields:a,fieldsIndex:i}=e,l=new Set([e.objectIdField]);"globalIdField"in e&&null!=e.globalIdField&&i.has(e.globalIdField)&&l.add(i.get(e.globalIdField).name);const n="displayField"in e?e.displayField:null,o=s({displayField:n,fields:a});if(null!=o&&i.has(o)&&l.add(o),"subtypeField"in e&&null!=e.subtypeField){const t=i.get(e.subtypeField)?.name;if(null!=t&&l.add(t),"utilityNetworks"in r.map&&r.map.utilityNetworks?.length){const e=i.get("assetgroup");e?.name&&l.add(e.name);const r=i.get("assettype");r?.name&&l.add(r.name)}}return(t||r.requiredFieldsOptions.featureTitleFields)&&"featureTitleFields"in e&&e.featureTitleFields&&e.featureTitleFields.forEach(e=>l.add(e)),Array.from(l.values())}function v(e,r,t,s=!0){const a=e.createQuery();return a.outFields=["*"],a.geometry=F(r,e.layer,t),a.returnGeometry=s,a.outSpatialReference=t.spatialReference,a}function j(e,r,t,s=!1,a=!0){const i=e.createQuery();return i.outFields=b(e,t,s),i.geometry=F(r,e,t),i.returnGeometry=a,i.outSpatialReference=t.spatialReference,i}async function T(e){const{candidates:r,graphicsLayers:t,selector:s}=e,a=t.flatMap(e=>e.graphics.toArray())??[];if(!a?.length||!s)return;const i=await(import("../../../geometry/operators/intersectsOperator.js"));i.accelerateGeometry(s),a.forEach(e=>{e.geometry&&"mesh"!==e.geometry.type&&i.execute(s,e.geometry)&&r.push(e)})}export{g as collectSelectionFromFeatureLayerViews,w as collectSelectionFromFeatureLayers,T as collectSelectionFromGraphicsLayers,m as getSelectionFromGeometry,F as getSuggestedQueryGeometry,b as getSuggestedQueryOutFields};
|
package/arcade/kernel.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../geometry/Extent.js";function n(n){if(null==n)return null;switch(n.type){case"polygon":case"multipoint":case"polyline":return n.extent;case"point":return new e({xmin:n.x,ymin:n.y,xmax:n.x,ymax:n.y,spatialReference:n.spatialReference});case"extent":return n}return null}function t(e,n){return e===n||("point"===e&&"esriGeometryPoint"===n||("polyline"===e&&"esriGeometryPolyline"===n||("polygon"===e&&"esriGeometryPolygon"===n||("extent"===e&&"esriGeometryEnvelope"===n||("multipoint"===e&&"esriGeometryMultipoint"===n||("point"===n&&"esriGeometryPoint"===e||("polyline"===n&&"esriGeometryPolyline"===e||("polygon"===n&&"esriGeometryPolygon"===e||("extent"===n&&"esriGeometryEnvelope"===e||"multipoint"===n&&"esriGeometryMultipoint"===e)))))))))}function o(e){if(null==e)return null;const n=e.clone();return void 0!==e.cache._geVersion&&(n.cache._geVersion=e.cache._geVersion),n}function i(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}export{o as cloneGeometry,i as isInteger,t as sameGeomType,n as shapeExtent};
|