@arcgis/core 6.0.0-next.15 → 6.0.0-next.17
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/analysis/LineOfSightAnalysis.d.ts +49 -32
- package/analysis/LineOfSightAnalysisObserver.d.ts +19 -3
- package/analysis/LineOfSightAnalysisTarget.d.ts +19 -3
- package/analysis/Viewshed.d.ts +23 -3
- package/analysis/ViewshedAnalysis.d.ts +33 -13
- package/arcade/geometry/operatorsWorkerConnection.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/00d66e3fba5ab4d2aa3c.js +1 -0
- package/assets/esri/core/workers/chunks/{d994bcf0a65d1c07160f.js → 0320cbd825f9a4222042.js} +1 -1
- package/assets/esri/core/workers/chunks/14d5d219e7fe017f23f0.js +1 -0
- package/assets/esri/core/workers/chunks/164c8eeefa8232b2b191.js +2 -0
- package/assets/esri/core/workers/chunks/164e74d586297946a717.js +1 -0
- package/assets/esri/core/workers/chunks/1967b9c96045a5802d08.js +1 -0
- package/assets/esri/core/workers/chunks/{1bca39e0e651426bdbb5.js → 1b1d3f6916d2cb751435.js} +1 -1
- package/assets/esri/core/workers/chunks/{ed6e9d7f71bfd2691717.js → 1c77de1e79860f8d2228.js} +1 -1
- package/assets/esri/core/workers/chunks/1e40a26dcce4d1dadc28.js +1 -0
- package/assets/esri/core/workers/chunks/{261fea092ee7d27608a0.js → 20a2124cbe43e5527c40.js} +1 -1
- package/assets/esri/core/workers/chunks/237a1f68a0efbfe5b77c.js +1 -0
- package/assets/esri/core/workers/chunks/{3418877328f4f0830300.js → 24dac4970526a4e0ae63.js} +1 -1
- package/assets/esri/core/workers/chunks/26ceb0ff8d93dbb9b84f.js +1 -0
- package/assets/esri/core/workers/chunks/2853606099602f73d379.js +1 -0
- package/assets/esri/core/workers/chunks/2981e904ab62f3ed80d0.js +2 -0
- package/assets/esri/core/workers/chunks/2acf2952cef69e382a35.js +1 -0
- package/assets/esri/core/workers/chunks/32cc59e126df8c96a0cf.js +2 -0
- package/assets/esri/core/workers/chunks/{4df6cb1bee5d0720a43e.js → 34e0a8a3a2beea50f4f5.js} +1 -1
- package/assets/esri/core/workers/chunks/{481589c3eddad6e026ad.js → 369780276b2755361f7d.js} +1 -1
- package/assets/esri/core/workers/chunks/{1e0d2715d603f48a7e0b.js → 370aad23df597db80d65.js} +1 -1
- package/assets/esri/core/workers/chunks/3e30b96a8c75bd5b9ae2.js +1 -0
- package/assets/esri/core/workers/chunks/{25f19fc929f25ddd628c.js → 42753cf4965a94bc91ca.js} +1 -1
- package/assets/esri/core/workers/chunks/42d44c7d532df5ee70e9.js +1 -0
- package/assets/esri/core/workers/chunks/42e985a576d7aaeed0cf.js +1 -0
- package/assets/esri/core/workers/chunks/{6400446b7615b97c3521.js → 45f826554499c38968c6.js} +1 -1
- package/assets/esri/core/workers/chunks/48cc58890fddbcf69cef.js +1 -0
- package/assets/esri/core/workers/chunks/494bd434fee9032e1d02.js +1 -0
- package/assets/esri/core/workers/chunks/{33e4ff228a8c81b99022.js → 4abd3753cd9b80e4d937.js} +1 -1
- package/assets/esri/core/workers/chunks/{b564ec4e03478f5659db.js → 4c240ca50f70bf30813f.js} +1 -1
- package/assets/esri/core/workers/chunks/4c389472b8cdb0c55154.js +1 -0
- package/assets/esri/core/workers/chunks/4e4f747de424941a0bfa.js +1 -0
- package/assets/esri/core/workers/chunks/{70d3055f15d8b0cf4074.js → 532e9cda8ac3601d8892.js} +1 -1
- package/assets/esri/core/workers/chunks/5529831dd891382c79df.js +1 -0
- package/assets/esri/core/workers/chunks/{953ba13299e7aa92c1a0.js → 564565246dae080f5e6c.js} +1 -1
- package/assets/esri/core/workers/chunks/576248e9ae2654569420.js +1 -0
- package/assets/esri/core/workers/chunks/{2145a512d269d64036b0.js → 58c3ae6030def2ed5f31.js} +1 -1
- package/assets/esri/core/workers/chunks/5a19a9c3e01d3d415188.js +1 -0
- package/assets/esri/core/workers/chunks/5a830bc35adbedd33783.js +1 -0
- package/assets/esri/core/workers/chunks/{eb04e1717a1002cda3ab.js → 5b91e2dffdc84c006539.js} +1 -1
- package/assets/esri/core/workers/chunks/{aeaaff7a4b1a99540f52.js → 5cb26bbaa08114aec5ce.js} +1 -1
- package/assets/esri/core/workers/chunks/603fdbbe9534c614928f.js +1 -0
- package/assets/esri/core/workers/chunks/{4e6f40cbdb8c508e6df1.js → 60f92eb03c6e17ab4747.js} +1 -1
- package/assets/esri/core/workers/chunks/{67ebc5a3d46b254b725c.js → 612345f17f5eeb99ea8f.js} +1 -1
- package/assets/esri/core/workers/chunks/{1b077c92345ffb5916c2.js → 65c98f3449044fa4fd79.js} +1 -1
- package/assets/esri/core/workers/chunks/{2bd4ee083ca4ad221f8b.js → 65cb5e39c467a35621ca.js} +1 -1
- package/assets/esri/core/workers/chunks/661c6324529dd17b297e.js +1 -0
- package/assets/esri/core/workers/chunks/67a35155b8b4d36f171e.js +1 -0
- package/assets/esri/core/workers/chunks/68dd1fd2025c7125ead1.js +1 -0
- package/assets/esri/core/workers/chunks/{89e76de5ae3328d821a4.js → 69f6d5997b8ff1326e39.js} +1 -1
- package/assets/esri/core/workers/chunks/{ae31fd416bbb41a81392.js → 6ad309154fe84210d23c.js} +1 -1
- package/assets/esri/core/workers/chunks/{a40b6d8b5c73e06e14d4.js → 6c255c029d67423e4dac.js} +1 -1
- package/assets/esri/core/workers/chunks/7446d0dfebf93e86c098.js +1 -0
- package/assets/esri/core/workers/chunks/{688f2dbf784e66082308.js → 74c866e0b66e61751861.js} +1 -1
- package/assets/esri/core/workers/chunks/784d6c6949284ed6e10b.js +1 -0
- package/assets/esri/core/workers/chunks/{3ffda5bf0b91700dc308.js → 78643f116677950ea29a.js} +1 -1
- package/assets/esri/core/workers/chunks/{916b363c342b61ba5461.js → 787c1a8bda7d745633f2.js} +1 -1
- package/assets/esri/core/workers/chunks/{e2190361247f35b02b32.js → 7b5cd150a4d0139850be.js} +1 -1
- package/assets/esri/core/workers/chunks/7bbfe9ff352afc566367.js +1 -0
- package/assets/esri/core/workers/chunks/7d2cbc767c336d15e4d5.js +1 -0
- package/assets/esri/core/workers/chunks/{ac5a6603f7fa78d3e4c8.js → 7e8611cb709f105946f5.js} +1 -1
- package/assets/esri/core/workers/chunks/{05cd33d41d91f8d09633.js → 7fb7493f483cd9878bfa.js} +1 -1
- package/assets/esri/core/workers/chunks/{590e6c70206122e4cc3c.js → 844eedda8f749972f707.js} +2 -2
- package/assets/esri/core/workers/chunks/{acfa03c65ba3ca6c5685.js → 8715661a838361d4211a.js} +1 -1
- package/assets/esri/core/workers/chunks/{601e1d020b8115497944.js → 8a485130781b49dbf608.js} +1 -1
- package/assets/esri/core/workers/chunks/{0ccab50877b24f862d6e.js → 8ac2098ecdc40ad41055.js} +1 -1
- package/assets/esri/core/workers/chunks/{a655ebdb4bf0660615a2.js → 8b4e9fd88c0c313416d4.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e544de61f07ca660236.js → 8c12269d26f5a4c753cb.js} +1 -1
- package/assets/esri/core/workers/chunks/{46b4fb6a7fe4877b0efc.js → 94baa354e50c03b82b25.js} +2 -2
- package/assets/esri/core/workers/chunks/9503eedfdda55fc5adab.js +1 -0
- package/assets/esri/core/workers/chunks/950d4578dc450467404c.js +1 -0
- package/assets/esri/core/workers/chunks/{68be3fb88ca61f82fb90.js → 95dbbddac6581b9d671f.js} +1 -1
- package/assets/esri/core/workers/chunks/98be2f621801e230aa01.js +1 -0
- package/assets/esri/core/workers/chunks/999c23da883eb11cb29e.js +1 -0
- package/assets/esri/core/workers/chunks/9b6929faf649e81265fb.js +1 -0
- package/assets/esri/core/workers/chunks/9d61740ef8bdcc162be1.js +1 -0
- package/assets/esri/core/workers/chunks/{fafb92ca2c5e4b0b2c23.js → a09d2e1e2540921e4717.js} +1 -1
- package/assets/esri/core/workers/chunks/a35c69a4751d28c39907.js +1 -0
- package/assets/esri/core/workers/chunks/{3b3e519f15ed52c83f0c.js → a49fe94933b65b4b64f8.js} +1 -1
- package/assets/esri/core/workers/chunks/{1819c45655c836b9a8d7.js → a4d3944700f1cc240176.js} +1 -1
- package/assets/esri/core/workers/chunks/{ec8b7476eac4718eb0ac.js → a504a5e06cb89a620799.js} +1 -1
- package/assets/esri/core/workers/chunks/a596779eaeec7310671d.js +1 -0
- package/assets/esri/core/workers/chunks/{d5d0fe8e198ff5a902ee.js → a5c8f9f5be4ef5063b42.js} +1 -1
- package/assets/esri/core/workers/chunks/{900181f68449d8f82eeb.js → aa1ac7954e4f0fefe15b.js} +1 -1
- package/assets/esri/core/workers/chunks/{90bdf86f553e2742d67c.js → ab1660f5f8a5268c2fac.js} +1 -1
- package/assets/esri/core/workers/chunks/ac24b4370dc7194a3107.js +1 -0
- package/assets/esri/core/workers/chunks/{b8337492e2b753aefac4.js → ace41659a5ca0e5abfc3.js} +1 -1
- package/assets/esri/core/workers/chunks/ae0563d573baf91e01f7.js +1 -0
- package/assets/esri/core/workers/chunks/{3c0ed15b544df6fb0903.js → b48952e1fb4cb7360dd0.js} +1 -1
- package/assets/esri/core/workers/chunks/b5e7475cc5fbf31289d3.js +1 -0
- package/assets/esri/core/workers/chunks/b686cd74975da09b9c91.js +2 -0
- package/assets/esri/core/workers/chunks/{aa36c3a9bbaa086e3757.js → b8fd7c3b36981261378b.js} +1 -1
- package/assets/esri/core/workers/chunks/bd046399e05e759e0bc2.js +1 -0
- package/assets/esri/core/workers/chunks/bd46a04a9ee4ea9e6ef1.js +2 -0
- package/assets/esri/core/workers/chunks/{f3da30d7300b92bd8bb0.js → befa32b9e7b3fbdd431e.js} +1 -1
- package/assets/esri/core/workers/chunks/bfb39590c548188f5052.js +1 -0
- package/assets/esri/core/workers/chunks/c4ddac23bd649d24f3f2.js +1 -0
- package/assets/esri/core/workers/chunks/cddc3e285f763ccf33c2.js +1 -0
- package/assets/esri/core/workers/chunks/d08ff41e2a9bcd58b64a.js +1 -0
- package/assets/esri/core/workers/chunks/d62afb71f4ece4283994.js +1 -0
- package/assets/esri/core/workers/chunks/dc1761cba0454fda3cf9.js +1 -0
- package/assets/esri/core/workers/chunks/{0f617980c7dd9ad0444f.js → dd0310184fe4832755a8.js} +1 -1
- package/assets/esri/core/workers/chunks/dfa5f1311806473e473f.js +1 -0
- package/assets/esri/core/workers/chunks/{4ac1d3e49e242e373a92.js → e0650b1408197d3ac862.js} +1 -1
- package/assets/esri/core/workers/chunks/{3ff6d1ed3c0f1285f3e7.js → e0d9dc97985561320bd4.js} +1 -1
- package/assets/esri/core/workers/chunks/eaddffcc7004101fc230.js +1 -0
- package/assets/esri/core/workers/chunks/eb2652ec48faa78de3c5.js +1 -0
- package/assets/esri/core/workers/chunks/eca44e53bcee9b08d70a.js +1 -0
- package/assets/esri/core/workers/chunks/f00458654c7c34c369ef.js +1 -0
- package/assets/esri/core/workers/chunks/f3cd610084e3f4d8656b.js +1 -0
- package/assets/esri/core/workers/chunks/f47fe4433b05fca5c3ad.js +1 -0
- package/assets/esri/core/workers/chunks/f7bfa3d33b05b250ce33.js +1 -0
- package/assets/esri/core/workers/chunks/f91bc1cb1014e05be763.js +1 -0
- package/assets/esri/core/workers/chunks/{19676b2c5f8b0a5ee680.js → facd1ff23203fed67686.js} +1 -1
- package/assets/esri/core/workers/chunks/{634523cc7757da9020e4.js → fb70ab267a08e24b710f.js} +1 -1
- package/assets/esri/core/workers/chunks/fc139f251dc0523074e7.js +1 -0
- package/assets/esri/core/workers/chunks/{40a584cb952e94326e9e.js → fcb86d24fc7e0666b564.js} +1 -1
- package/assets/esri/themes/base/widgets/_Weather.scss +1 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
- package/chunks/Envelope.js +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/UnitFactory.js +1 -1
- package/chunks/basis_encoder.js +1 -1
- package/chunks/basis_transcoder.js +1 -1
- package/chunks/index.js +1 -1
- package/chunks/lclayout.js +1 -1
- package/chunks/lerc-wasm.js +1 -1
- package/config.d.ts +2 -0
- package/config.js +1 -1
- package/core/accessorSupport/DefaultsStore.js +1 -1
- package/core/accessorSupport/MultiOriginStore.js +1 -1
- package/core/accessorSupport/Store.js +1 -1
- package/core/accessorSupport/decorators/reader.js +1 -1
- package/core/accessorSupport/decorators/writer.js +1 -1
- package/core/sql/WhereGrammar.js +2 -2
- package/core/workers/WorkerOwner.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/core/workers/workers.js +2 -2
- package/core/workers.d.ts +9 -0
- package/editing/sharedTemplates/executor/builders/equallySpaced.js +1 -1
- package/form/elements/inputs/DynamicChoiceInput.d.ts +4 -2
- package/geometry/Mesh.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/support/curves/bezierCurveUtils.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/geometry/support/meshUtils/merge.js +1 -1
- package/geometry/support/meshUtils/rotate.js +1 -1
- package/geometry/support/polygonExtentClipping.js +1 -1
- package/identity/Credential.js +1 -1
- package/kernel.js +1 -1
- package/layers/AnnotationFeatureLayer.d.ts +2 -2
- package/layers/AnnotationFeatureLayer.js +1 -1
- package/layers/CatalogLayer.d.ts +2 -2
- package/layers/CatalogLayer.js +1 -1
- package/layers/DimensionFeatureLayer.d.ts +2 -2
- package/layers/DimensionFeatureLayer.js +1 -1
- package/layers/ElevationLayer.js +1 -1
- package/layers/FeatureLayer.d.ts +4 -4
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.d.ts +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/LineOfSightLayer.d.ts +10 -8
- package/layers/SceneLayer.js +1 -1
- package/layers/SubtypeGroupLayer.d.ts +2 -2
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/ViewshedLayer.d.ts +1 -1
- package/layers/VoxelLayer.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/effects/parser.js +3 -3
- package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
- package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +9 -9
- package/layers/geospatialPDF/GeospatialPDFWorkerClient.js +1 -1
- package/layers/geospatialPDF/LGIDictMapFrame.js +1 -1
- package/layers/geospatialPDF/ViewportMeasureFrame.js +1 -1
- package/layers/geospatialPDF/geospatialPDFParserUtils.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
- package/layers/graphics/sources/parquet/FileProvider.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/mixins/{FeatureLayerReload.d.ts → ReloadableLayer.d.ts} +5 -3
- package/layers/mixins/ReloadableLayer.js +2 -0
- package/layers/raster/datasets/BaseRaster.js +1 -1
- package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
- package/layers/raster/datasets/ImageAuxRaster.js +2 -2
- package/layers/raster/datasets/ImageServerRaster.js +1 -1
- package/layers/raster/datasets/InMemoryRaster.js +1 -1
- package/layers/raster/datasets/MRFRaster.js +1 -1
- package/layers/raster/datasets/TIFFRaster.js +1 -1
- package/layers/raster/datasets/WCSRaster.js +1 -1
- package/layers/raster/formats/ElevationCodec.js +2 -0
- package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
- package/layers/raster/formats/Lerc.js +1 -1
- package/layers/raster/formats/RasterCodec.js +1 -1
- package/layers/raster/formats/TiffDecoder.js +1 -1
- package/layers/raster/formats/Zlib.js +1 -1
- package/layers/raster/functions/stretchUtils.js +1 -1
- package/layers/raster/functions/vectorFieldUtils.js +1 -1
- package/layers/support/FieldsIndex.js +1 -1
- package/layers/support/LercWorker.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/TileInfo.d.ts +1 -1
- package/layers/support/TileInfo.js +1 -1
- package/layers/support/featureReductionProperties.js +1 -1
- package/layers/support/kmlUtils.js +1 -1
- package/layers/support/layerOriginUtils.js +1 -1
- package/layers/video/VideoController.js +10 -10
- package/libs/maquette/projection.js +1 -1
- package/networks/UtilityNetworkTraceAnalysis.js +1 -1
- package/package.json +6 -6
- package/popup/FeatureModel.js +1 -1
- package/popup/FeaturesModel.js +1 -1
- package/portal/Portal.js +1 -1
- package/request/process.js +1 -1
- package/request/types.d.ts +7 -0
- package/rest/knowledgeGraphService.js +1 -1
- package/rest/networks/trace.js +1 -1
- package/rest/query/executeQuery.js +1 -1
- package/smartMapping/raster/renderers/shadedRelief.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/statistics/support/statsWorker.js +1 -1
- package/smartMapping/statistics/support/utils.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
- package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/OGCFeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/smartMapping/support/clusterUtils.js +1 -1
- package/statistics/utils.js +1 -1
- package/symbols/cim/CIMCursor.js +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/support/ElevationInfo.d.ts +4 -3
- package/time/TimeExtent.d.ts +1 -1
- package/undoredo/support/Services.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +2 -2
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/grid/GridView2D.js +1 -1
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/features/sources/strategies/FeatureHybridTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/FeaturePagedTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/FeatureSnapshotLoadStrategy.js +1 -1
- package/views/2d/viewpointUtils.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/LineOfSight/types.d.ts +14 -3
- package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +39 -13
- package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
- package/views/3d/analysis/Viewshed/types.d.ts +7 -0
- package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +43 -15
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
- package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/SpatialIndex2D.js +1 -1
- package/views/3d/layers/i3s/I3SNode.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3DDebugger.js +1 -1
- package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
- package/views/3d/layers/support/MediaLayerInteraction.js +1 -1
- package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/elevationUpdateExtentUtils.js +1 -1
- package/views/3d/support/elevationUpdateUtils.js +1 -1
- package/views/3d/support/pointsOfInterest/Focus.js +1 -1
- package/views/3d/support/sphereExtentUtils.js +2 -0
- package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
- package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/ToolViewManager.js +1 -1
- package/views/View.js +1 -1
- package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/support/InteractiveHandle.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/draw/support/createUtils.js +1 -1
- package/views/draw/support/editingSessionUtils.js +1 -1
- package/views/draw/support/managers/InteractiveHandleManager.js +1 -1
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/interactive/editGeometry/EditGeometry.js +1 -1
- package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
- package/views/interactive/editGeometry/operations/SetAllVertexPositions.js +1 -1
- package/views/interactive/editGeometry/operations/UndoGroup.js +1 -1
- package/views/interactive/options/TooltipOptions.d.ts +2 -0
- package/views/interactive/sketch/SketchTooltipOptions.d.ts +2 -0
- package/views/interactive/sketch/constraintUtils.js +1 -1
- package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
- package/views/interactive/snapping/SnappingManagerPool.js +1 -1
- package/views/interactive/snapping/allLayerSnapping.js +1 -1
- package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/LineOfSightLayerView.d.ts +35 -13
- package/views/layers/SketchLayerView.d.ts +1 -0
- package/views/layers/ViewshedLayerView.d.ts +36 -12
- package/views/webgl/Program.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.d.ts +2 -1
- package/widgets/BasemapToggle/BasemapToggleViewModel.d.ts +2 -0
- package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.d.ts +2 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
- package/widgets/ElevationProfile/components/Statistics.js +1 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/Expand/ExpandViewModel.d.ts +2 -0
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTable/support/GroupColumnTemplate.js +1 -1
- package/widgets/FeatureTable/support/TableTemplate.js +1 -1
- package/widgets/Fullscreen/FullscreenViewModel.d.ts +3 -1
- package/widgets/Home/HomeViewModel.d.ts +2 -0
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Slice.js +1 -1
- package/widgets/Swipe/SwipeViewModel.d.ts +2 -0
- package/widgets/Swipe/types.d.ts +9 -2
- package/widgets/TimeSlider/TimeSliderViewModel.d.ts +9 -5
- package/widgets/TimeSlider/types.d.ts +7 -0
- package/widgets/TimeSlider.d.ts +2 -3
- package/widgets/TimeSlider.js +1 -1
- package/widgets/Track/TrackViewModel.d.ts +4 -0
- package/widgets/Track/types.d.ts +1 -0
- package/widgets/UtilityNetworkTraceAnalysis/UtilityNetworkTraceAnalysisViewModel.js +1 -1
- package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/widgets/support/Selector3D/selectorUtils.js +1 -1
- package/widgets/support/componentsUtils.js +1 -1
- package/assets/esri/core/workers/chunks/0050916e462e3c9e0627.js +0 -1
- package/assets/esri/core/workers/chunks/024b44c0c8876627f904.js +0 -1
- package/assets/esri/core/workers/chunks/02c5d027bdaee67869cf.js +0 -1
- package/assets/esri/core/workers/chunks/03261b9451e293a0fac8.js +0 -1
- package/assets/esri/core/workers/chunks/0c8c01097847617261b9.js +0 -1
- package/assets/esri/core/workers/chunks/0d931c7579b6409a696d.js +0 -1
- package/assets/esri/core/workers/chunks/12c154342fff876f2f1e.js +0 -1
- package/assets/esri/core/workers/chunks/1e11d2e97d17685b878a.js +0 -1
- package/assets/esri/core/workers/chunks/1f339247b68b061ab0a4.js +0 -1
- package/assets/esri/core/workers/chunks/21ddb26526bcb2b122c3.js +0 -1
- package/assets/esri/core/workers/chunks/2eae542fe7f0f6576ac1.js +0 -1
- package/assets/esri/core/workers/chunks/34cbaf844730ac2d92c2.js +0 -2
- package/assets/esri/core/workers/chunks/3c301a689c7853c9fa67.js +0 -2
- package/assets/esri/core/workers/chunks/3f946c13ad97fbed867b.js +0 -1
- package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +0 -1
- package/assets/esri/core/workers/chunks/46a7da93a63663878583.js +0 -1
- package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +0 -1
- package/assets/esri/core/workers/chunks/4c4117e28ea358a32088.js +0 -1
- package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +0 -1
- package/assets/esri/core/workers/chunks/59b216b60464611742d4.js +0 -1
- package/assets/esri/core/workers/chunks/604f0f4150fb79ee54c8.js +0 -1
- package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +0 -1
- package/assets/esri/core/workers/chunks/62ac588f7dd1d24d0c9d.js +0 -1
- package/assets/esri/core/workers/chunks/62c8c9ad09e0166207fd.js +0 -1
- package/assets/esri/core/workers/chunks/62d6e101e9bd9557a410.js +0 -1
- package/assets/esri/core/workers/chunks/6558488ea96620439f34.js +0 -1
- package/assets/esri/core/workers/chunks/665e31c494d2af505acc.js +0 -1
- package/assets/esri/core/workers/chunks/6f4e6022a52de0c54aab.js +0 -1
- package/assets/esri/core/workers/chunks/7267b17de212207142c9.js +0 -1
- package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +0 -1
- package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +0 -1
- package/assets/esri/core/workers/chunks/76ab353d80d786777161.js +0 -2
- package/assets/esri/core/workers/chunks/7ef182e24cad50815b4e.js +0 -1
- package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +0 -1
- package/assets/esri/core/workers/chunks/8431ca60ad33d594e323.js +0 -1
- package/assets/esri/core/workers/chunks/8483c50ed8f280fd74bb.js +0 -1
- package/assets/esri/core/workers/chunks/876f7633c15f1e31078d.js +0 -1
- package/assets/esri/core/workers/chunks/8ca9648eacb894283513.js +0 -1
- package/assets/esri/core/workers/chunks/8cb716f110d164030309.js +0 -1
- package/assets/esri/core/workers/chunks/91ebb2ccab1889eb7e81.js +0 -1
- package/assets/esri/core/workers/chunks/94e427040edb469d58ad.js +0 -1
- package/assets/esri/core/workers/chunks/9ce91a909eccc4dfe388.js +0 -1
- package/assets/esri/core/workers/chunks/9e1a3b6a08c96dcefdde.js +0 -1
- package/assets/esri/core/workers/chunks/9e3e442a9874ed23a043.js +0 -1
- package/assets/esri/core/workers/chunks/ad76f7ab2f3e6d5a5b3c.js +0 -1
- package/assets/esri/core/workers/chunks/aff32980d91dab07dfb7.js +0 -1
- package/assets/esri/core/workers/chunks/b49df4ebd4be1181b0f9.js +0 -2
- package/assets/esri/core/workers/chunks/b557824bc1fa163d72a3.js +0 -2
- package/assets/esri/core/workers/chunks/bbf993dba74850bbf9d7.js +0 -1
- package/assets/esri/core/workers/chunks/d8f1cefcad02d7353d4b.js +0 -1
- package/assets/esri/core/workers/chunks/d938987344bce83cc660.js +0 -1
- package/assets/esri/core/workers/chunks/ddf0671976648f621269.js +0 -1
- package/assets/esri/core/workers/chunks/de02f60258e6985ef676.js +0 -1
- package/assets/esri/core/workers/chunks/e10b57aefcc89671116e.js +0 -1
- package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +0 -1
- package/assets/esri/core/workers/chunks/ed8786fed345718ed684.js +0 -1
- package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +0 -1
- package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +0 -1
- package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +0 -1
- package/assets/esri/core/workers/chunks/fd9663952d5a94f3a83f.js +0 -1
- package/assets/esri/core/workers/chunks/fe9879ecd69ac4329291.js +0 -1
- package/layers/mixins/FeatureLayerReload.js +0 -2
- /package/assets/esri/core/workers/chunks/{b557824bc1fa163d72a3.js.LICENSE.txt → 164c8eeefa8232b2b191.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{b49df4ebd4be1181b0f9.js.LICENSE.txt → 2981e904ab62f3ed80d0.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{34cbaf844730ac2d92c2.js.LICENSE.txt → 32cc59e126df8c96a0cf.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{590e6c70206122e4cc3c.js.LICENSE.txt → 844eedda8f749972f707.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{3c301a689c7853c9fa67.js.LICENSE.txt → b686cd74975da09b9c91.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{76ab353d80d786777161.js.LICENSE.txt → bd46a04a9ee4ea9e6ef1.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
function e(e){if(e.length<2)return!1;let[t,n]=e.subarray(0,2),r=t&15,i=t>>4;return r!==8||i>7?!1:((t<<8|n)&65535)%31==0}function t(e){return e.length>=2&&e[0]===31&&e[1]===139}function n(n){return t(n)?`gzip`:e(n)?`deflate`:null}async function r(e,t){t??=n(e)??`deflate-raw`;let
|
|
2
|
+
function e(e){if(e.length<2)return!1;let[t,n]=e.subarray(0,2),r=t&15,i=t>>4;return r!==8||i>7?!1:((t<<8|n)&65535)%31==0}function t(e){return e.length>=2&&e[0]===31&&e[1]===139}function n(n){return t(n)?`gzip`:e(n)?`deflate`:null}async function r(e,t,r){t??=n(e)??`deflate-raw`;let i=new Response(e).body,a={signal:r?.signal??void 0},o=i.pipeThrough(new DecompressionStream(t),a),s=await new Response(o).arrayBuffer();return new Uint8Array(s)}export{r as inflate};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{assertIsSome as e}from"../../../core/maybe.js";import{getPixelValueRange as t}from"../formats/pixelRangeUtils.js";import n from"../../support/PixelBlock.js";import{stretchTypeFunctionEnum as r}from"../../../renderers/support/stretchRendererUtils.js";const i=[.299,.587,.114];function a(e){if(e==null)return!1;let{max:t,min:n,size:r}=e;return(t-n)/r===1&&n>=-.5&&Math.abs(n%1)===.5&&t<=255.5}function o(e,t=256){t=Math.min(t,256);let{size:n,counts:r}=e,i=new Float64Array(n);i[0]=r[0]/t;for(let e=1;e<n;e++)i[e]=i[e-1]+r[e]/t;let o=new Uint8Array(t),s=t/i[i.length-1];if(n<=t){let r=a(e)?Math.max(0,Math.round(e.min+.5)):0;for(let e=r;e<t;e++)o[e]=e>=n+r?255:Math.min(255,Math.trunc(i[e-r]*s))}else{let e=i.map(e=>Math.min(255,Math.trunc(e*s)));for(let r=0;r<t;r++)o[r]=e[Math.round(n/t)];o[t-1]=255}return o}function s(e){let{minCutOff:t,maxCutOff:n,gamma:r,pixelType:i,rounding:a}=e;if(![`u8`,`u16`,`s8`,`s16`].includes(i))return null;let o=t.length,s=i===`s8`?-127:i===`s16`?-32767:0,l=[`u16`,`s16`].includes(i)?65536:256,u=[],d=[],{minOutput:f=0,maxOutput:p=255}=e,m=p-f;for(let e=0;e<o;e++)d[e]=n[e]-t[e],u[e]=d[e]===0?0:m/d[e];let h=[];if(r&&r.length>=o){let e=C(o,r);for(let i=0;i<o;i++){let o=[];for(let c=0;c<l;c++){if(d[i]===0){o[c]=f;continue}let l=c+s,u=(l-t[i])/d[i],h=1;if(r[i]>1&&(h-=(1/m)**(u*e[i])),l<n[i]&&l>t[i]){let e=h*m*u**(1/r[i])+f;o[c]=a===`floor`?Math.floor(e):a===`round`?Math.round(e):e}else l>=n[i]?o[c]=p:o[c]=f}h[i]=o}}else for(let e=0;e<o;e++){let r=[];for(let i=0;i<l;i++){let o=i+s;if(o<=t[e])r[i]=f;else if(o>=n[e])r[i]=p;else{let n=(o-t[e])*u[e]+f;r[i]=a===`floor`?Math.floor(n):a===`round`?Math.round(n):n}}h[e]=r}if(e.contrastOffset!=null){let t=c(e.contrastOffset,e.brightnessOffset);for(let e=0;e<o;e++){let n=h[e];for(let e=0;e<l;e++)n[e]=t[n[e]]}}return{lut:h,offset:s}}function c(e,t){let n=Math.min(Math.max(e,-100),100),r=Math.min(Math.max(t??0,-100),100),i=new Uint8Array(256);for(let e=0;e<256;e++){let t=0;n>0&&n<100?t=(200*e-25500+510*r)/(2*(100-n))+128:n<=0&&n>-100?t=(200*e-25500+510*r)*(100+n)/2e4+128:n===100?(t=200*e-25500+256*(100-n)+510*r,t=t>0?255:0):n===-100&&(t=128),i[e]=t>255?255:t<0?0:t}return i}function l(e,t,n){let r=[];for(let a=0;a<t.length;a++){let o=0,s=0,c=0;`min`in t[a]?{min:o,max:s,avg:c}=t[a]:[o,s,c]=t[a];let l=c??0;e!==`u8`&&(l=255*(l-o)/(s-o)),n&&(l*=i[a]),r.push(u(l))}return r}function u(e){if(e<=0||e>=255)return 1;let t=e+(e===150?0:e<150?45*Math.cos(.01047*e):17*Math.sin(.021*e)),n=Math.log(e/255),r=Math.log(t/255);if(r===0)return 1;let i=n/r;return isNaN(i)?1:Math.min(9.9,Math.max(.01,i))}function d(e,t,n){let{min:r,max:i,count:a,avg:o,mode:s,median:c}=p(e,t,!0);if(a===0)return{statistics:{min:0,max:0,avg:0,stddev:0,count:a,mode:0,median:0},histogram:null};let l={min:r,max:i,avg:o,mode:s,count:a,median:c},u=_(e,t,o,!n.includeSkewnessKurtosis);u&&(l.stddev=u.stddev,n.includeSkewnessKurtosis&&(l.skewness=u.skewness,l.kurtosis=u.kurtosis));let d=n?.histogramSize??256,m=!!n?.pixelType&&[`u8`,`s8`,`u4`,`u2`,`u1`].includes(n.pixelType),h=!n?.skipHistograms;if(c==null){let n=f({band:e,mask:t,min:r,max:i,size:1e4,use8BitHistogram:m});if(c=g(e,t,n,50),h&&m&&d===256)return{statistics:l,histogram:n}}return h?{statistics:l,histogram:f({band:e,mask:t,min:r,max:i,size:d,use8BitHistogram:m&&d===256})}:{statistics:l,histogram:null}}function f(e){let{band:t,mask:n,min:r,max:i,use8BitHistogram:a}=e;if(a){let e=i-r+1,a=new Uint32Array(e);for(let e=0;e<t.length;e++)(!n||n[e])&&a[t[e]-r]++;return{min:r-.5,max:i+.5,size:e,counts:a}}let o=e.size??256,s=new Uint32Array(o),c=(i-r)/o;if(c===0){let e=n?n.reduce((e,t)=>e+ +!!t,0):t.length;return{min:r,max:i,size:1,counts:new Uint32Array(1).fill(e)}}let l=new Uint32Array(o+1),u=1/c;for(let e=0;e<t.length;e++)(!n||n[e])&&l[Math.floor((t[e]-r)*u)]++;for(let e=0;e<o-1;e++)s[e]=l[e];return s[o-1]=l[o-1]+l[o],{min:r,max:i,size:o,counts:s}}function p(e,t,n=!1,r=!1){let i=1/0,a=-1/0,o=0,s=0,c=0,l=0,u=e.length,d=new Map;for(let n=0;n<u;n++){let r=e[n];if(!t||t[n]){let e=(d.get(r)??0)+1;d.set(r,e),e>l&&(l=e,c=r),i=r<i?r:i,a=r>a?r:a,o+=r,s++}}let f=s>0?o/s:0,p=i===a?i:void 0,m=i===a?i:void 0,h=i===a?i:void 0;if(n&&s>0&&s<2**24){let n=e.slice();if(t){let r=0;for(let i=0;i<u;i++){let a=e[i];t[i]&&(n[r++]=a)}}n=n.slice(0,s),n.sort((e,t)=>e-t);let i=s>>>1;p=s%2?n[Math.floor(i)]:(n[i-1]+n[i])/2,r&&(m=n[Math.floor(s*.25)],h=n[Math.floor(s*.75)])}return{min:i,max:a,count:s,avg:f,mode:c,median:p,quartile1:m,quartile3:h}}function m(e,t,n){let{min:r,max:i,avg:a,median:o,quartile1:s,quartile3:c}=p(e,t,!0,!0);if(o==null||s==null||c==null){let a=f({band:e,mask:t,min:r,max:i,size:1e4,use8BitHistogram:[`u8`,`s8`,`u4`,`u2`,`u1`].includes(n)});o=g(e,t,a,50),s=g(e,t,a,25),c=g(e,t,a,75)}return{min:r,max:i,avg:a,median:o,quartile1:s,quartile3:c}}function h(e){let{pixels:t,mask:n,bandMasks:r,pixelType:i}=e;return t.map((e,t)=>m(e,r?.[t]??n,i))}function g(e,t,n,r=50){let{counts:i,min:a,max:o,size:s}=n,c=i.reduce((e,t)=>e+t);r/=100;let l=c*r,u=0,d=0;for(;d<i.length&&(u+=i[d],!(u>=l+1));d++);let f=(o-a)/s,p=a+f*d,m=a+f*(d+1);if(f===1&&Math.abs(a%1)===.5)return p+.5;let h=e.slice(0,i[d]).fill(0);for(let n=0,r=0;n<e.length;n++)if(!t||t[n]){let t=e[n];t>=p&&t<m&&(h[r++]=t)}h.sort((e,t)=>e-t);let g=u-Math.floor(l)-1;return h[Math.max(0,h.length-1-g)]}function _(e,t,n,r=!1,i=!1){let a=0,o=0,s=0,c=0;for(let i=0;i<e.length;i++)if(!t||t[i]){let t=e[i]-n,l=t*t;if(a+=l,!r){let e=l*t;o+=e;let n=e*t;s+=n}c++}if(c<2)return null;a/=c-1;let l=Math.sqrt(a);return r?{stddev:l}:(s/=c,{stddev:l,skewness:i?o*(c/((c-1)*(c-2)))/a**1.5:o/c/a**1.5,kurtosis:s/(a*a)})}function v(e,t){let{pixels:n,mask:r,pixelType:i,bandMasks:a}=e,o=n.map((e,n)=>d(e,a?.[n]??r,{pixelType:i,...t}));return{statistics:o.map(({statistics:e})=>e),histograms:o.map(({histogram:e})=>e)}}function y(e){if(!e?.pixels?.length)return null;let{pixels:t,mask:n,bandMasks:r,pixelType:i}=e,a=e.width*e.height,o=t.length,s=[],c=[],l,u;for(let d=0;d<o;d++){let o=new Uint32Array(256),f=t[d],p=r?.[d]??n;if(i===`u8`){if(l=255,u=0,p){for(let e=0;e<a;e++)if(p[e]){let t=f[e];l=t<l?t:l,u=t>u?t:u,o[t]++}}else for(let e=0;e<a;e++){let t=f[e];l=t<l?t:l,u=t>u?t:u,o[t]++}o=o.slice(l,u+1)}else{let t=!1;e.statistics||(e.updateStatistics(),t=!0);let n=e.statistics;l=n[d].minValue,u=n[d].maxValue;let r=(u-l)/256;if(r===0){n&&!e.validPixelCount&&!t&&e.updateStatistics();let r=(e.validPixelCount||e.width*e.height)/256;for(let e=0;e<256;e++)o[e]=Math.round(r*(e+1))-Math.round(r*e)}else{let e=new Uint32Array(257);for(let t=0;t<a;t++)(!p||p[t])&&e[Math.floor((f[t]-l)/r)]++;for(let t=0;t<255;t++)o[t]=e[t];o[255]=e[255]+e[256]}}let m=i===`u8`?l-.5:l,h=i===`u8`?u+.5:u;s.push({min:m,max:h,size:o.length,counts:o});let g=0,_=0,v=0;for(let e=0;e<o.length;e++)g+=o[e],_+=e*o[e];let y=_/g;for(let e=0;e<o.length;e++)v+=o[e]*(e-y)**2;let b=Math.sqrt(v/(g-1)),x=(h-m)/o.length,S=(y+(i===`u8`?0:.5))*x+l,C=b*x;c.push({min:l,max:u,avg:S,stddev:C})}return{statistics:c,histograms:s}}function b(e){let t=[];for(let n=0;n<e.length;n++){let{min:r,max:i,size:a,counts:o}=e[n],s=0,c=0;for(let e=0;e<a;e++)s+=o[e],c+=e*o[e];let l=c/s,u=0;for(let e=0;e<a;e++)u+=o[e]*(e-l)**2;let d=Math.sqrt(u/(s-1)),f=(i-r)/a,p=(l+.5)*f+r,m=d*f;t.push({min:r,max:i,avg:p,stddev:m})}return t}function x(n,i){let{pixelBlock:a,bandIds:s,returnHistogramLut:c,rasterInfo:l}=i,u=null,d=null,f=n.stretchType;if(typeof f==`number`&&(f=r[f]),n.dra){if(f===`minMax`&&a?.statistics)u=a.statistics.map(e=>[e.minValue,e.maxValue,0,0]);else{let e=y(a);u=e==null?null:e.statistics,d=e==null?null:e.histograms}}else u=n.statistics?.length?n.statistics:l.statistics,d=`histograms`in n?n.histograms:void 0,d||=l.histograms;(f===`percentClip`||f===`histogramEqualization`)&&!d?.length&&(f=`minMax`);let p=u?.length||d?.length||l.bandCount,m=[],h=[];u&&!Array.isArray(u[0])&&(u=u.map(e=>[e.min,e.max,e.avg,e.stddev]));let[g,_]=t(l.pixelType);if(!u?.length){u=[];for(let e=0;e<p;e++)u.push([g,_,1,1]);f===`standardDeviation`&&(f=`minMax`)}switch(f){case`none`:for(let e=0;e<p;e++)m[e]=g,h[e]=_;break;case`minMax`:for(let e=0;e<p;e++){let t=u[e];m[e]=t[0],h[e]=t[1]}break;case`standardDeviation`:{let{numberOfStandardDeviations:e=2}=n;for(let t=0;t<p;t++){let n=u[t];m[t]=n[2]-e*n[3],h[t]=n[2]+e*n[3],m[t]<n[0]&&(m[t]=n[0]),h[t]>n[1]&&(h[t]=n[1])}}break;case`histogramEqualization`:e(d);for(let e=0;e<p;e++)m[e]=d[e].min,h[e]=d[e].max;break;case`percentClip`:e(d);for(let e=0;e<d.length;e++){let t=d[e],r=new Uint32Array(t.size),i=[...t.counts];i.length>=20&&(i[0]=i[1]=i[2]=i[i.length-1]=i[i.length-2]=0);let a=0,o=(t.max-t.min)/t.size,s=t.min===-.5&&o===1?.5:0;for(let e=0;e<t.size;e++)a+=i[e],r[e]=a;let c=(n.minPercent||0)*a/100;m[e]=t.min+s;for(let n=0;n<t.size;n++)if(r[n]>c){m[e]=t.min+o*(n+s);break}c=(1-(n.maxPercent||0)/100)*a,h[e]=t.max+s;for(let n=t.size-2;n>=0;n--)if(r[n]<c){h[e]=t.min+o*(n+2-s);break}if(h[e]<m[e]){let t=m[e];m[e]=h[e],h[e]=t}}break;default:for(let e=0;e<p;e++){let t=u[e];m[e]=t[0],h[e]=t[1]}}let v,b,x;return f===`histogramEqualization`?(e(d),b=d[0].size||256,v=0,c&&(x=d.map(e=>o(e)))):(b=n.max||255,v=n.min||0),S({minCutOff:m,maxCutOff:h,maxOutput:b,minOutput:v,histogramLut:x},s)}function S(e,t){if(t==null||t.length===0)return e;let n=Math.max.apply(null,t),{minCutOff:r,maxCutOff:i,minOutput:a,maxOutput:o,histogramLut:s}=e;return r.length===t.length||r.length<=n?e:{minCutOff:t.map(e=>r[e]),maxCutOff:t.map(e=>i[e]),histogramLut:s?t.map(e=>s[e]):null,minOutput:a,maxOutput:o}}function C(e,t){let n=new Float32Array(e);for(let r=0;r<e;r++)t[r]>1?t[r]>2?n[r]=6.5+(t[r]-2)**2.5:n[r]=6.5+100*(2-t[r])**4:n[r]=1;return n}function w(e,t){if(!e?.pixels?.length)return e;let{mask:r,bandMasks:i,width:a,height:o,pixels:s}=e,{minCutOff:c,maxCutOff:l,minOutput:u,maxOutput:d,gamma:f}=t,p=a*o,m=t.outputPixelType||`u8`,h=e.pixels.map(()=>n.createEmptyBand(m,p)),g=h.length,_=d-u,v=[],y=[];for(let e=0;e<g;e++)y[e]=l[e]-c[e],v[e]=y[e]===0?0:_/y[e];let b=m.startsWith(`u`)||m.startsWith(`s`),x=f&&f.length>=g,S=!!t.isRenderer;if(x){let e=C(g,f);for(let t=0;t<g;t++){let n=i?.[t]??r;for(let r=0;r<p;r++)if(n==null||n[r]){if(y[t]===0){h[t][r]=u;continue}let n=s[t][r],i=(n-c[t])/y[t],a=1;if(f[t]>1&&(a-=(1/_)**(i*e[t])),n<l[t]&&n>c[t]){let e=a*_*i**(1/f[t])+u;h[t][r]=S?Math.floor(e):b?Math.round(e):e}else n>=l[t]?h[t][r]=d:h[t][r]=u}}}else for(let e=0;e<g;e++){let t=i?.[e]??r;for(let n=0;n<p;n++)if(t==null||t[n]){let t=s[e][n];if(t<l[e]&&t>c[e]){let r=(t-c[e])*v[e]+u;h[e][n]=S?Math.floor(r):b?Math.round(r):r}else t>=l[e]?h[e][n]=d:h[e][n]=u}}let w=new n({width:a,height:o,mask:r,bandMasks:i,pixels:h,pixelType:m});return w.updateStatistics(),w}export{h as computeBoxStatistics,C as computeGammaCorrection,l as computeGammaValues,v as computeStatisticsHistograms,c as createContrastBrightnessLUT,o as createHistogramEqualizationLUT,s as createStretchLUT,b as estimateStatisticsFromHistograms,y as estimateStatisticsHistograms,x as getStretchCutoff,a as isStandardU8Histogram,w as stretch};
|
|
2
|
+
import{assertIsSome as e}from"../../../core/maybe.js";import{getPixelValueRange as t}from"../formats/pixelRangeUtils.js";import n from"../../support/PixelBlock.js";import{stretchTypeFunctionEnum as r}from"../../../renderers/support/stretchRendererUtils.js";const i=[.299,.587,.114];function a(e){if(e==null)return!1;let{max:t,min:n,size:r}=e;return(t-n)/r===1&&n>=-.5&&Math.abs(n%1)===.5&&t<=255.5}function o(e,t=256){t=Math.min(t,256);let{size:n,counts:r}=e,i=new Float64Array(n);i[0]=r[0]/t;for(let e=1;e<n;e++)i[e]=i[e-1]+r[e]/t;let o=new Uint8Array(t),s=t/i[i.length-1];if(n<=t){let r=a(e)?Math.max(0,Math.round(e.min+.5)):0;for(let e=r;e<t;e++)o[e]=e>=n+r?255:Math.min(255,Math.trunc(i[e-r]*s))}else{let e=i.map(e=>Math.min(255,Math.trunc(e*s)));for(let r=0;r<t;r++)o[r]=e[Math.round(n/t)];o[t-1]=255}return o}function s(e){let{minCutOff:t,maxCutOff:n,gamma:r,pixelType:i,rounding:a}=e;if(![`u8`,`u16`,`s8`,`s16`].includes(i))return null;let o=t.length,s=i===`s8`?-127:i===`s16`?-32767:0,l=[`u16`,`s16`].includes(i)?65536:256,u=[],d=[],{minOutput:f=0,maxOutput:p=255}=e,m=p-f;for(let e=0;e<o;e++)d[e]=n[e]-t[e],u[e]=d[e]===0?0:m/d[e];let h=[];if(r&&r.length>=o){let e=C(o,r);for(let i=0;i<o;i++){let o=[];for(let c=0;c<l;c++){if(d[i]===0){o[c]=f;continue}let l=c+s,u=(l-t[i])/d[i],h=1;if(r[i]>1&&(h-=(1/m)**(u*e[i])),l<n[i]&&l>t[i]){let e=h*m*u**(1/r[i])+f;o[c]=a===`floor`?Math.floor(e):a===`round`?Math.round(e):e}else l>=n[i]?o[c]=p:o[c]=f}h[i]=o}}else for(let e=0;e<o;e++){let r=[];for(let i=0;i<l;i++){let o=i+s;if(o<=t[e])r[i]=f;else if(o>=n[e])r[i]=p;else{let n=(o-t[e])*u[e]+f;r[i]=a===`floor`?Math.floor(n):a===`round`?Math.round(n):n}}h[e]=r}if(e.contrastOffset!=null){let t=c(e.contrastOffset,e.brightnessOffset);for(let e=0;e<o;e++){let n=h[e];for(let e=0;e<l;e++)n[e]=t[n[e]]}}return{lut:h,offset:s}}function c(e,t){let n=Math.min(Math.max(e,-100),100),r=Math.min(Math.max(t??0,-100),100),i=new Uint8Array(256);for(let e=0;e<256;e++){let t=0;n>0&&n<100?t=(200*e-25500+510*r)/(2*(100-n))+128:n<=0&&n>-100?t=(200*e-25500+510*r)*(100+n)/2e4+128:n===100?(t=200*e-25500+256*(100-n)+510*r,t=t>0?255:0):n===-100&&(t=128),i[e]=t>255?255:t<0?0:t}return i}function l(e,t,n){let r=[];for(let a=0;a<t.length;a++){let o=0,s=0,c=0;`min`in t[a]?{min:o,max:s,avg:c}=t[a]:[o,s,c]=t[a];let l=c??0;e!==`u8`&&(l=255*(l-o)/(s-o)),n&&(l*=i[a]),r.push(u(l))}return r}function u(e){if(e<=0||e>=255)return 1;let t=e+(e===150?0:e<150?45*Math.cos(.01047*e):17*Math.sin(.021*e)),n=Math.log(e/255),r=Math.log(t/255);if(r===0)return 1;let i=n/r;return isNaN(i)?1:Math.min(9.9,Math.max(.01,i))}function d(e,t,n){let{min:r,max:i,count:a,avg:o,mode:s,median:c}=p(e,t,!0);if(a===0)return{statistics:{min:0,max:0,avg:0,stddev:0,count:a,mode:0,median:0},histogram:null};let l={min:r,max:i,avg:o,mode:s,count:a,median:c},u=_(e,t,o,!n.includeSkewnessKurtosis);u&&(l.stddev=u.stddev,n.includeSkewnessKurtosis&&(l.skewness=u.skewness,l.kurtosis=u.kurtosis));let d=n?.histogramSize??256,m=!!n?.pixelType&&[`u8`,`s8`,`u4`,`u2`,`u1`].includes(n.pixelType),h=!n?.skipHistograms;if(c==null){let n=f({band:e,mask:t,min:r,max:i,size:1e4,use8BitHistogram:m});if(c=g(e,t,n,50),h&&m&&d===256)return{statistics:l,histogram:n}}return h?{statistics:l,histogram:f({band:e,mask:t,min:r,max:i,size:d,use8BitHistogram:m&&d===256})}:{statistics:l,histogram:null}}function f(e){let{band:t,mask:n,min:r,max:i,use8BitHistogram:a}=e;if(a){let e=i-r+1,a=new Uint32Array(e);for(let e=0;e<t.length;e++)(!n||n[e])&&a[t[e]-r]++;return{min:r-.5,max:i+.5,size:e,counts:a}}let o=e.size??256,s=new Uint32Array(o),c=(i-r)/o;if(c===0){let e=n?n.reduce((e,t)=>e+ +!!t,0):t.length;return{min:r,max:i,size:1,counts:new Uint32Array(1).fill(e)}}let l=new Uint32Array(o+1),u=1/c;for(let e=0;e<t.length;e++)(!n||n[e])&&l[Math.floor((t[e]-r)*u)]++;for(let e=0;e<o-1;e++)s[e]=l[e];return s[o-1]=l[o-1]+l[o],{min:r,max:i,size:o,counts:s}}function p(e,t,n=!1,r=!1){let i=1/0,a=-1/0,o=0,s=0,c=0,l=0,u=e.length,d=new Map;for(let n=0;n<u;n++){let r=e[n];if(!t||t[n]){let e=(d.get(r)??0)+1;d.set(r,e),e>l&&(l=e,c=r),i=r<i?r:i,a=r>a?r:a,o+=r,s++}}let f=s>0?o/s:0,p=i===a?i:void 0,m=i===a?i:void 0,h=i===a?i:void 0;if(n&&s>0&&s<2**24){let n=e.slice();if(t){let r=0;for(let i=0;i<u;i++){let a=e[i];t[i]&&(n[r++]=a)}}n=n.slice(0,s),n.sort((e,t)=>e-t);let i=s>>>1;p=s%2?n[Math.floor(i)]:(n[i-1]+n[i])/2,r&&(m=n[Math.floor(s*.25)],h=n[Math.floor(s*.75)])}return{min:i,max:a,count:s,avg:f,mode:c,median:p,quartile1:m,quartile3:h}}function m(e,t,n){let{min:r,max:i,avg:a,median:o,quartile1:s,quartile3:c}=p(e,t,!0,!0);if(o==null||s==null||c==null){let a=f({band:e,mask:t,min:r,max:i,size:1e4,use8BitHistogram:[`u8`,`s8`,`u4`,`u2`,`u1`].includes(n)});o=g(e,t,a,50),s=g(e,t,a,25),c=g(e,t,a,75)}return{min:r,max:i,avg:a,median:o,quartile1:s,quartile3:c}}function h(e){let{pixels:t,mask:n,bandMasks:r,pixelType:i}=e;return t.map((e,t)=>m(e,r?.[t]??n,i))}function g(e,t,n,r=50){let{counts:i,min:a,max:o,size:s}=n,c=i.reduce((e,t)=>e+t);r/=100;let l=c*r,u=0,d=0;for(;d<i.length&&(u+=i[d],!(u>=l+1));d++);let f=(o-a)/s,p=a+f*d,m=a+f*(d+1);if(f===1&&Math.abs(a%1)===.5)return p+.5;let h=e.slice(0,i[d]).fill(0);for(let n=0,r=0;n<e.length;n++)if(!t||t[n]){let t=e[n];t>=p&&t<m&&(h[r++]=t)}h.sort((e,t)=>e-t);let g=u-Math.floor(l)-1;return h[Math.max(0,h.length-1-g)]}function _(e,t,n,r=!1,i=!1){let a=0,o=0,s=0,c=0;for(let i=0;i<e.length;i++)if(!t||t[i]){let t=e[i]-n,l=t*t;if(a+=l,!r){let e=l*t;o+=e;let n=e*t;s+=n}c++}if(c<2)return null;a/=c-1;let l=Math.sqrt(a);return r?{stddev:l}:(s/=c,{stddev:l,skewness:i?o*(c/((c-1)*(c-2)))/a**1.5:o/c/a**1.5,kurtosis:s/(a*a)})}function v(e,t){let{pixels:n,mask:r,pixelType:i,bandMasks:a}=e,o=n.map((e,n)=>d(e,a?.[n]??r,{pixelType:i,...t}));return{statistics:o.map(({statistics:e})=>e),histograms:o.map(({histogram:e})=>e)}}function y(e){if(!e?.pixels?.length)return null;let{pixels:t,mask:n,bandMasks:r,pixelType:i}=e,a=e.width*e.height,o=t.length,s=[],c=[],l,u;for(let d=0;d<o;d++){let o=new Uint32Array(256),f=t[d],p=r?.[d]??n;if(i===`u8`){if(l=255,u=0,p){for(let e=0;e<a;e++)if(p[e]){let t=f[e];l=t<l?t:l,u=t>u?t:u,o[t]++}}else for(let e=0;e<a;e++){let t=f[e];l=t<l?t:l,u=t>u?t:u,o[t]++}o=o.slice(l,u+1)}else{let t=!1;e.statistics||(e.updateStatistics(),t=!0);let n=e.statistics;l=n[d].minValue,u=n[d].maxValue;let r=(u-l)/256;if(r===0){n&&!e.validPixelCount&&!t&&e.updateStatistics();let r=(e.validPixelCount||e.width*e.height)/256;for(let e=0;e<256;e++)o[e]=Math.round(r*(e+1))-Math.round(r*e)}else{let e=new Uint32Array(257);for(let t=0;t<a;t++)(!p||p[t])&&e[Math.floor((f[t]-l)/r)]++;for(let t=0;t<255;t++)o[t]=e[t];o[255]=e[255]+e[256]}}let m=i===`u8`?l-.5:l,h=i===`u8`?u+.5:u;s.push({min:m,max:h,size:o.length,counts:o});let g=0,_=0,v=0;for(let e=0;e<o.length;e++)g+=o[e],_+=e*o[e];let y=_/g;for(let e=0;e<o.length;e++)v+=o[e]*(e-y)**2;let b=Math.sqrt(v/(g-1)),x=(h-m)/o.length,S=(y+(i===`u8`?0:.5))*x+l,C=b*x;c.push({min:l,max:u,avg:S,stddev:C})}return{statistics:c,histograms:s}}function b(e){let t=[];for(let n=0;n<e.length;n++){let{min:r,max:i,size:a,counts:o}=e[n],s=0,c=0;for(let e=0;e<a;e++)s+=o[e],c+=e*o[e];let l=c/s,u=0;for(let e=0;e<a;e++)u+=o[e]*(e-l)**2;let d=Math.sqrt(u/(s-1)),f=(i-r)/a,p=(l+.5)*f+r,m=d*f;t.push({min:r,max:i,avg:p,stddev:m})}return t}function x(n,i){let{pixelBlock:a,bandIds:s,returnHistogramLut:c,rasterInfo:l}=i,u=null,d=null,f=n.stretchType;if(typeof f==`number`&&(f=r[f]),n.dra){if(f===`minMax`&&a?.statistics)u=a.statistics.map(e=>[e.minValue,e.maxValue,0,0]);else{let e=y(a);u=e==null?null:e.statistics,d=e==null?null:e.histograms}}else u=n.statistics?.length?n.statistics:l.statistics,d=`histograms`in n?n.histograms:void 0,d||=l.histograms;f!==`percentClip`&&f!==`histogramEqualization`||d?.length||(f=`minMax`);let p=u?.length||d?.length||l.bandCount,m=[],h=[];u&&!Array.isArray(u[0])&&(u=u.map(e=>[e.min,e.max,e.avg,e.stddev]));let[g,_]=t(l.pixelType);if(!u?.length){u=[];for(let e=0;e<p;e++)u.push([g,_,1,1]);f===`standardDeviation`&&(f=`minMax`)}switch(f){case`none`:for(let e=0;e<p;e++)m[e]=g,h[e]=_;break;case`minMax`:for(let e=0;e<p;e++){let t=u[e];m[e]=t[0],h[e]=t[1]}break;case`standardDeviation`:{let{numberOfStandardDeviations:e=2}=n;for(let t=0;t<p;t++){let n=u[t];m[t]=n[2]-e*n[3],h[t]=n[2]+e*n[3],m[t]<n[0]&&(m[t]=n[0]),h[t]>n[1]&&(h[t]=n[1])}}break;case`histogramEqualization`:e(d);for(let e=0;e<p;e++)m[e]=d[e].min,h[e]=d[e].max;break;case`percentClip`:e(d);for(let e=0;e<d.length;e++){let t=d[e],r=new Uint32Array(t.size),i=[...t.counts];i.length>=20&&(i[0]=i[1]=i[2]=i[i.length-1]=i[i.length-2]=0);let a=0,o=(t.max-t.min)/t.size,s=t.min===-.5&&o===1?.5:0;for(let e=0;e<t.size;e++)a+=i[e],r[e]=a;let c=(n.minPercent||0)*a/100;m[e]=t.min+s;for(let n=0;n<t.size;n++)if(r[n]>c){m[e]=t.min+o*(n+s);break}c=(1-(n.maxPercent||0)/100)*a,h[e]=t.max+s;for(let n=t.size-2;n>=0;n--)if(r[n]<c){h[e]=t.min+o*(n+2-s);break}if(h[e]<m[e]){let t=m[e];m[e]=h[e],h[e]=t}}break;default:for(let e=0;e<p;e++){let t=u[e];m[e]=t[0],h[e]=t[1]}}let v,b,x;return f===`histogramEqualization`?(e(d),b=d[0].size||256,v=0,c&&(x=d.map(e=>o(e)))):(b=n.max||255,v=n.min||0),S({minCutOff:m,maxCutOff:h,maxOutput:b,minOutput:v,histogramLut:x},s)}function S(e,t){if(t==null||t.length===0)return e;let n=Math.max.apply(null,t),{minCutOff:r,maxCutOff:i,minOutput:a,maxOutput:o,histogramLut:s}=e;return r.length===t.length||r.length<=n?e:{minCutOff:t.map(e=>r[e]),maxCutOff:t.map(e=>i[e]),histogramLut:s?t.map(e=>s[e]):null,minOutput:a,maxOutput:o}}function C(e,t){let n=new Float32Array(e);for(let r=0;r<e;r++)t[r]>1?t[r]>2?n[r]=6.5+(t[r]-2)**2.5:n[r]=6.5+100*(2-t[r])**4:n[r]=1;return n}function w(e,t){if(!e?.pixels?.length)return e;let{mask:r,bandMasks:i,width:a,height:o,pixels:s}=e,{minCutOff:c,maxCutOff:l,minOutput:u,maxOutput:d,gamma:f}=t,p=a*o,m=t.outputPixelType||`u8`,h=e.pixels.map(()=>n.createEmptyBand(m,p)),g=h.length,_=d-u,v=[],y=[];for(let e=0;e<g;e++)y[e]=l[e]-c[e],v[e]=y[e]===0?0:_/y[e];let b=m.startsWith(`u`)||m.startsWith(`s`),x=f&&f.length>=g,S=!!t.isRenderer;if(x){let e=C(g,f);for(let t=0;t<g;t++){let n=i?.[t]??r;for(let r=0;r<p;r++)if(n==null||n[r]){if(y[t]===0){h[t][r]=u;continue}let n=s[t][r],i=(n-c[t])/y[t],a=1;if(f[t]>1&&(a-=(1/_)**(i*e[t])),n<l[t]&&n>c[t]){let e=a*_*i**(1/f[t])+u;h[t][r]=S?Math.floor(e):b?Math.round(e):e}else n>=l[t]?h[t][r]=d:h[t][r]=u}}}else for(let e=0;e<g;e++){let t=i?.[e]??r;for(let n=0;n<p;n++)if(t==null||t[n]){let t=s[e][n];if(t<l[e]&&t>c[e]){let r=(t-c[e])*v[e]+u;h[e][n]=S?Math.floor(r):b?Math.round(r):r}else t>=l[e]?h[e][n]=d:h[e][n]=u}}let w=new n({width:a,height:o,mask:r,bandMasks:i,pixels:h,pixelType:m});return w.updateStatistics(),w}export{h as computeBoxStatistics,C as computeGammaCorrection,l as computeGammaValues,v as computeStatisticsHistograms,c as createContrastBrightnessLUT,o as createHistogramEqualizationLUT,s as createStretchLUT,b as estimateStatisticsFromHistograms,y as estimateStatisticsHistograms,x as getStretchCutoff,a as isStandardU8Histogram,w as stretch};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{JSONMap as e}from"../../../core/jsonMap.js";import{isValidPixelBlock as t}from"./pixelUtils.js";import n from"../../support/PixelBlock.js";const r=new Map;r.set(`meter-per-second`,1),r.set(`kilometer-per-hour`,.277778),r.set(`knots`,.514444),r.set(`feet-per-second`,.3048),r.set(`mile-per-hour`,.44704);const i=180/Math.PI,a=new e({esriMetersPerSecond:`meter-per-second`,esriKilometersPerHour:`kilometer-per-hour`,esriKnots:`knots`,esriFeetPerSecond:`feet-per-second`,esriMilesPerHour:`mile-per-hour`});function o(e,t){return r.get(e)/r.get(t)||1}function s(e){return(450-e)%360}function c(e,t=`geographic`){let[n,r]=e,a=Math.sqrt(n*n+r*r),o=Math.atan2(r,n)*i;return o=(360+o)%360,t===`geographic`&&(o=s(o)),[a,o]}function l(e,t=`geographic`){let n=e[1];t===`geographic`&&(n=s(n)),n%=360;let r=e[0];return[r*Math.cos(n/i),r*Math.sin(n/i)]}function u(e,n,r,i=`geographic`){if(!t(e)||r==null)return e;let a=n===`vector-magdir`?e.clone():d(e,n),o=a.pixels[1];for(let e=0;e<o.length;e++)i===`geographic`?o[e]=(o[e]+r[e]+270)%360:o[e]=(o[e]+360-r[e])%360;return n===`vector-magdir`?a:d(a,`vector-magdir`)}function d(e,r,i=`geographic`,a=1){if(!t(e))return e;let{pixels:o,width:s,height:u}=e,d=s*u,f=o[0],p=o[1],m=e.pixelType.startsWith(`f`)?e.pixelType:`f32`,h=n.createEmptyBand(m,d),g=n.createEmptyBand(m,d),_=0;for(let e=0;e<u;e++)for(let e=0;e<s;e++)r===`vector-uv`?([h[_],g[_]]=c([f[_],p[_]],i),h[_]*=a):([h[_],g[_]]=l([f[_],p[_]],i),h[_]*=a,g[_]*=a),_++;let v=new n({pixelType:m,width:e.width,height:e.height,mask:e.mask,validPixelCount:e.validPixelCount,maskIsAlpha:e.maskIsAlpha,pixels:[h,g]});return v.updateStatistics(),v}function f(e,n,r=1){if(r===1||!t(e))return e;let i=e.clone(),{pixels:a,width:o,height:s}=i,c=a[0],l=a[1],u=0;for(let e=0;e<s;e++)for(let e=0;e<o;e++)n===`vector-uv`?(c[u]*=r,l[u]*=r):c[u]*=r,u++;return i.updateStatistics(),i}function p(e,t,n,r,i){
|
|
2
|
+
import{JSONMap as e}from"../../../core/jsonMap.js";import{isValidPixelBlock as t}from"./pixelUtils.js";import n from"../../support/PixelBlock.js";const r=new Map;r.set(`meter-per-second`,1),r.set(`kilometer-per-hour`,.277778),r.set(`knots`,.514444),r.set(`feet-per-second`,.3048),r.set(`mile-per-hour`,.44704);const i=180/Math.PI,a=new e({esriMetersPerSecond:`meter-per-second`,esriKilometersPerHour:`kilometer-per-hour`,esriKnots:`knots`,esriFeetPerSecond:`feet-per-second`,esriMilesPerHour:`mile-per-hour`});function o(e,t){return r.get(e)/r.get(t)||1}function s(e){return(450-e)%360}function c(e,t=`geographic`){let[n,r]=e,a=Math.sqrt(n*n+r*r),o=Math.atan2(r,n)*i;return o=(360+o)%360,t===`geographic`&&(o=s(o)),[a,o]}function l(e,t=`geographic`){let n=e[1];t===`geographic`&&(n=s(n)),n%=360;let r=e[0];return[r*Math.cos(n/i),r*Math.sin(n/i)]}function u(e,n,r,i=`geographic`){if(!t(e)||r==null)return e;let a=n===`vector-magdir`?e.clone():d(e,n),o=a.pixels[1];for(let e=0;e<o.length;e++)i===`geographic`?o[e]=(o[e]+r[e]+270)%360:o[e]=(o[e]+360-r[e])%360;return n===`vector-magdir`?a:d(a,`vector-magdir`)}function d(e,r,i=`geographic`,a=1){if(!t(e))return e;let{pixels:o,width:s,height:u}=e,d=s*u,f=o[0],p=o[1],m=e.pixelType.startsWith(`f`)?e.pixelType:`f32`,h=n.createEmptyBand(m,d),g=n.createEmptyBand(m,d),_=0;for(let e=0;e<u;e++)for(let e=0;e<s;e++)r===`vector-uv`?([h[_],g[_]]=c([f[_],p[_]],i),h[_]*=a):([h[_],g[_]]=l([f[_],p[_]],i),h[_]*=a,g[_]*=a),_++;let v=new n({pixelType:m,width:e.width,height:e.height,mask:e.mask,validPixelCount:e.validPixelCount,maskIsAlpha:e.maskIsAlpha,pixels:[h,g]});return v.updateStatistics(),v}function f(e,n,r=1){if(r===1||!t(e))return e;let i=e.clone(),{pixels:a,width:o,height:s}=i,c=a[0],l=a[1],u=0;for(let e=0;e<s;e++)for(let e=0;e<o;e++)n===`vector-uv`?(c[u]*=r,l[u]*=r):c[u]*=r,u++;return i.updateStatistics(),i}function p(e,t,n,r,i){i!=null&&i.spatialReference.equals(e.spatialReference)||(i=e);let a=i.xmin,o=i.ymax,s=e.width/t,c=e.height/n,l=(s+c)/2,u=s*r,d=c*r;return e=e.clone(),e.xmin=a+Math.floor((e.xmin-a)/u)*u,e.xmax=a+Math.ceil((e.xmax-a)/u)*u,e.ymin=o+Math.floor((e.ymin-o)/d)*d,e.ymax=o+Math.ceil((e.ymax-o)/d)*d,{extent:e,width:Math.round(e.width/s),height:Math.round(e.height/c),resolution:l}}const m=h(0,0,0);function h(e=0,t=0,n=Math.PI,r=!0){r&&(n=(Math.PI*2-n)%(Math.PI*2));let i=r?-1:1,a=13*i,o=-7*i,s=-2*i,c=-16*i,l=21.75,[u,d]=_(0,t+a,n,l),[f,p]=_(e-5.5,t+o,n,l),[m,h]=_(e+5.5,t+o,n,l),[g,v]=_(e-1.5,t+s,n,l),[y,b]=_(e+1.5,t+s,n,l),[x,S]=_(e-1.5,t+c,n,l),[C,w]=_(e+1.5,t+c,n,l);return[u,d,f,p,g,v,y,b,m,h,x,S,C,w]}function g(e=0,t=Math.PI,n=!0){n&&(t=(Math.PI*2-t)%(Math.PI*2));let r=n?-1:1,i=5*r,a=20*r,o=25*r,s=2*r,c=n?1:-1,l=5*c,[u,d]=[0+l,0-a],[f,p]=[u+2*c,d],[m,h]=[f-0*c,p+s],[g,v]=[0-l,0-o],[y,b]=[g+0*c,v-s],x=Math.ceil(e/5),S=Math.floor(x/10);x-=S*8;let C=[],w=[];for(let e=0;e<x/2;e++,S--){S<=0&&x%2==1&&e===(x-1)/2&&(g=0,y=g+0*c,v=(v+d)/2,b=v-s);let[n,r]=_(g,v,t,45);if(S>0){let[e,i]=_(f,v,t,45),[a,o]=_(u,d,t,45);C.push(e),C.push(i),C.push(n),C.push(r),C.push(a),C.push(o)}else{let[e,i]=_(f,p,t,45),[a,o]=_(m,h,t,45),[s,c]=_(y,b,t,45);w.push(n),w.push(r),w.push(s),w.push(c),w.push(a),w.push(o),w.push(e),w.push(i)}v+=i,d+=i,p+=i,h+=i,b+=i}let[T,E]=_(0+l,0+a,t,45),D=7*c,[O,k]=_(0+D,0+a,t,45),[A,j]=_(0+l,0-o,t,45),[M,N]=_(0+D,0-o,t,45);return{pennants:C,barbs:w,shaft:[T,E,O,k,A,j,M,N]}}function _(e,t,n,r=1){let i=Math.sqrt(e*e+t*t)/r,a=(Math.PI*2+Math.atan2(t,e))%(Math.PI*2);return[i,(Math.PI*2+a-n)%(Math.PI*2)]}const v=[0,1,3,6,10,16,21,27,33,40,47,55,63],y=[0,.5,1,1.5,2],b=[0,.25,.5,1,1.5,2,2.5,3,3.5,4];function x(e,t,n,r){let i=o(r||`knots`,n),a=1;for(;a<t.length;a++)if(a===t.length-1){if(e<t[a]*i)break}else if(e<=t[a]*i)break;return Math.min(a-1,t.length-2)}function S(e,t,n,r,i){let a=0;switch(t){case`beaufort_kn`:a=x(e,v,`knots`,n);break;case`beaufort_km`:a=x(e,v,`kilometer-per-hour`,n);break;case`beaufort_ft`:a=x(e,v,`feet-per-second`,n);break;case`beaufort_m`:a=x(e,v,`meter-per-second`,n);break;case`classified_arrow`:a=x(e,i??[],r,n);break;case`ocean_current_m`:a=x(e,y,`meter-per-second`,n);break;case`ocean_current_kn`:a=x(e,b,`knots`,n)}return a}function C(e,t){let{style:n,inputUnit:r,outputUnit:i,breakValues:o}=t,s=a.fromJSON(r),c=a.fromJSON(i),l=0,u=0,{width:d,height:f,mask:p}=e,g=e.pixels[0],_=e.pixels[1],v=p==null?d*f:p.filter(e=>e>0).length,y=new Float32Array(v*42),b=new Uint32Array(15*v),x=t.invertDirection?h(0,0,0,!1):m;for(let e=0;e<f;e++)for(let t=0;t<d;t++){let r=e*d+t;if(!p||p[e*d+t]){let i=(_[r]+360)%360/180*Math.PI,a=S(g[r],n,s,c,o);for(let n=0;n<x.length;n+=2)y[l++]=(t+.5)/d,y[l++]=(e+.5)/f,y[l++]=x[n],y[l++]=x[n+1]+i,y[l++]=a,y[l++]=g[r];let p=(l/42-1)*7;b[u++]=p,b[u++]=p+1,b[u++]=p+2,b[u++]=p+0,b[u++]=p+4,b[u++]=p+3,b[u++]=p+0,b[u++]=p+2,b[u++]=p+3,b[u++]=p+2,b[u++]=p+5,b[u++]=p+3,b[u++]=p+5,b[u++]=p+6,b[u++]=p+3}}return{vertexData:y,indexData:b}}const w=[];function T(e,t){if(w.length===0)for(let e=0;e<30;e++)w.push(g(e*5,0,!t.invertDirection));let n=o(a.fromJSON(t.inputUnit),`knots`),{width:r,height:i,mask:s}=e,c=e.pixels[0],l=e.pixels[1],u=[],d=[],f=0,p=0;for(let e=0;e<i;e++)for(let t=0;t<r;t++){let a=e*r+t,o=c[a]*n;if((!s||s[e*r+t])&&o>=5){let n=(l[a]+360)%360/180*Math.PI,{pennants:s,barbs:c,shaft:m}=w[Math.min(Math.floor(o/5),29)];if(s.length+c.length===0)continue;let h=u.length/6,g=(t+.5)/r,_=(e+.5)/i;for(let e=0;e<s.length;e+=2)u[f++]=g,u[f++]=_,u[f++]=s[e],u[f++]=s[e+1]+n,u[f++]=0,u[f++]=o;for(let e=0;e<c.length;e+=2)u[f++]=g,u[f++]=_,u[f++]=c[e],u[f++]=c[e+1]+n,u[f++]=0,u[f++]=o;for(let e=0;e<m.length;e+=2)u[f++]=g,u[f++]=_,u[f++]=m[e],u[f++]=m[e+1]+n,u[f++]=0,u[f++]=o;for(let e=0;e<s.length/6;e++)d[p++]=h,d[p++]=h+1,d[p++]=h+2,h+=3;for(let e=0;e<c.length/8;e++)d[p++]=h,d[p++]=h+1,d[p++]=h+2,d[p++]=h+1,d[p++]=h+2,d[p++]=h+3,h+=4;d[p++]=h+0,d[p++]=h+1,d[p++]=h+2,d[p++]=h+1,d[p++]=h+3,d[p++]=h+2,h+=4}}return{vertexData:new Float32Array(u),indexData:new Uint32Array(d)}}function E(e,t){let n=0,r=0,{width:i,height:s,mask:c}=e,l=e.pixels[0],u=[],d=[],f=o(a.fromJSON(t.inputUnit),`knots`),p=t.style===`wind_speed`?5:Number.MAX_VALUE;for(let e=0;e<s;e++)for(let t=0;t<i;t++){let a=l[e*i+t]*f;if((!c||c[e*i+t])&&a<p){for(let r=0;r<4;r++)u[n++]=(t+.5)/i,u[n++]=(e+.5)/s,u[n++]=r<2?-.5:.5,u[n++]=r%2==0?-.5:.5,u[n++]=0,u[n++]=a;let o=(n/24-1)*4;d[r++]=o,d[r++]=o+1,d[r++]=o+2,d[r++]=o+1,d[r++]=o+2,d[r++]=o+3}}return{vertexData:new Float32Array(u),indexData:new Uint32Array(d)}}function D(e,t){return t.style===`simple_scalar`?E(e,t):t.style===`wind_speed`?T(e,t):C(e,t)}function O(e,t,r,i=[0,0],a=.5){let{width:o,height:s,mask:u}=e,[d,f]=e.pixels,[p,m]=i,h=Math.round((o-p)/r),g=Math.round((s-m)/r),_=h*g,v=new Float32Array(_),y=new Float32Array(_),b=new Uint8Array(_),x=t===`vector-uv`;for(let e=0;e<g;e++)for(let t=0;t<h;t++){let n=0,i=e*h+t,g=Math.max(0,e*r+m),_=Math.max(0,t*r+p),S=Math.min(s,g+r),C=Math.min(o,_+r);for(let e=g;e<S;e++)for(let t=_;t<C;t++){let r=e*o+t;if(!u||u[r]){n++;let e=x?[d[r],f[r]]:[d[r],(360+f[r])%360],[t,a]=x?e:l(e);v[i]+=t,y[i]+=a}}if(n>=(S-g)*(C-_)*(1-a)){b[i]=1;let[e,t]=c([v[i]/n,y[i]/n]);v[i]=e,y[i]=t}else b[i]=0,v[i]=0,y[i]=0}let S=new n({width:h,height:g,pixels:[v,y],mask:b});return S.updateStatistics(),S}export{u as convertToLocalDirections,d as convertVectorFieldData,f as convertVectorFieldUnit,D as createVFMeshData,E as createVFScalarData,o as getUnitConversionFactor,O as sampleVectorField,p as snapImageToSymbolTile,a as unitKebabDict,c as uvComponentToVector};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../core/Error.js";import t from"../../core/Logger.js";import{isSerializable as n}from"../../core/support/jsonUtils.js";import{lowerCaseNormalizedFieldName as r,applyLowerCaseFieldName as i,isDateField as a,isNumericField as o,isObjectIDField as s,isGlobalIDField as c,getFieldDefaultValue as l,getFieldFromIndex as u,isTimeOnlyField as d}from"./fieldUtils.js";import{utc as f,unknown as p}from"../../time/constants.js";import{fromTimeReference as m}from"../../time/timeZoneUtils.js";function h(e){return`timeZone`in e}function g(e){return`timeZone`in e}function _(e){return`dateFieldsTimeZone`in e}class v{static fromJSON(e){return new v(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new v(e.fields??[],b(e))}static fromLayerJSON(e){return new v(e.fields??[],b(e))}constructor(e=[],t){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=t?new Map(t):null;let n=[];for(let e of this.fields){let t=e?.name,l=r(t);if(t&&l){let r=i(t);this._fieldsMap.set(t,e),this._fieldsMap.set(r,e),this._normalizedFieldsMap.set(l,e),n.push(`${r}:${e.type}:${this._timeZoneByFieldName?.get(t)}`),a(e)?(this.dateFields.push(e),this._dateFieldsSet.add(e)):o(e)&&(this._numericFieldsSet.add(e),this.numericFields.push(e)),!s(e)&&!c(e)&&(e.editable=e.editable==null||!!e.editable,e.nullable=e.nullable==null||!!e.nullable)}}n.sort(),this.uid=n.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(let e of this.fields)
|
|
2
|
+
import e from"../../core/Error.js";import t from"../../core/Logger.js";import{isSerializable as n}from"../../core/support/jsonUtils.js";import{lowerCaseNormalizedFieldName as r,applyLowerCaseFieldName as i,isDateField as a,isNumericField as o,isObjectIDField as s,isGlobalIDField as c,getFieldDefaultValue as l,getFieldFromIndex as u,isTimeOnlyField as d}from"./fieldUtils.js";import{utc as f,unknown as p}from"../../time/constants.js";import{fromTimeReference as m}from"../../time/timeZoneUtils.js";function h(e){return`timeZone`in e}function g(e){return`timeZone`in e}function _(e){return`dateFieldsTimeZone`in e}class v{static fromJSON(e){return new v(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new v(e.fields??[],b(e))}static fromLayerJSON(e){return new v(e.fields??[],b(e))}constructor(e=[],t){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=t?new Map(t):null;let n=[];for(let e of this.fields){let t=e?.name,l=r(t);if(t&&l){let r=i(t);this._fieldsMap.set(t,e),this._fieldsMap.set(r,e),this._normalizedFieldsMap.set(l,e),n.push(`${r}:${e.type}:${this._timeZoneByFieldName?.get(t)}`),a(e)?(this.dateFields.push(e),this._dateFieldsSet.add(e)):o(e)&&(this._numericFieldsSet.add(e),this.numericFields.push(e)),!s(e)&&!c(e)&&(e.editable=e.editable==null||!!e.editable,e.nullable=e.nullable==null||!!e.nullable)}}n.sort(),this.uid=n.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(let e of this.fields)s(e)||c(e)||e.nullable||l(e)!==void 0||this._requiredFields.push(e)}return this._requiredFields}equals(e){return this.uid===e?.uid}has(e){return this.get(e)!=null}get(e){return u({fieldName:e,fieldsMap:this._fieldsMap,normalizedFieldsMap:this._normalizedFieldsMap})}getTimeZone(n){let r=this.get(!n||typeof n==`string`?n:n.name);return r?this._timeZoneByFieldName?this._timeZoneByFieldName.get(r.name):r.type===`date`||r.type===`esriFieldTypeDate`?(t.getLogger(`esri.layers.support.FieldsIndex`).errorOnce(new e(`getTimeZone:no-timezone-information`,`no time zone information for field '${r.name}'`)),f):y.has(r.type)?p:null:null}isDateField(e){return this._dateFieldsSet.has(this.get(e))}isTimeOnlyField(e){return d(this.get(e))}isNumericField(e){return this._numericFieldsSet.has(this.get(e))}normalizeFieldName(e){return this.get(e)?.name??void 0}toJSON(){return{fields:this.fields.map(e=>n(e)?e.toJSON():e),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}const y=new Set([`time-only`,`date-only`,`timestamp-offset`,`esriFieldTypeDateOnly`,`esriFieldTypeTimeOnly`,`esriFieldTypeTimestampOffset`]);function b(e){let t=new Map;if(!e.fields)return t;let n=e.datesInUnknownTimezone===!0,{timeInfo:r,editFieldsInfo:a}=e,o=(r?`startField`in r?r.startField:r.startTimeField:``)??``,s=(r?`endField`in r?r.endField:r.endTimeField:``)??``,c=_(e)?e.dateFieldsTimeZone??null:e.dateFieldsTimeReference?m(e.dateFieldsTimeReference):null,l=a?h(a)?a.timeZone??c:a.dateFieldsTimeReference?m(a.dateFieldsTimeReference):c??f:null,u=r?g(r)?r.timeZone??c:r.timeReference?m(r.timeReference):c:null,d=new Map([[i(a?.creationDateField??``),l],[i(a?.editDateField??``),l],[i(o),u],[i(s),u]]);for(let{name:r,type:a}of e.fields)if(y.has(a))t.set(r,p);else if(a!==`date`&&a!==`esriFieldTypeDate`)t.set(r,null);else if(n)t.set(r,p);else{let e=d.get(i(r??``))??c;t.set(r,e)}return t}export{v as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{decode as e}from"../raster/formats/ElevationCodec.js";import{load as t}from"../raster/formats/Lerc.js";class n{async _decode(n){await t();let r=e(n.buffer,n.options),i=[r.pixelData.buffer];return r.maskData&&i.push(r.maskData.buffer),{result:r,transferList:i}}}function r(){return new n}export{r as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../geometry/Extent.js";import t from"../../geometry/Point.js";import n from"../../geometry/operators/support/GeographicTransformation.js";import{decode as r}from"../raster/formats/RasterCodec.js";import{transformPixels as i}from"../raster/functions/pixelTransformUtils.js";import{convertPixelBlockToFeatures as a,compositeBands as o,highlightPixels as s,split as c,clipTile as l,mosaicPixelData as u,mosaic as d,approximateTransform as f,getLocalArithmeticNorthRotations as p}from"../raster/functions/pixelUtils.js";import{create as m}from"../raster/functions/rasterFunctionHelper.js";import{load as h,getProjectionOffsetGrid as g}from"../raster/functions/rasterProjectionHelper.js";import{computeStatisticsHistograms as _,estimateStatisticsHistograms as v}from"../raster/functions/stretchUtils.js";import{convertVectorFieldData as y,sampleVectorField as b,convertToLocalDirections as x}from"../raster/functions/vectorFieldUtils.js";import{readTransform as S}from"../raster/transforms/utils.js";import C from"./PixelBlock.js";import w from"../../renderers/support/RasterSymbolizer.js";import{createFlowMesh as T}from"../../views/2d/engine/flow/dataUtils.js";function E(e){if(!e)return{result:null,transferList:[]};let{pixelBlock:t,transferList:n}=e.getTransferableObject();return{result:t,transferList:n}}class D{convertVectorFieldData(e){let t=C.fromJSON(e.pixelBlock),n=E(y(t,e.type));return Promise.resolve(n)}convertPixelBlockToFeatures(t){let n=a({pixelBlock:C.fromJSON(t.pixelBlock),extent:e.fromJSON(t.extent),fieldNames:t.fieldNames,skipFactor:t.skipFactor,skipSpatialReference:!0,pixelIdOffset:t.pixelIdOffset,imageRowSize:t.imageRowSize});return Promise.resolve(n)}sampleVectorFieldData(e){let t=C.fromJSON(e.pixelBlock),n=E(b(t,e.srcDataType,e.tileSize,e.offset,e.maximumVoidPercentage));return Promise.resolve(n)}transformPixels(e){let t=C.fromJSON(e.pixelBlock),n=i(t,e.transformType,e.transformParameters);return Promise.resolve(E(n))}computeStatisticsHistograms(e){let t=C.fromJSON(e.pixelBlock),n=_(t,{histogramSize:e.histogramSize,includeSkewnessKurtosis:e.includeSkewnessKurtosis});return Promise.resolve(n)}compositeBands(e){let t=e.pixelBlocks.map(e=>e&&C.fromJSON(e)),n=E(o(t));return Promise.resolve(n)}async decode(e){return E(await r(e.data,e.options))}symbolize(t){let n=t.pixelBlock?C.fromJSON(t.pixelBlock):null,r=t.extent?e.fromJSON(t.extent):null,i=E(this.symbolizer.symbolize({...t,pixelBlock:n,extent:r}));return Promise.resolve(i)}highlightPixels(e){let t=C.fromJSON(e.pixelBlock),n=C.fromJSON(e.renderedPixelBlock);return s({pixelBlock:t,renderedPixelBlock:n,highlightOptions:e.highlightOptions}),Promise.resolve(n.toJSON())}async updateSymbolizer(e){this.symbolizer=w.fromJSON(e.symbolizerJSON),e.histograms&&this.symbolizer?.rendererJSON.type===`rasterStretch`&&(this.symbolizer.rendererJSON.histograms=e.histograms)}async updateRasterFunction(e){this.rasterFunction=m(e.rasterFunctionJSON)}async process(n){return E(this.rasterFunction.process({extent:e.fromJSON(n.extent),primaryPixelBlocks:n.primaryPixelBlocks.map(e=>e==null?null:C.fromJSON(e)),primaryPixelSizes:n.primaryPixelSizes?.map(e=>e==null?null:t.fromJSON(e)),primaryRasterIds:n.primaryRasterIds},n.parameters))}stretch(e){let t=E(this.symbolizer.simpleStretch(C.fromJSON(e.srcPixelBlock),e.stretchParams));return Promise.resolve(t)}estimateStatisticsHistograms(e){let t=v(C.fromJSON(e.srcPixelBlock));return Promise.resolve(t)}split(e){let t=c(C.fromJSON(e.srcPixelBlock),e.tileSize,e.maximumPyramidLevel??0,e.useBilinear===!1),n=[],r;return t&&(r=new Map,t.forEach((e,t)=>{if(e){let{pixelBlock:i,transferList:a}=e.getTransferableObject();r.set(t,i),a.forEach(e=>{n.includes(e)||n.push(e)})}})),Promise.resolve({result:r,transferList:n})}clipTile(e){let t=C.fromJSON(e.pixelBlock),n=E(l({...e,pixelBlock:t}));return Promise.resolve(n)}mosaicPixelData(t){let n=t.pixelData.map(t=>({extent:e.fromJSON(t.extent),pixelBlock:t.pixelBlock?C.fromJSON(t.pixelBlock):null})),r=e.fromJSON(t.destExtent),i=E(u(n,r)?.pixelBlock);return Promise.resolve(i)}async mosaicAndTransform(e){let t=e.srcPixelBlocks.map(e=>e?new C(e):null),n=d(t,e.srcMosaicSize,{blockWidths:e.blockWidths,alignmentInfo:e.alignmentInfo,clipOffset:e.clipOffset,clipSize:e.clipSize}),r=n;e.coefs&&(r=f(n,e.destDimension,e.coefs,e.sampleSpacing,e.interpolation));let i;e.projectDirections&&e.gcsGrid&&(i=p(e.destDimension,e.gcsGrid),r=x(r,e.isUV?`vector-uv`:`vector-magdir`,i));let{result:a,transferList:o}=E(r);return{result:{pixelBlock:a,localNorthDirections:i},transferList:o}}async createFlowMesh(e,t){let n={data:new Float32Array(e.flowData.buffer),mask:new Uint8Array(e.flowData.maskBuffer),width:e.flowData.width,height:e.flowData.height},{vertexData:r,indexData:i,pathData:a}=await T(e.meshType,e.simulationSettings,n,e.startInfo,t.signal);return{result:{vertexBuffer:r.buffer,indexBuffer:i.buffer,pathBuffer:a.buffer},transferList:[r.buffer,i.buffer]}}async getProjectionOffsetGrid(t){let r=e.fromJSON(t.projectedExtent),i=e.fromJSON(t.srcBufferExtent),a=null;t.datumTransformationSteps?.length&&(a=new n({steps:t.datumTransformationSteps})),await h();let o=t.rasterTransform?S(t.rasterTransform):null;return g({...t,projectedExtent:r,srcBufferExtent:i,datumTransformation:a,rasterTransform:o})}}export{D as default};
|
|
2
|
+
import e from"../../geometry/Extent.js";import t from"../../geometry/Point.js";import n from"../../geometry/operators/support/GeographicTransformation.js";import{decode as r}from"../raster/formats/RasterCodec.js";import{transformPixels as i}from"../raster/functions/pixelTransformUtils.js";import{convertPixelBlockToFeatures as a,compositeBands as o,highlightPixels as s,split as c,clipTile as l,mosaicPixelData as u,mosaic as d,approximateTransform as f,getLocalArithmeticNorthRotations as p}from"../raster/functions/pixelUtils.js";import{create as m}from"../raster/functions/rasterFunctionHelper.js";import{load as h,getProjectionOffsetGrid as g}from"../raster/functions/rasterProjectionHelper.js";import{computeStatisticsHistograms as _,estimateStatisticsHistograms as v}from"../raster/functions/stretchUtils.js";import{convertVectorFieldData as y,sampleVectorField as b,convertToLocalDirections as x}from"../raster/functions/vectorFieldUtils.js";import{readTransform as S}from"../raster/transforms/utils.js";import C from"./PixelBlock.js";import w from"../../renderers/support/RasterSymbolizer.js";import{createFlowMesh as T}from"../../views/2d/engine/flow/dataUtils.js";function E(e){if(!e)return{result:null,transferList:[]};let{pixelBlock:t,transferList:n}=e.getTransferableObject();return{result:t,transferList:n}}class D{convertVectorFieldData(e){let t=C.fromJSON(e.pixelBlock),n=E(y(t,e.type));return Promise.resolve(n)}convertPixelBlockToFeatures(t){let n=a({pixelBlock:C.fromJSON(t.pixelBlock),extent:e.fromJSON(t.extent),fieldNames:t.fieldNames,skipFactor:t.skipFactor,skipSpatialReference:!0,pixelIdOffset:t.pixelIdOffset,imageRowSize:t.imageRowSize});return Promise.resolve(n)}sampleVectorFieldData(e){let t=C.fromJSON(e.pixelBlock),n=E(b(t,e.srcDataType,e.tileSize,e.offset,e.maximumVoidPercentage));return Promise.resolve(n)}transformPixels(e){let t=C.fromJSON(e.pixelBlock),n=i(t,e.transformType,e.transformParameters);return Promise.resolve(E(n))}computeStatisticsHistograms(e){let t=C.fromJSON(e.pixelBlock),n=_(t,{histogramSize:e.histogramSize,includeSkewnessKurtosis:e.includeSkewnessKurtosis});return Promise.resolve(n)}compositeBands(e){let t=e.pixelBlocks.map(e=>e&&C.fromJSON(e)),n=E(o(t));return Promise.resolve(n)}async decode(e,t){return E(await r(e.data,e.options,{signal:t?.signal}))}symbolize(t){let n=t.pixelBlock?C.fromJSON(t.pixelBlock):null,r=t.extent?e.fromJSON(t.extent):null,i=E(this.symbolizer.symbolize({...t,pixelBlock:n,extent:r}));return Promise.resolve(i)}highlightPixels(e){let t=C.fromJSON(e.pixelBlock),n=C.fromJSON(e.renderedPixelBlock);return s({pixelBlock:t,renderedPixelBlock:n,highlightOptions:e.highlightOptions}),Promise.resolve(n.toJSON())}async updateSymbolizer(e){this.symbolizer=w.fromJSON(e.symbolizerJSON),e.histograms&&this.symbolizer?.rendererJSON.type===`rasterStretch`&&(this.symbolizer.rendererJSON.histograms=e.histograms)}async updateRasterFunction(e){this.rasterFunction=m(e.rasterFunctionJSON)}async process(n){return E(this.rasterFunction.process({extent:e.fromJSON(n.extent),primaryPixelBlocks:n.primaryPixelBlocks.map(e=>e==null?null:C.fromJSON(e)),primaryPixelSizes:n.primaryPixelSizes?.map(e=>e==null?null:t.fromJSON(e)),primaryRasterIds:n.primaryRasterIds},n.parameters))}stretch(e){let t=E(this.symbolizer.simpleStretch(C.fromJSON(e.srcPixelBlock),e.stretchParams));return Promise.resolve(t)}estimateStatisticsHistograms(e){let t=v(C.fromJSON(e.srcPixelBlock));return Promise.resolve(t)}split(e){let t=c(C.fromJSON(e.srcPixelBlock),e.tileSize,e.maximumPyramidLevel??0,e.useBilinear===!1),n=[],r;return t&&(r=new Map,t.forEach((e,t)=>{if(e){let{pixelBlock:i,transferList:a}=e.getTransferableObject();r.set(t,i),a.forEach(e=>{n.includes(e)||n.push(e)})}})),Promise.resolve({result:r,transferList:n})}clipTile(e){let t=C.fromJSON(e.pixelBlock),n=E(l({...e,pixelBlock:t}));return Promise.resolve(n)}mosaicPixelData(t){let n=t.pixelData.map(t=>({extent:e.fromJSON(t.extent),pixelBlock:t.pixelBlock?C.fromJSON(t.pixelBlock):null})),r=e.fromJSON(t.destExtent),i=E(u(n,r)?.pixelBlock);return Promise.resolve(i)}async mosaicAndTransform(e){let t=e.srcPixelBlocks.map(e=>e?new C(e):null),n=d(t,e.srcMosaicSize,{blockWidths:e.blockWidths,alignmentInfo:e.alignmentInfo,clipOffset:e.clipOffset,clipSize:e.clipSize}),r=n;e.coefs&&(r=f(n,e.destDimension,e.coefs,e.sampleSpacing,e.interpolation));let i;e.projectDirections&&e.gcsGrid&&(i=p(e.destDimension,e.gcsGrid),r=x(r,e.isUV?`vector-uv`:`vector-magdir`,i));let{result:a,transferList:o}=E(r);return{result:{pixelBlock:a,localNorthDirections:i},transferList:o}}async createFlowMesh(e,t){let n={data:new Float32Array(e.flowData.buffer),mask:new Uint8Array(e.flowData.maskBuffer),width:e.flowData.width,height:e.flowData.height},{vertexData:r,indexData:i,pathData:a}=await T(e.meshType,e.simulationSettings,n,e.startInfo,t.signal);return{result:{vertexBuffer:r.buffer,indexBuffer:i.buffer,pathBuffer:a.buffer},transferList:[r.buffer,i.buffer]}}async getProjectionOffsetGrid(t){let r=e.fromJSON(t.projectedExtent),i=e.fromJSON(t.srcBufferExtent),a=null;t.datumTransformationSteps?.length&&(a=new n({steps:t.datumTransformationSteps})),await h();let o=t.rasterTransform?S(t.rasterTransform):null;return g({...t,projectedExtent:r,srcBufferExtent:i,datumTransformation:a,rasterTransform:o})}}export{D as default};
|
|
@@ -16,7 +16,7 @@ export interface TileInfoProperties extends Partial<Pick<TileInfo, "dpi" | "form
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/** Image format of the cached tiles. */
|
|
19
|
-
export type Format = "png" | "png8" | "png24" | "png32" | "jpg" | "dib" | "tiff" | "emf" | "ps" | "pdf" | "gif" | "svg" | "svgz" | "mixed" | "lerc" | "lerc2d" | "raw" | "pbf";
|
|
19
|
+
export type Format = "png" | "png8" | "png24" | "png32" | "jpg" | "dib" | "tiff" | "emf" | "ps" | "pdf" | "gif" | "svg" | "svgz" | "mixed" | "lerc" | "lerc2d" | "raw" | "jpgplus" | "pbf";
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Defines the size, scales, and/or [SpatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/SpatialReference/) used to generate a new TileInfo instance,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{JSONMap as t}from"../../core/jsonMap.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{getMetersPerUnitForSR as r}from"../../core/units.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import{Integer as o}from"../../core/accessorSupport/ensureType.js";import s from"../../geometry/Point.js";import c from"../../geometry/SpatialReference.js";import{isValid as l,getInfo as u,isGeographic as d,equals as f}from"../../geometry/support/spatialReferenceUtils.js";import{project as p}from"../../geometry/support/webMercatorUtils.js";import m from"./LOD.js";import{TileKey as h}from"./TileKey.js";import{reader as g}from"../../core/accessorSupport/decorators/reader.js";import{writer as _}from"../../core/accessorSupport/decorators/writer.js";var v;const y=new t({PNG:`png`,PNG8:`png8`,PNG24:`png24`,PNG32:`png32`,JPEG:`jpg`,JPG:`jpg`,DIB:`dib`,TIFF:`tiff`,EMF:`emf`,PS:`ps`,PDF:`pdf`,GIF:`gif`,SVG:`svg`,SVGZ:`svgz`,Mixed:`mixed`,MIXED:`mixed`,LERC:`lerc`,LERC2D:`lerc2d`,RAW:`raw`,pbf:`pbf`});let b=class extends n{static{v=this}static create(e={}){let{resolutionFactor:t=1,scales:n,size:i=256,spatialReference:a=c.WebMercator,numLODs:o=24}=e;if(!l(a)){let e=[];if(n)for(let t=0;t<n.length;t++){let r=n[t];e.push(new m({level:t,scale:r,resolution:r}))}else{let t=5e-4;for(let n=o-1;n>=0;n--)e.unshift(new m({level:n,scale:t,resolution:t})),t*=2}return new v({dpi:96,lods:e,origin:new s(0,0,a),size:[i,i],spatialReference:a})}let f=u(a),p=e.origin?new s({x:e.origin.x,y:e.origin.y,spatialReference:a}):f?new s({x:f.origin[0],y:f.origin[1],spatialReference:a}):new s({x:0,y:0,spatialReference:a}),h=1/(r(a)*39.37*96),g=[];if(n)for(let e=0;e<n.length;e++){let t=n[e],r=t*h;g.push(new m({level:e,scale:t,resolution:r}))}else{let e=d(a)?512/i*591657527.5917094:256/i*591657527.591555,n=Math.ceil(o/t);g.push(new m({level:0,scale:e,resolution:e*h}));for(let r=1;r<n;r++){let n=e/2**t,i=n*h;g.push(new m({level:r,scale:n,resolution:i})),e=n}}return new v({dpi:96,lods:g,origin:p,size:[i,i],spatialReference:a})}constructor(e){super(e),this.dpi=96,this.format=null,this.origin=null,this.size=null,this.spatialReference=null}get isWrappable(){let{spatialReference:e,origin:t}=this;if(e&&t){let n=u(e);return e.isWrappable&&!!n&&Math.abs(n.origin[0]-t.x)<=n.dx}return!1}readOrigin(e,t){return s.fromJSON({spatialReference:t.spatialReference,...e})}set lods(e){let t=0,n=0,r=[],i=this._levelToLOD={};e&&(t=-1/0,n=1/0,e.forEach(e=>{r.push(e.scale),t=e.scale>t?e.scale:t,n=e.scale<n?e.scale:n,i[e.level]=e})),this._set(`scales`,r),this._set(`lods`,e),this._initializeUpsampleLevels()}readSize(e,t){return[t.cols,t.rows]}writeSize(e,t){t.cols=e[0],t.rows=e[1]}zoomToScale(e){let t=this.scales;if(e<=0)return t[0];if(e>=t.length-1)return t[t.length-1];let n=Math.floor(e),r=n+1;return t[n]/(t[n]/t[r])**(e-n)}scaleToZoom(e){let t=this.scales,n=t.length-1,r=0;for(;r<n;r++){let n=t[r],i=t[r+1];if(n<=e)return r;if(i===e)return r+1;if(n>e&&i<e)return r+Math.log(n/e)/Math.log(n/i)}return r}tileAt(e,t,n,r){let i=this.lodAt(e);if(!i)return null;let a,o;if(typeof t==`number`)a=t,o=n;else if(f(t.spatialReference,this.spatialReference))a=t.x,o=t.y,r=n;else{let e=p(t,this.spatialReference);if(e==null)return null;a=e.x,o=e.y,r=n}let s=i.resolution*this.size[0],c=i.resolution*this.size[1];return r??=new h(0,0,0),r.level=e,r.row=Math.floor((this.origin.y-o)/c+.001),r.col=Math.floor((a-this.origin.x)/s+.001),this.updateTileInfo(r),r}updateTileInfo(e,t=0){if(!(`extent`in e))return!1;let n=this.lodAt(e.level);if(!n&&t===1){let t=this.lods[this.lods.length-1];t.level<e.level&&(n=t)}if(!n)return!1;let r=e.level-n.level,i=n.resolution*this.size[0]/2**r,a=n.resolution*this.size[1]/2**r;return e.extent[0]=this.origin.x+e.col*i,e.extent[1]=this.origin.y-(e.row+1)*a,e.extent[2]=e.extent[0]+i,e.extent[3]=e.extent[1]+a,!0}upsampleTile(e){let t=this._upsampleLevels[e.level];return!t||t.parentLevel===-1?!1:(e.level=t.parentLevel,e.row=Math.floor(e.row/t.factor+.001),e.col=Math.floor(e.col/t.factor+.001),this.updateTileInfo(e),!0)}getTileBounds(e,t){let n=this.lodAt(t.level);if(n==null)return null;let{resolution:r}=n,i=r*this.size[0],a=r*this.size[1];return e[0]=this.origin.x+t.col*i,e[1]=this.origin.y-(t.row+1)*a,e[2]=e[0]+i,e[3]=e[1]+a,e}lodAt(e){return this._levelToLOD?.[e]??null}clone(){return v.fromJSON(this.write({}))}getCompatibleForVTL(e){if(this.size[0]!==this.size[1]||this.size[0]===256&&e===512)return null;let t=(this.size[0]===512&&e===256?-1:0)+ +!!this.spatialReference.isGeographic;if(this.size[0]===e&&t===0)return this;let n=[],r=this.lods.length-t;for(let e=0;e<r;e++){let r=e+t,{scale:i,resolution:a}=r>=0?this.lods[r]:{scale:this.lods[0].scale*2,resolution:this.lods[0].resolution*2};n.push(new m({level:e,scale:i,resolution:a}))}return new v({size:[e,e],dpi:this.dpi,format:this.format,compressionQuality:this.compressionQuality,origin:this.origin,spatialReference:this.spatialReference,lods:n})}_initializeUpsampleLevels(){let e=this.lods;this._upsampleLevels=[];let t=null;for(let n=0;n<e.length;n++){let r=e[n];this._upsampleLevels[r.level]={parentLevel:t?t.level:-1,factor:t?t.resolution/r.resolution:0},t=r}}};e([i({type:Number,json:{write:!0}})],b.prototype,`compressionQuality`,void 0),e([i({type:Number,json:{write:!0}})],b.prototype,`dpi`,void 0),e([i({type:String,json:{read:y.read,write:y.write,origins:{"web-scene":{read:!1,write:!1}}}})],b.prototype,`format`,void 0),e([i({readOnly:!0})],b.prototype,`isWrappable`,null),e([i({type:s,json:{write:!0}})],b.prototype,`origin`,void 0),e([g(`origin`)],b.prototype,`readOrigin`,null),e([i({type:[m],value:null,json:{write:!0}})],b.prototype,`lods`,null),e([i({readOnly:!0})],b.prototype,`scales`,void 0),e([i({cast:e=>Array.isArray(e)?e:typeof e==`number`?[e,e]:[256,256]})],b.prototype,`size`,void 0),e([g(`size`,[`rows`,`cols`])],b.prototype,`readSize`,null),e([_(`size`,{cols:{type:o},rows:{type:o}})],b.prototype,`writeSize`,null),e([i({type:c,json:{write:!0}})],b.prototype,`spatialReference`,void 0),b=v=e([a(`esri.layers.support.TileInfo`)],b);export{b as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import{JSONMap as t}from"../../core/jsonMap.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{getMetersPerUnitForSR as r}from"../../core/units.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import{Integer as o}from"../../core/accessorSupport/ensureType.js";import s from"../../geometry/Point.js";import c from"../../geometry/SpatialReference.js";import{isValid as l,getInfo as u,isGeographic as d,equals as f}from"../../geometry/support/spatialReferenceUtils.js";import{project as p}from"../../geometry/support/webMercatorUtils.js";import m from"./LOD.js";import{TileKey as h}from"./TileKey.js";import{reader as g}from"../../core/accessorSupport/decorators/reader.js";import{writer as _}from"../../core/accessorSupport/decorators/writer.js";var v;const y=new t({PNG:`png`,PNG8:`png8`,PNG24:`png24`,PNG32:`png32`,JPEG:`jpg`,JPG:`jpg`,DIB:`dib`,TIFF:`tiff`,EMF:`emf`,PS:`ps`,PDF:`pdf`,GIF:`gif`,SVG:`svg`,SVGZ:`svgz`,Mixed:`mixed`,MIXED:`mixed`,LERC:`lerc`,LERC2D:`lerc2d`,RAW:`raw`,JPEGPlus:`jpgplus`,pbf:`pbf`});let b=class extends n{static{v=this}static create(e={}){let{resolutionFactor:t=1,scales:n,size:i=256,spatialReference:a=c.WebMercator,numLODs:o=24}=e;if(!l(a)){let e=[];if(n)for(let t=0;t<n.length;t++){let r=n[t];e.push(new m({level:t,scale:r,resolution:r}))}else{let t=5e-4;for(let n=o-1;n>=0;n--)e.unshift(new m({level:n,scale:t,resolution:t})),t*=2}return new v({dpi:96,lods:e,origin:new s(0,0,a),size:[i,i],spatialReference:a})}let f=u(a),p=e.origin?new s({x:e.origin.x,y:e.origin.y,spatialReference:a}):f?new s({x:f.origin[0],y:f.origin[1],spatialReference:a}):new s({x:0,y:0,spatialReference:a}),h=1/(r(a)*39.37*96),g=[];if(n)for(let e=0;e<n.length;e++){let t=n[e],r=t*h;g.push(new m({level:e,scale:t,resolution:r}))}else{let e=d(a)?512/i*591657527.5917094:256/i*591657527.591555,n=Math.ceil(o/t);g.push(new m({level:0,scale:e,resolution:e*h}));for(let r=1;r<n;r++){let n=e/2**t,i=n*h;g.push(new m({level:r,scale:n,resolution:i})),e=n}}return new v({dpi:96,lods:g,origin:p,size:[i,i],spatialReference:a})}constructor(e){super(e),this.dpi=96,this.format=null,this.origin=null,this.size=null,this.spatialReference=null}get isWrappable(){let{spatialReference:e,origin:t}=this;if(e&&t){let n=u(e);return e.isWrappable&&!!n&&Math.abs(n.origin[0]-t.x)<=n.dx}return!1}readOrigin(e,t){return s.fromJSON({spatialReference:t.spatialReference,...e})}set lods(e){let t=0,n=0,r=[],i=this._levelToLOD={};e&&(t=-1/0,n=1/0,e.forEach(e=>{r.push(e.scale),t=e.scale>t?e.scale:t,n=e.scale<n?e.scale:n,i[e.level]=e})),this._set(`scales`,r),this._set(`lods`,e),this._initializeUpsampleLevels()}readSize(e,t){return[t.cols,t.rows]}writeSize(e,t){t.cols=e[0],t.rows=e[1]}zoomToScale(e){let t=this.scales;if(e<=0)return t[0];if(e>=t.length-1)return t[t.length-1];let n=Math.floor(e),r=n+1;return t[n]/(t[n]/t[r])**(e-n)}scaleToZoom(e){let t=this.scales,n=t.length-1,r=0;for(;r<n;r++){let n=t[r],i=t[r+1];if(n<=e)return r;if(i===e)return r+1;if(n>e&&i<e)return r+Math.log(n/e)/Math.log(n/i)}return r}tileAt(e,t,n,r){let i=this.lodAt(e);if(!i)return null;let a,o;if(typeof t==`number`)a=t,o=n;else if(f(t.spatialReference,this.spatialReference))a=t.x,o=t.y,r=n;else{let e=p(t,this.spatialReference);if(e==null)return null;a=e.x,o=e.y,r=n}let s=i.resolution*this.size[0],c=i.resolution*this.size[1];return r??=new h(0,0,0),r.level=e,r.row=Math.floor((this.origin.y-o)/c+.001),r.col=Math.floor((a-this.origin.x)/s+.001),this.updateTileInfo(r),r}updateTileInfo(e,t=0){if(!(`extent`in e))return!1;let n=this.lodAt(e.level);if(!n&&t===1){let t=this.lods[this.lods.length-1];t.level<e.level&&(n=t)}if(!n)return!1;let r=e.level-n.level,i=n.resolution*this.size[0]/2**r,a=n.resolution*this.size[1]/2**r;return e.extent[0]=this.origin.x+e.col*i,e.extent[1]=this.origin.y-(e.row+1)*a,e.extent[2]=e.extent[0]+i,e.extent[3]=e.extent[1]+a,!0}upsampleTile(e){let t=this._upsampleLevels[e.level];return!t||t.parentLevel===-1?!1:(e.level=t.parentLevel,e.row=Math.floor(e.row/t.factor+.001),e.col=Math.floor(e.col/t.factor+.001),this.updateTileInfo(e),!0)}getTileBounds(e,t){let n=this.lodAt(t.level);if(n==null)return null;let{resolution:r}=n,i=r*this.size[0],a=r*this.size[1];return e[0]=this.origin.x+t.col*i,e[1]=this.origin.y-(t.row+1)*a,e[2]=e[0]+i,e[3]=e[1]+a,e}lodAt(e){return this._levelToLOD?.[e]??null}clone(){return v.fromJSON(this.write({}))}getCompatibleForVTL(e){if(this.size[0]!==this.size[1]||this.size[0]===256&&e===512)return null;let t=(this.size[0]===512&&e===256?-1:0)+ +!!this.spatialReference.isGeographic;if(this.size[0]===e&&t===0)return this;let n=[],r=this.lods.length-t;for(let e=0;e<r;e++){let r=e+t,{scale:i,resolution:a}=r>=0?this.lods[r]:{scale:this.lods[0].scale*2,resolution:this.lods[0].resolution*2};n.push(new m({level:e,scale:i,resolution:a}))}return new v({size:[e,e],dpi:this.dpi,format:this.format,compressionQuality:this.compressionQuality,origin:this.origin,spatialReference:this.spatialReference,lods:n})}_initializeUpsampleLevels(){let e=this.lods;this._upsampleLevels=[];let t=null;for(let n=0;n<e.length;n++){let r=e[n];this._upsampleLevels[r.level]={parentLevel:t?t.level:-1,factor:t?t.resolution/r.resolution:0},t=r}}};e([i({type:Number,json:{write:!0}})],b.prototype,`compressionQuality`,void 0),e([i({type:Number,json:{write:!0}})],b.prototype,`dpi`,void 0),e([i({type:String,json:{read:y.read,write:y.write,origins:{"web-scene":{read:!1,write:!1}}}})],b.prototype,`format`,void 0),e([i({readOnly:!0})],b.prototype,`isWrappable`,null),e([i({type:s,json:{write:!0}})],b.prototype,`origin`,void 0),e([g(`origin`)],b.prototype,`readOrigin`,null),e([i({type:[m],value:null,json:{write:!0}})],b.prototype,`lods`,null),e([i({readOnly:!0})],b.prototype,`scales`,void 0),e([i({cast:e=>Array.isArray(e)?e:typeof e==`number`?[e,e]:[256,256]})],b.prototype,`size`,void 0),e([g(`size`,[`rows`,`cols`])],b.prototype,`readSize`,null),e([_(`size`,{cols:{type:o},rows:{type:o}})],b.prototype,`writeSize`,null),e([i({type:c,json:{write:!0}})],b.prototype,`spatialReference`,void 0),b=v=e([a(`esri.layers.support.TileInfo`)],b);export{b as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../PopupTemplate.js";import{clone as t}from"../../core/lang.js";import{setDeepValue as n}from"../../core/object.js";import r from"./AggregateField.js";import i from"./AggregateFieldsIndex.js";import{labelsVisible as a,popupEnabled as o}from"./commonProperties.js";import s from"./FieldConfiguration.js";import{fieldConfigurationsFromPopupTemplate as c,popupTemplateWithFieldConfigurations as l}from"./fieldConfigUtils.js";import u from"./LabelClass.js";import{supportsFieldConfiguration as d}from"./layerUtils.js";import{rendererTypes as f}from"../../renderers/support/typeUtils.js";function p(){return{type:[s],clonable:!1,json:{name:`fieldConfigurations`,write:{overridePolicy(e){return{enabled:d(this.layer),ignoreOrigin:!0}}}},set:function(e){if(this._override(`fieldConfigurations`,e),!this.layer?.loaded)return;let t=l(this,e);t&&this._set(`popupTemplate`,t)},get:function(){if(this._isOverridden(`fieldConfigurations`))return this._get(`fieldConfigurations`);if(this.layer?.loaded)return c(this)||null}}}function m(){return{type:[r],value:[],json:{write:{ignoreOrigin:!0,writer(e,t,r){let i=e.filter(e=>e.statisticType!==`avg_angle`).map(e=>e.toJSON());n(r,i,t)}}},set:function(e){C(this._get(`fields`),null),C(e,this.layer),this._set(`fields`,e)}}}function h(){return{readOnly:!0,get:function(){return new i(this.fields)}}}function g(){return{type:[u],json:{read:{source:`drawingInfo.labelingInfo`},write:{target:`drawingInfo.labelingInfo`,ignoreOrigin:!0}}}}function _(){return w(t(a))}function v(){return{clonable:!1,set:function(e){C(this.fields,e),this._set(`layer`,e)}}}function y(){return{type:Number,json:{default:0,name:`visibilityInfo.maxScale`,write:{ignoreOrigin:!0}}}}function b(){return w(t(o))}function x(){return{type:e,json:{name:`popupInfo`,write:{ignoreOrigin:!0,writer(e,t,n,r){e&&(t[n]=e.toJSON({...r,writeFieldFormat:d(this.layer)}))}}}}}function S(){return{types:f,json:{write:{target:`drawingInfo.renderer`,ignoreOrigin:!0}}}}function C(e,t){e?.forEach(e=>{e.layer=t})}function w(e){let t=e.json;t||=e.json={};let n=t.write;return
|
|
2
|
+
import e from"../../PopupTemplate.js";import{clone as t}from"../../core/lang.js";import{setDeepValue as n}from"../../core/object.js";import r from"./AggregateField.js";import i from"./AggregateFieldsIndex.js";import{labelsVisible as a,popupEnabled as o}from"./commonProperties.js";import s from"./FieldConfiguration.js";import{fieldConfigurationsFromPopupTemplate as c,popupTemplateWithFieldConfigurations as l}from"./fieldConfigUtils.js";import u from"./LabelClass.js";import{supportsFieldConfiguration as d}from"./layerUtils.js";import{rendererTypes as f}from"../../renderers/support/typeUtils.js";function p(){return{type:[s],clonable:!1,json:{name:`fieldConfigurations`,write:{overridePolicy(e){return{enabled:d(this.layer),ignoreOrigin:!0}}}},set:function(e){if(this._override(`fieldConfigurations`,e),!this.layer?.loaded)return;let t=l(this,e);t&&this._set(`popupTemplate`,t)},get:function(){if(this._isOverridden(`fieldConfigurations`))return this._get(`fieldConfigurations`);if(this.layer?.loaded)return c(this)||null}}}function m(){return{type:[r],value:[],json:{write:{ignoreOrigin:!0,writer(e,t,r){let i=e.filter(e=>e.statisticType!==`avg_angle`).map(e=>e.toJSON());n(r,i,t)}}},set:function(e){C(this._get(`fields`),null),C(e,this.layer),this._set(`fields`,e)}}}function h(){return{readOnly:!0,get:function(){return new i(this.fields)}}}function g(){return{type:[u],json:{read:{source:`drawingInfo.labelingInfo`},write:{target:`drawingInfo.labelingInfo`,ignoreOrigin:!0}}}}function _(){return w(t(a))}function v(){return{clonable:!1,set:function(e){C(this.fields,e),this._set(`layer`,e)}}}function y(){return{type:Number,json:{default:0,name:`visibilityInfo.maxScale`,write:{ignoreOrigin:!0}}}}function b(){return w(t(o))}function x(){return{type:e,json:{name:`popupInfo`,write:{ignoreOrigin:!0,writer(e,t,n,r){e&&(t[n]=e.toJSON({...r,writeFieldFormat:d(this.layer)}))}}}}}function S(){return{types:f,json:{write:{target:`drawingInfo.renderer`,ignoreOrigin:!0}}}}function C(e,t){e?.forEach(e=>{e.layer=t})}function w(e){let t=e.json;t||=e.json={};let n=t.write;return typeof n==`object`&&n||(n=t.write={}),n.ignoreOrigin=!0,e}export{p as fieldConfigurationsProperty,h as fieldsIndexProperty,m as fieldsProperty,g as labelingInfoProperty,_ as labelsVisibleProperty,v as layerProperty,y as maxScaleProperty,b as popupEnabledProperty,x as popupTemplateProperty,S as rendererProperty};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../config.js";import{id as t}from"../../kernel.js";import n from"../../PopupTemplate.js";import r from"../../request.js";import{clone as i}from"../../core/lang.js";import{addQueryParameters as a}from"../../core/urlUtils.js";import o from"../../geometry/SpatialReference.js";import{create as s,
|
|
2
|
+
import e from"../../config.js";import{id as t}from"../../kernel.js";import n from"../../PopupTemplate.js";import r from"../../request.js";import{clone as i}from"../../core/lang.js";import{addQueryParameters as a}from"../../core/urlUtils.js";import o from"../../geometry/SpatialReference.js";import{create as s,negativeInfinity as c,expandWithAABB as l,equals as u}from"../../geometry/support/aaBoundingBox.js";import{getBoundsXYZ as d}from"../../geometry/support/boundsUtils.js";import{fromJSON as f}from"../../renderers/support/jsonUtils.js";import p from"../../rest/support/FeatureSet.js";const m={esriGeometryPoint:`points`,esriGeometryPolyline:`polylines`,esriGeometryPolygon:`polygons`};function h(e){let t=e.folders||[],n=t.slice(),r=new Map,a=new Map,o=new Map,s=new Map,c=new Map,l={esriGeometryPoint:a,esriGeometryPolyline:o,esriGeometryPolygon:s};return(e.featureCollection?.layers||[]).forEach(e=>{let t=i(e);t.featureSet.features=[];let n=e.featureSet.geometryType;r.set(n,t);let c=e.layerDefinition.objectIdField;n===`esriGeometryPoint`?v(a,c,e.featureSet.features):n===`esriGeometryPolyline`?v(o,c,e.featureSet.features):n===`esriGeometryPolygon`&&v(s,c,e.featureSet.features)}),e.groundOverlays&&e.groundOverlays.forEach(e=>{c.set(e.id,e)}),t.forEach(t=>{t.networkLinkIds.forEach(r=>{let i=b(r,t.id,e.networkLinks);i&&n.push(i)})}),n.forEach(e=>{if(e.featureInfos){e.points=i(r.get(`esriGeometryPoint`)),e.polylines=i(r.get(`esriGeometryPolyline`)),e.polygons=i(r.get(`esriGeometryPolygon`)),e.mapImages=[];for(let t of e.featureInfos)switch(t.type){case`esriGeometryPoint`:case`esriGeometryPolyline`:case`esriGeometryPolygon`:{let n=l[t.type].get(t.id);n&&e[m[t.type]]?.featureSet.features.push(n);break}case`GroundOverlay`:{let n=c.get(t.id);n&&e.mapImages.push(n);break}}e.fullExtent=S([e])}}),{folders:t,sublayers:n,extent:S(n)}}function g(n,i,o,s){let c=t?.findCredential(n);n=a(n,{token:c?.token});let l=e.kmlServiceUrl;return r(l,{query:{url:n,model:`simple`,folders:``,refresh:o!==0||void 0,outSR:JSON.stringify(i)},responseType:`json`,signal:s})}function _(e,t,n=null,r=[]){let i=[],a={},o=t.sublayers,s=new Set(t.folders.map(e=>e.id));return o.forEach(t=>{let o=new e;if(n?o.read(t,n):o.read(t),r.length&&s.has(o.id)&&(o.visible=r.includes(o.id)),a[t.id]=o,t.parentFolderId!=null&&t.parentFolderId!==-1){let e=a[t.parentFolderId];e.sublayers||=[],e.sublayers?.unshift(o)}else i.unshift(o)}),i}function v(e,t,n){n.forEach(n=>{e.set(n.attributes[t],n)})}function y(e,t){let n;return t.some(t=>t.id===e&&(n=t,!0)),n}function b(e,t,n){let r=y(e,n);return r&&(r.parentFolderId=t,r.networkLink=r),r}async function x(e,t,r,i){let a=e[t];if(!a)return[];let o=p.fromJSON(a.featureSet).features,s=a.layerDefinition,c=f(s.drawingInfo.renderer),l=n.fromJSON(a.popupInfo),u=[];for(let e of o)e.symbol=await c.getSymbolAsync(e),e.popupTemplate=l,e.visible=!0,e.origin=r.sublayerById.get(i).origin,u.push(e);return u}function S(e){let t=s(c),n=s(c);for(let r of e){if(r.polygons?.featureSet?.features)for(let e of r.polygons.featureSet.features)d(t,e.geometry),l(n,t);if(r.polylines?.featureSet?.features)for(let e of r.polylines.featureSet.features)d(t,e.geometry),l(n,t);if(r.points?.featureSet?.features)for(let e of r.points.featureSet.features)d(t,e.geometry),l(n,t);if(r.mapImages)for(let e of r.mapImages)d(t,e.extent),l(n,t)}return u(n,c)?void 0:{xmin:n[0],ymin:n[1],zmin:n[2],xmax:n[3],ymax:n[4],zmax:n[5],spatialReference:o.WGS84}}export{S as computeExtent,g as fetchService,x as getGraphics,h as parseKML,_ as sublayersFromJSON};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{idToReadableName as e,idToWritableName as t,writableNameToId as n}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as r}from"../../core/accessorSupport/utils.js";import{isFeatureServiceLayer as i}from"./layerUtils.js";const a=e=>e.type===`feature`&&!e.isTable,o={feature:{predicate:i,propertyGroups:[{id:`attribute-table-template`,properties:[`attributeTableTemplate`]},{id:`blend-mode`,properties:[`blendMode`],predicate:a},{id:`charts`,properties:[`charts`]},{id:`custom-parameters`,properties:[`customParameters`]},{id:`definition-expression`,properties:[`definitionExpression`]},{id:`display-filter`,properties:[`displayFilterInfo`,`displayFilterEnabled`],predicate:a},{id:`effect`,properties:[`effect`,`featureEffect`],predicate:a},{id:`feature-reduction`,properties:[`featureReduction`],predicate:a},{id:`field-configurations`,property:`fieldConfigurations`,dependency:`popupTemplate`},{id:`floor-info`,properties:[`floorInfo`],predicate:a},{id:`form-template`,properties:[`formTemplate`]},{id:`labels`,properties:[`labelingInfo`,`labelsVisible`],predicate:a},{id:`legend-enabled`,properties:[`legendEnabled`],predicate:a},{id:`opacity`,properties:[`opacity`],predicate:a},{id:`order-by`,properties:[`orderBy`],predicate:a},{id:`popup`,properties:[`popupTemplate`,`popupEnabled`]},{id:`refresh-interval`,properties:[`refreshInterval`]},{id:`renderer`,properties:[`renderer`],predicate:a},{id:`scale-range`,properties:[`minScale`,`maxScale`],predicate:a},{id:`use-view-time`,properties:[`useViewTime`]},{id:`visibility-time-extent`,properties:[`visibilityTimeExtent`],predicate:a}]}};function s(e){return o[e.type]?.propertyGroups.filter(t=>!t.predicate||t.predicate(e))??[]}function c(e){return`dependency`in e}function l(e){let t=s(e),n=[];for(let e of t)c(e)?n.push(e.property):n.push(...e.properties);return n}function u(e,t,n){return e.originIdOf(t)<n?`source`:`overridden`}function d(e,t,n,r){return u(e,e.originIdOf(t)===1?r:t,n)}function f(e,t,r){let i=n(r),a=[],o=[];if(c(t)){let{property:n,dependency:r}=t;o.push(d(e,n,i,r)),a.push(n)}else{let{properties:n}=t;o.push(...n.map(t=>u(e,t,i))),a.push(...n)}return{id:t.id,properties:a,status:o.reduce((e,t)=>e===t?e:`overridden`)}}function p(t,r,i){let a=n(i);t.revertToOrigin(r,e(a-1))}function m(e,t,n){let i=e.originIdOf(t);i!==1&&(p(e,t,n),i=e.originIdOf(t),i<2&&r(e)?.clearOverride(t))}function h(e,r,i){let a=n(i),o=e.originIdOf(r);o<a&&o!==1&&e.updateOrigin(r,t(a))}function g(e){let t=o[e.type];return!(!t||t.predicate&&!t.predicate(e))}function _(e,t){if(!g(e))return;let n=s(e).map(n=>f(e,n,t));return{propertyGroupOriginInfos:n,status:n.map(e=>e.status).reduce((e,t)=>e===t?e:`mixed`)}}function v(e,t){if(g(e))for(let n of s(e))if(c(n))m(e,n.property,t);else for(let r of n.properties)p(e,r,t)}function y(e,t){if(!g(e))return;let n=l(e);for(let r of n)h(e,r,t)}export{v as clearOverrides,y as disconnectFromSource,_ as getLayerOriginInfo,g as isSupportedLayer};
|
|
2
|
+
import{idToReadableName as e,idToWritableName as t,writableNameToId as n}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as r}from"../../core/accessorSupport/utils.js";import{isFeatureServiceLayer as i}from"./layerUtils.js";const a=e=>e.type===`feature`&&!e.isTable,o={feature:{predicate:i,propertyGroups:[{id:`attribute-table-template`,properties:[`attributeTableTemplate`]},{id:`blend-mode`,properties:[`blendMode`],predicate:a},{id:`charts`,properties:[`charts`]},{id:`custom-parameters`,properties:[`customParameters`]},{id:`data-series`,properties:[`dataSeriesInfos`],predicate:a},{id:`definition-expression`,properties:[`definitionExpression`]},{id:`display-filter`,properties:[`displayFilterInfo`,`displayFilterEnabled`],predicate:a},{id:`effect`,properties:[`effect`,`featureEffect`],predicate:a},{id:`feature-reduction`,properties:[`featureReduction`],predicate:a},{id:`field-configurations`,property:`fieldConfigurations`,dependency:`popupTemplate`},{id:`floor-info`,properties:[`floorInfo`],predicate:a},{id:`form-template`,properties:[`formTemplate`]},{id:`labels`,properties:[`labelingInfo`,`labelsVisible`],predicate:a},{id:`legend-enabled`,properties:[`legendEnabled`],predicate:a},{id:`opacity`,properties:[`opacity`],predicate:a},{id:`order-by`,properties:[`orderBy`],predicate:a},{id:`popup`,properties:[`popupTemplate`,`popupEnabled`]},{id:`refresh-interval`,properties:[`refreshInterval`]},{id:`renderer`,properties:[`renderer`,`symbolLayerDrawing`],predicate:a},{id:`scale-range`,properties:[`minScale`,`maxScale`],predicate:a},{id:`use-view-time`,properties:[`useViewTime`,`timeInfo`]},{id:`visibility-time-extent`,properties:[`visibilityTimeExtent`],predicate:a}]}};function s(e){return o[e.type]?.propertyGroups.filter(t=>!t.predicate||t.predicate(e))??[]}function c(e){return`dependency`in e}function l(e){let t=s(e),n=[];for(let e of t)c(e)?n.push(e.property):n.push(...e.properties);return n}function u(e,t,n){return e.originIdOf(t)<n?`source`:`overridden`}function d(e,t,n,r){return u(e,e.originIdOf(t)===1?r:t,n)}function f(e,t,r){let i=n(r),a=[],o=[];if(c(t)){let{property:n,dependency:r}=t;o.push(d(e,n,i,r)),a.push(n)}else{let{properties:n}=t;o.push(...n.map(t=>u(e,t,i))),a.push(...n)}return{id:t.id,properties:a,status:o.reduce((e,t)=>e===t?e:`overridden`)}}function p(t,r,i){let a=n(i);t.revertToOrigin(r,e(a-1))}function m(e,t,n){let i=e.originIdOf(t);i!==1&&(p(e,t,n),i=e.originIdOf(t),i<2&&r(e)?.clearOverride(t))}function h(e,r,i){let a=n(i),o=e.originIdOf(r);o<a&&o!==1&&e.updateOrigin(r,t(a))}function g(e){let t=o[e.type];return!(!t||t.predicate&&!t.predicate(e))}function _(e,t){if(!g(e))return;let n=s(e).map(n=>f(e,n,t));return{propertyGroupOriginInfos:n,status:n.map(e=>e.status).reduce((e,t)=>e===t?e:`mixed`)}}function v(e,t){if(g(e))for(let n of s(e))if(c(n))m(e,n.property,t);else for(let r of n.properties)p(e,r,t)}function y(e,t){if(!g(e))return;let n=l(e);for(let r of n)h(e,r,t)}export{v as clearOverrides,y as disconnectFromSource,_ as getLayerOriginInfo,g as isSupportedLayer};
|