@arcgis/core 6.0.0-next.14 → 6.0.0-next.16
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/08fe248e412bb170210d.js +1 -0
- package/assets/esri/core/workers/chunks/{fb444954be74c1962ced.js → 10d80e793019dfb45ca2.js} +1 -1
- package/assets/esri/core/workers/chunks/14d5d219e7fe017f23f0.js +1 -0
- package/assets/esri/core/workers/chunks/164e74d586297946a717.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/237a1f68a0efbfe5b77c.js +1 -0
- package/assets/esri/core/workers/chunks/23c43f09c4a4749516e1.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/2acf2952cef69e382a35.js +1 -0
- package/assets/esri/core/workers/chunks/{481589c3eddad6e026ad.js → 369780276b2755361f7d.js} +1 -1
- package/assets/esri/core/workers/chunks/{4df6cb1bee5d0720a43e.js → 36cbd614454581aaf334.js} +1 -1
- package/assets/esri/core/workers/chunks/{1e0d2715d603f48a7e0b.js → 370aad23df597db80d65.js} +1 -1
- package/assets/esri/core/workers/chunks/3baa4a9c52f41bfd6abb.js +1 -0
- 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/4bbe1f28f5f16a6bef05.js +1 -0
- 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/5529831dd891382c79df.js +1 -0
- package/assets/esri/core/workers/chunks/5736feefa261589b6273.js +1 -0
- package/assets/esri/core/workers/chunks/576248e9ae2654569420.js +1 -0
- package/assets/esri/core/workers/chunks/5acb422fe3cf693d9d4f.js +1 -0
- package/assets/esri/core/workers/chunks/{aeaaff7a4b1a99540f52.js → 5cb26bbaa08114aec5ce.js} +1 -1
- package/assets/esri/core/workers/chunks/661c6324529dd17b297e.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/6a8dd8b18b0b825b0c1b.js +1 -0
- 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/{3ffda5bf0b91700dc308.js → 78643f116677950ea29a.js} +1 -1
- package/assets/esri/core/workers/chunks/{916b363c342b61ba5461.js → 787c1a8bda7d745633f2.js} +1 -1
- package/assets/esri/core/workers/chunks/7b5f3c79e0605c32b267.js +1 -0
- package/assets/esri/core/workers/chunks/7bbfe9ff352afc566367.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/{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/8e19629899a5becf8e19.js +1 -0
- package/assets/esri/core/workers/chunks/91dd65cf877c8f2e01a7.js +1 -0
- package/assets/esri/core/workers/chunks/{46b4fb6a7fe4877b0efc.js → 94baa354e50c03b82b25.js} +2 -2
- 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/9b051745d24d1f43480b.js +1 -0
- package/assets/esri/core/workers/chunks/9d61740ef8bdcc162be1.js +1 -0
- package/assets/esri/core/workers/chunks/{eb04e1717a1002cda3ab.js → 9f06ec95bdf0d0b52b41.js} +1 -1
- package/assets/esri/core/workers/chunks/{fafb92ca2c5e4b0b2c23.js → a09d2e1e2540921e4717.js} +1 -1
- 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/{90bdf86f553e2742d67c.js → a7bd5ba4d7d97411fd33.js} +1 -1
- package/assets/esri/core/workers/chunks/{900181f68449d8f82eeb.js → aa1ac7954e4f0fefe15b.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/{3c0ed15b544df6fb0903.js → b48952e1fb4cb7360dd0.js} +1 -1
- package/assets/esri/core/workers/chunks/b5e7475cc5fbf31289d3.js +1 -0
- package/assets/esri/core/workers/chunks/{f3da30d7300b92bd8bb0.js → befa32b9e7b3fbdd431e.js} +1 -1
- package/assets/esri/core/workers/chunks/{0f617980c7dd9ad0444f.js → bf35927979fc5e7e0478.js} +1 -1
- package/assets/esri/core/workers/chunks/c4ddac23bd649d24f3f2.js +1 -0
- package/assets/esri/core/workers/chunks/{4e6f40cbdb8c508e6df1.js → c5a9e77977e867a75ff2.js} +1 -1
- package/assets/esri/core/workers/chunks/{25f19fc929f25ddd628c.js → c79934cd6883307203f8.js} +1 -1
- 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/d311ff96a5a2791d8cfc.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/{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/{aadfe34a99c9ec7a0e11.js → f9c5aa0bbf23e780fecc.js} +1 -1
- package/assets/esri/core/workers/chunks/f9ff27cfcf0538ac5e26.js +1 -0
- package/assets/esri/core/workers/chunks/{19676b2c5f8b0a5ee680.js → facd1ff23203fed67686.js} +1 -1
- package/assets/esri/core/workers/chunks/{40a584cb952e94326e9e.js → fcb86d24fc7e0666b564.js} +1 -1
- package/assets/esri/libs/pdfjs/wasm/openjpeg_nowasm_fallback.js +1 -0
- 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/config.d.ts +2 -0
- package/config.js +1 -1
- package/core/ObjectPool.js +1 -1
- package/core/PooledArray.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/accessorSupport/tracking/SimpleTrackingTarget.js +1 -1
- 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/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/buffer/BufferPool.js +1 -1
- package/geometry/support/coordsUtils.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/meshUtils.d.ts +5 -6
- package/geometry/support/polygonExtentClipping.js +1 -1
- package/identity/Credential.js +1 -1
- package/interfaces.d.ts +18 -9
- 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/FeatureLayer.d.ts +4 -4
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeospatialPDFLayer.d.ts +154 -4
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/Layer.d.ts +2 -0
- 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/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/FeatureTileController3D.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/ImageCanvasDecoder.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/LabelClass.d.ts +3 -2
- package/layers/support/PortalItemData.d.ts +31 -8
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/featureReductionProperties.js +1 -1
- package/layers/support/kmlUtils.js +1 -1
- package/layers/support/types.d.ts +4 -1
- package/layers/video/VideoController.js +10 -10
- package/libs/maquette/projection.js +1 -1
- package/networks/UtilityNetworkTraceAnalysis.js +1 -1
- package/package.json +5 -5
- 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/knowledgeGraph/ObjectValue.js +1 -1
- 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/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/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/DirectLineMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
- package/views/3d/analysis/LineOfSight/{LineOfSightRootPlugin.js → LineOfSightPlacementRootPlugin.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/ViewshedSubTool.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/input/handlers/KeyboardNavigation.js +1 -1
- package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.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/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/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/StageLayerElevationProvider.js +1 -1
- package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
- package/views/3d/support/MemoryController.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/terrain/TerrainData.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/RenderOccluded.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/PathBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
- package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
- package/views/3d/webgl-engine/lib/PathProfile.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/lib/pathGeometryUtils.js +1 -1
- package/views/3d/webgl-engine/materials/internal/MaterialUtil.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/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/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/BasemapToggle/BasemapToggleViewModel.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.d.ts +10 -1
- package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor.d.ts +10 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- 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/HistogramRangeSlider.d.ts +2 -2
- package/widgets/HistogramRangeSlider.js +1 -1
- package/widgets/Legend.d.ts +1 -0
- package/widgets/Print.js +1 -1
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.d.ts +5 -2
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/Slice.js +1 -1
- package/widgets/UtilityNetworkTraceAnalysis/UtilityNetworkTraceAnalysisViewModel.js +1 -1
- package/widgets/ValuePicker/ValuePickerBaseComponent.d.ts +5 -1
- package/widgets/ValuePicker/ValuePickerCollection.d.ts +2 -0
- package/widgets/ValuePicker/ValuePickerCombobox.d.ts +7 -1
- package/widgets/ValuePicker/ValuePickerLabel.d.ts +7 -1
- package/widgets/ValuePicker/ValuePickerSlider.d.ts +2 -0
- package/widgets/ValuePicker/ValuePickerSliderVisibleElements.d.ts +5 -1
- package/widgets/ValuePicker/ValuePickerVisibleElements.d.ts +5 -1
- package/widgets/ValuePicker/types.d.ts +2 -0
- package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/widgets/support/componentsUtils.js +1 -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/037a8cc19debbaaa4e10.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/1c65ab9ed611c322ce27.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/22e8c0aad2fe75943865.js +0 -1
- package/assets/esri/core/workers/chunks/2eae542fe7f0f6576ac1.js +0 -1
- package/assets/esri/core/workers/chunks/408e81c8f1eff8a7b379.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/5bfea0c55aca826de536.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/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/876f7633c15f1e31078d.js +0 -1
- package/assets/esri/core/workers/chunks/8ca9648eacb894283513.js +0 -1
- package/assets/esri/core/workers/chunks/91ebb2ccab1889eb7e81.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/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/f122c18af10e56f9ec2b.js +0 -1
- package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.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/views/3d/analysis/LineOfSight/{lineOfSightPlacementUtils.js → placementUtils.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../core/Error.js";import{throwIfAborted as t,throwIfAbortError as n}from"../../../core/promiseUtils.js";import{inflate as r}from"./Zlib.js";async function i(r,i,c){if(!r||r.byteLength<10)throw new e(`imagecanvasdecoder: decode`,`required a valid encoded data as input.`);let{width:d,height:f,format:p}=i,{applyJpegMask:m}=i;if(m&&!(d&&f))throw new e(`imagecanvasdecoder: decode`,`image width and height are needed to apply jpeg mask directly to canvas`);let h=null;p===`jpg`&&m&&d&&f&&(h=await u(r,{width:d,height:f}));try{let e=new Blob([new Uint8Array(r)],{type:l(p)}),u=await createImageBitmap(e);t(c);let{useTiledDecoding:d,tileIndex:f,tileSize:m}=i;if(d&&f==null)return o(u,h,m);if(f!=null&&m!=null)return s(u,f,m);try{return a(u,h)}catch(e){if(n(e),u.width>4096||u.height>4096)return o(u,h);throw e}}catch(t){throw n(t),new e(`imagecanvasdecoder: decode`,`cannot load image`)}}function a(t,n){let{width:r,height:i}=t,a=new OffscreenCanvas(r,i),o=a.getContext(`2d`);if(!o)throw new e(`imagecanvasdecoder: decode`,`cannot create canvas context`);o.drawImage(t,0,0,r,i);let s=c(o.getImageData(0,0,r,i),r,i,n);return a.width=0,a.height=0,s}function o(t,n,r=[2048,2048]){let[i,a]=r,o=new OffscreenCanvas(i,a),s=o.getContext(`2d`,{willReadFrequently:!0});if(!s)throw new e(`imagecanvasdecoder: decode`,`cannot create canvas context`);let{width:c,height:l}=t,u=c*l,d=new Uint8Array(u),f=new Uint8Array(u),p=new Uint8Array(u),m=n==null;n||=new Uint8Array(u);for(let e=0;e<l;e+=a){let r=Math.min(a,l-e);for(let a=0;a<c;a+=i){let o=Math.min(i,c-a);s.clearRect(0,0,o,r),s.drawImage(t,a,e,o,r,0,0,o,r);let{data:l}=s.getImageData(0,0,o,r);for(let t=0;t<r;t++){let r=t*o*4,i=(e+t)*c+a;for(let e=0;e<o;e++,r+=4,i++)d[i]=l[r],f[i]=l[r+1],p[i]=l[r+2],m&&(n[i]=l[r+3])}}}let h={width:c,height:l,pixels:[d,f,p],mask:n,pixelType:`u8`};return o.width=0,o.height=0,console.log(`decodeFullImageTiled: ${c}x${l} using tile ${i}x${a}`,h),h}function s(t,n,r){let[i,a,o]=n,[s,l]=r,u=Math.ceil(t.width/2**i),d=Math.ceil(t.height/2**i),f=Math.ceil(d/l),p=Math.ceil(u/s);if(a>=f||o>=p)return null;let m=new OffscreenCanvas(u,d),h=m.getContext(`2d`);if(!h)throw new e(`imagecanvasdecoder: decode`,`cannot create canvas context`);h.drawImage(t,0,0,u,d);let g=o*s,_=a*l,v=Math.min(s,u-g),y=Math.min(l,d-_),b=c(h.getImageData(g,_,v,y),s,l);return m.width=0,m.height=0,b}function c(e,t,n,r){let i=t*n,a=new Uint8Array(i),o=new Uint8Array(i),s=new Uint8Array(i),c=r==null;r||=new Uint8Array(i);let l={width:t,height:n,pixels:[a,o,s],mask:r,pixelType:`u8`},{width:u,height:d,data:f}=e;if(u===t&&d===n){for(let e=0,t=0;e<i;e++,t+=4)a[e]=f[t],o[e]=f[t+1],s[e]=f[t+2],c&&(r[e]=f[t+3]);return l}for(let e=0;e<d;e++){let n=e*u*4;for(let i=0;i<u;i++){let l=e*t+i;a[l]=f[n+i*4],o[l]=f[n+i*4+1],s[l]=f[n+i*4+2],c&&(r[l]=f[n+i*4+3])}}return l}function l(e){return`image/${e===`jpg`?`jpeg`:e}`}async function u(e,t){try{let n=new Uint8Array(e),r=Math.ceil(n.length/2),i=n.length-2;for(;r<i&&(n[r]!==255||n[r+1]!==217);r++);r+=2;let a=null;return r<n.length-1&&(a=await d(n.subarray(r,-4),t.width*t.height)),a}catch{return null}}async function d(e,t){try{let
|
|
2
|
+
import e from"../../../core/Error.js";import{throwIfAborted as t,throwIfAbortError as n}from"../../../core/promiseUtils.js";import{inflate as r}from"./Zlib.js";async function i(r,i,c){if(!r||r.byteLength<10)throw new e(`imagecanvasdecoder: decode`,`required a valid encoded data as input.`);let{width:d,height:f,format:p}=i,{applyJpegMask:m}=i;if(m&&!(d&&f))throw new e(`imagecanvasdecoder: decode`,`image width and height are needed to apply jpeg mask directly to canvas`);let h=null;p===`jpg`&&m&&d&&f&&(h=await u(r,{width:d,height:f}));try{let e=new Blob([new Uint8Array(r)],{type:l(p)}),u=await createImageBitmap(e);t(c);let{useTiledDecoding:d,tileIndex:f,tileSize:m}=i;if(d&&f==null)return o(u,h,m);if(f!=null&&m!=null)return s(u,f,m);try{return a(u,h)}catch(e){if(n(e),u.width>4096||u.height>4096)return o(u,h);throw e}}catch(t){throw n(t),new e(`imagecanvasdecoder: decode`,`cannot load image`)}}function a(t,n){let{width:r,height:i}=t,a=new OffscreenCanvas(r,i),o=a.getContext(`2d`);if(!o)throw new e(`imagecanvasdecoder: decode`,`cannot create canvas context`);o.drawImage(t,0,0,r,i);let s=c(o.getImageData(0,0,r,i),r,i,n);return a.width=0,a.height=0,s}function o(t,n,r=[2048,2048]){let[i,a]=r,o=new OffscreenCanvas(i,a),s=o.getContext(`2d`,{willReadFrequently:!0});if(!s)throw new e(`imagecanvasdecoder: decode`,`cannot create canvas context`);let{width:c,height:l}=t,u=c*l,d=new Uint8Array(u),f=new Uint8Array(u),p=new Uint8Array(u),m=n==null;n||=new Uint8Array(u);for(let e=0;e<l;e+=a){let r=Math.min(a,l-e);for(let a=0;a<c;a+=i){let o=Math.min(i,c-a);s.clearRect(0,0,o,r),s.drawImage(t,a,e,o,r,0,0,o,r);let{data:l}=s.getImageData(0,0,o,r);for(let t=0;t<r;t++){let r=t*o*4,i=(e+t)*c+a;for(let e=0;e<o;e++,r+=4,i++)d[i]=l[r],f[i]=l[r+1],p[i]=l[r+2],m&&(n[i]=l[r+3])}}}let h={width:c,height:l,pixels:[d,f,p],mask:n,pixelType:`u8`};return o.width=0,o.height=0,console.log(`decodeFullImageTiled: ${c}x${l} using tile ${i}x${a}`,h),h}function s(t,n,r){let[i,a,o]=n,[s,l]=r,u=Math.ceil(t.width/2**i),d=Math.ceil(t.height/2**i),f=Math.ceil(d/l),p=Math.ceil(u/s);if(a>=f||o>=p)return null;let m=new OffscreenCanvas(u,d),h=m.getContext(`2d`);if(!h)throw new e(`imagecanvasdecoder: decode`,`cannot create canvas context`);h.drawImage(t,0,0,u,d);let g=o*s,_=a*l,v=Math.min(s,u-g),y=Math.min(l,d-_),b=c(h.getImageData(g,_,v,y),s,l);return m.width=0,m.height=0,b}function c(e,t,n,r){let i=t*n,a=new Uint8Array(i),o=new Uint8Array(i),s=new Uint8Array(i),c=r==null;r||=new Uint8Array(i);let l={width:t,height:n,pixels:[a,o,s],mask:r,pixelType:`u8`},{width:u,height:d,data:f}=e;if(u===t&&d===n){for(let e=0,t=0;e<i;e++,t+=4)a[e]=f[t],o[e]=f[t+1],s[e]=f[t+2],c&&(r[e]=f[t+3]);return l}for(let e=0;e<d;e++){let n=e*u*4;for(let i=0;i<u;i++){let l=e*t+i;a[l]=f[n+i*4],o[l]=f[n+i*4+1],s[l]=f[n+i*4+2],c&&(r[l]=f[n+i*4+3])}}return l}function l(e){return`image/${e===`jpg`?`jpeg`:e}`}async function u(e,t){try{let n=new Uint8Array(e),r=Math.ceil(n.length/2),i=n.length-2;for(;r<i&&(n[r]!==255||n[r+1]!==217);r++);r+=2;let a=null;return r<n.length-1&&(a=await d(n.subarray(r,-4),t.width*t.height)),a}catch{return null}}async function d(e,t,n){try{let i=await r(e,void 0,n),a=new Uint8Array(t);for(let e=0,t=0;e<i.length;e++)for(let n=7;n>=0;n--)a[t++]=i[e]>>n&1;return a}catch{return null}}export{i as decode,d as decodeBitMask};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../core/Error.js";import{assertIsSome as t}from"../../../core/maybe.js";import{isAbortError as
|
|
2
|
+
import e from"../../../core/Error.js";import{assertIsSome as t}from"../../../core/maybe.js";import{throwIfAborted as n,isAbortError as r}from"../../../core/promiseUtils.js";import{decode as i}from"./ImageCanvasDecoder.js";import{decode as a}from"./JpgPlus.js";import{load as o,decode as s}from"./Lerc.js";import{decode as c}from"./Lzw.js";import{convertNoDataToMask as l}from"./pixelRangeUtils.js";import{load as u,decode as d}from"./Qb3.js";import{decode as f}from"./Raw.js";import{decodeTileOrStrip as p,decode as m}from"./TiffDecoder.js";import{isPlatformLittleEndian as h}from"./utils.js";import{inflate as g}from"./Zlib.js";import _ from"../../support/PixelBlock.js";import v from"../../support/SimpleBandStatistics.js";async function y(t,n){if(!h)throw new e(`rasterCoded:decode`,`lerc decoder is not supported on big endian platform`);await o();let{width:r,height:i,pixelType:a,statistics:c,depthCount:l,noDataValues:u,bandMasks:d,pixels:f,mask:p,validPixelCount:m}=s(t,{inputOffset:n.offset,returnInterleaved:n.returnInterleaved});return new _({width:r,height:i,pixelType:a.toLowerCase(),pixels:f,mask:p,validPixelCount:m,statistics:c.map(({minValue:e,maxValue:t})=>new v(e,t)),bandMasks:d,depthCount:l,noDataValues:u})}async function b(t,n){await u();let r=d(t);if(!r)throw new e(`rasterCodec:decode`,`failed to decode the input data.`);let{width:i,height:a,pixels:o,pixelType:s}=r;return new _({width:i,height:a,pixelType:s,pixels:o})}async function x(e,n,r){let i=await m(e,{...n,noDataValue:n.tiffNoDataValue,matchAllNoData:n.matchAllNoData},r);return t(i),new _({width:i.width,height:i.height,pixels:i.pixels,pixelType:i.pixelType.toLowerCase(),mask:i.mask,bandMasks:i.bandMasks})}async function S(e,t,n){let r=await p(e,t.customOptions,n),i=new _({width:r.width,height:r.height,pixels:r.pixels,pixelType:r.pixelType.toLowerCase(),mask:r.mask});return t.skipStatistics||i.updateStatistics(),i}function C(e,t){let n=t.pixelType||`u8`,r=_.getPixelArrayConstructor(n),i=n===`u8`?e:new r(e.buffer),a=[],o=t.planes||1;if(o===1)a.push(i);else for(let n=0;n<o;n++){let s=(t.width||1)*(t.height||e.length),c=new r(s);for(let e=0;e<s;e++)c[e]=i[e*o+n];a.push(c)}return new _({width:t.width||1,height:t.height||e.length,pixels:a,pixelType:n})}async function w(e,t,n){return C(await g(new Uint8Array(e),void 0,n),t)}function T(e,t){return C(c(e,t.offset,t.eof,!t.isInputBigEndian),t)}function E(e,t){let n=t.format,{pixelTypeCtor:r}=j(t.pixelType),i=f(e,{width:t.width,height:t.height,pixelType:r,format:n});return new _({width:t.width,height:t.height,pixels:i.pixels,pixelType:t.pixelType,mask:i.mask})}async function D(e,t){let n=await a(e,t);return new _({width:n.width,height:n.height,pixels:n.pixels,pixelType:`u8`,mask:n.mask})}async function O(e,t,n){let r=await i(e,t,n);return new _(r)}async function k(t,n,i){let a=n.format||N(t),o={...n,format:a},{canvasUsage:s}=n;if(s!==`no-canvas`||a===`png`)try{return await O(t,o,i)}catch(t){if(r(t))throw t;if(s===`canvas-only`)throw new e(`rasterCodec:decode`,`failed to decode the input data with canvas for format ${a}`)}return await D(t,o)}function A(t){let n=null;switch(t){case`lerc`:n=y;break;case`jpg`:case`png`:n=k;break;case`bmp`:case`gif`:n=O;break;case`bsq`:case`bip`:n=E;break;case`tiff`:n=x;break;case`deflate`:n=w;break;case`lzw`:n=T;break;case`qb3`:n=b;break;default:n=()=>{throw new e(`rasterCodec:decode`,`unsupported raster format ${t}`)}}return n}function j(e){let t=e?e.toLowerCase():`f32`,n=null,r=null;switch(t){case`u1`:case`u2`:case`u4`:case`u8`:r=255,n=Uint8Array;break;case`u16`:r||=2**16-1,n=Uint16Array;break;case`u32`:r||=2**32-1,n=Uint32Array;break;case`s8`:r||=-128,n=Int8Array;break;case`s16`:r||=0-2**15,n=Int16Array;break;case`s32`:r||=0-2**31,n=Int32Array;break;default:n=Float32Array}return{pixelTypeCtor:n,noDataValue:r}}function M(e,t=`bilinear`){if(!e)return;let{pixels:n,width:r,height:i,mask:a}=e;if(!n||n.length===0)return;let o=r-1,s=i-1,c=[],l=null,u=_.getPixelArrayConstructor(e.pixelType);if(t===`nearest`){for(let e of n){let t=new u(o*s);for(let n=0;n<s;n++){let i=n*r;for(let r=0;r<o;r++)t[n*o+r]=e[i+r]}c.push(t)}if(a!=null){l=new Uint8Array(o*s);for(let e=0;e<s;e++){let t=e*r;for(let n=0;n<o;n++)l[e*o+n]=a[t+n]}}}else{for(let e of n){let t=new u(o*s);for(let n=0;n<s;n++){let i=n*r;for(let a=0;a<o;a++)t[n*o+a]=(e[i+a]+e[i+a+1]+e[i+r+a]+e[i+r+a+1])/4}c.push(t)}if(a){l=new Uint8Array(o*s);for(let e=0;e<s;e++){let t=e*r;for(let n=0;n<o;n++)l[e*o+n]=Math.min.apply(null,[a[t+n],a[t+n+1],a[t+r+n],a[t+r+n+1]])}}}e.width=o,e.height=s,e.mask=l,e.pixels=c}function N(e){if(!e)return;let t=new Uint8Array(e,0,10),n;return t[0]===255&&t[1]===216?n=`jpg`:t[0]===137&&t[1]===80&&t[2]===78&&t[3]===71?n=`png`:t[0]===67&&t[1]===110&&t[2]===116&&t[3]===90&&t[4]===73&&t[5]===109&&t[6]===97&&t[7]===103&&t[8]===101&&t[9]===32||t[0]===76&&t[1]===101&&t[2]===114&&t[3]===99&&t[4]===50&&t[5]===32?n=`lerc`:t[0]===73&&t[1]===73&&t[2]===42&&t[3]===0||t[0]===77&&t[1]===77&&t[2]===0&&t[3]===42||t[0]===73&&t[1]===73&&t[2]===43&&t[3]===0||t[0]===77&&t[1]===77&&t[2]===0&&t[3]===43?n=`tiff`:t[0]===71&&t[1]===73&&t[2]===70?n=`gif`:t[0]===66&&t[1]===77?n=`bmp`:t[0]===81&&t[1]===66&&t[2]===51&&(n=`qb3`),n}async function P(t,r={},i){if(t==null)throw new e(`rasterCodec:decode`,`missing encodeddata parameter.`);let a=r.format?.toLowerCase();if((a===`bsq`||a===`bip`)&&(r.width==null||r.height==null))throw new e(`rasterCodec:decode`,`requires width and height in options parameter.`);if(a===`tiff`&&r.customOptions)return S(t,r,i);if(!a||a!==`bsq`&&a!==`bip`&&a!==`deflate`&&a!==`lzw`){if(a=N(t),!a)throw String.fromCharCode.apply(null,[...new Uint8Array(t,0,10)]).toLowerCase().includes(`error`)?new e(`rasterCodec:decode`,`input data contains error`):new e(`rasterCodec:decode`,`unsupported raster format`);r={...r,format:a}}let o=A(a);r.isPoint&&(r={...r},r.width!=null&&r.width++,r.height!=null&&r.height++);let s,{offsets:c}=r;if(c&&c.length>1){let e=c.map((e,n)=>o(t.slice(e,c[n+1]),r,i)),n=await Promise.all(e);s=n[0],s.pixels=n.map(e=>e.pixels[0]);let a=n.map(e=>e.mask);a.some(e=>e!=null)&&(a.forEach((e,t)=>{a[t]??=new Uint8Array(s.width*s.height).fill(255)}),s.bandMasks=a,s.mask=_.combineBandMasks(a))}else s=await o(t,{...r,offset:c?.[0]??r.offset},i);return n(i),a!==`jpg`&&r.noDataValue!=null&&s.depthCount===1&&l(s,r.noDataValue,{customFloatTolerance:r.tolerance}),r.isPoint&&M(s),!s.statistics?.length&&!r.skipStatistics&&s.updateStatistics(),s}export{P as decode,N as getFormat};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../core/Error.js";import"../../../core/has.js";import{J as t}from"../../../chunks/Jpg.js";import{load as n,decode as r}from"./Lerc.js";import{decode as i}from"./Lzw.js";import{convertNoDataToMask as a}from"./pixelRangeUtils.js";import{isBSQConfig as o,getTagFirstNumericValue as s,getCompressionType as c,parseHeader as l,checkRequiredArraySize as u,getTagNumericValues as d,getImageInfo as f}from"./tiffParser.js";import{isPlatformLittleEndian as p}from"./utils.js";import{inflate as m}from"./Zlib.js";function h(e,t){let n=`unknown`;return e===3?n=t===64?`f64`:`f32`:e===1?t===1?n=`u1`:t===2?n=`u2`:t===4?n=`u4`:t<=8?n=`u8`:t<=16?n=`u16`:t<=32&&(n=`u32`):e===2&&(t<=8?n=`s8`:t<=16?n=`s16`:t<=32&&(n=`s32`)),n}function g(e){let t=e?e.toLowerCase():`f32`,n=null;switch(t){case`u1`:case`u2`:case`u4`:case`u8`:n=Uint8Array;break;case`u16`:n=Uint16Array;break;case`u32`:n=Uint32Array;break;case`s8`:n=Int8Array;break;case`s16`:n=Int16Array;break;case`s32`:n=Int32Array;break;case`f64`:n=Float64Array;break;default:n=Float32Array}return n}async function _(e,t){return await n(),r(e,{inputOffset:t}).pixels[0]}function v(e,t){if(t%8==0)return e;let n=t>16?32:t>8?16:8;n>8&&(e=b(e,n===32?4:2));let r=n===32?Uint32Array:n===16?Uint16Array:Uint8Array,i=new r(e),a=Math.floor(e.byteLength*8/t+1e-6),o=new r(a),s=(1<<t)-1,c=0,l=0,u=0;for(let e=0;e<a;e++)if(l===0&&(u=i[c++],l=n),l>=t)o[e]=u>>>l-t&s,l-=t;else{let r=t-l,a=(u&s)<<r&s;u=i[c++],l=n-r,a+=u>>>l,o[e]=a}return o.buffer}function y(e,n,r){let i=new t;i.parse(e),i.colorTransform=r===6?-1:0;let a=i.getData(i.width,i.height,n!==1&&n!==4);return new Uint8Array(a.buffer)}function b(e,t){let n=new Uint8Array(e),r=new Uint8Array(n.length);if(t===2)for(let e=0;e<n.length;e+=2)r[e]=n[e+1],r[e+1]=n[e];else if(t===4)for(let e=0;e<n.length;e+=4)r[e]=n[e+3],r[e+1]=n[e+2],r[e+2]=n[e+1],r[e+3]=n[e];else for(let e=0;e<n.length;e+=8)r[e]=n[e+7],r[e+1]=n[e+6],r[e+2]=n[e+5],r[e+3]=n[e+4],r[e+4]=n[e+3],r[e+5]=n[e+2],r[e+6]=n[e+1],r[e+7]=n[e];return r.buffer}async function x(t,n
|
|
2
|
+
import e from"../../../core/Error.js";import"../../../core/has.js";import{J as t}from"../../../chunks/Jpg.js";import{load as n,decode as r}from"./Lerc.js";import{decode as i}from"./Lzw.js";import{convertNoDataToMask as a}from"./pixelRangeUtils.js";import{isBSQConfig as o,getTagFirstNumericValue as s,getCompressionType as c,parseHeader as l,checkRequiredArraySize as u,getTagNumericValues as d,getImageInfo as f}from"./tiffParser.js";import{isPlatformLittleEndian as p}from"./utils.js";import{inflate as m}from"./Zlib.js";function h(e,t){let n=`unknown`;return e===3?n=t===64?`f64`:`f32`:e===1?t===1?n=`u1`:t===2?n=`u2`:t===4?n=`u4`:t<=8?n=`u8`:t<=16?n=`u16`:t<=32&&(n=`u32`):e===2&&(t<=8?n=`s8`:t<=16?n=`s16`:t<=32&&(n=`s32`)),n}function g(e){let t=e?e.toLowerCase():`f32`,n=null;switch(t){case`u1`:case`u2`:case`u4`:case`u8`:n=Uint8Array;break;case`u16`:n=Uint16Array;break;case`u32`:n=Uint32Array;break;case`s8`:n=Int8Array;break;case`s16`:n=Int16Array;break;case`s32`:n=Int32Array;break;case`f64`:n=Float64Array;break;default:n=Float32Array}return n}async function _(e,t){return await n(),r(e,{inputOffset:t}).pixels[0]}function v(e,t){if(t%8==0)return e;let n=t>16?32:t>8?16:8;n>8&&(e=b(e,n===32?4:2));let r=n===32?Uint32Array:n===16?Uint16Array:Uint8Array,i=new r(e),a=Math.floor(e.byteLength*8/t+1e-6),o=new r(a),s=(1<<t)-1,c=0,l=0,u=0;for(let e=0;e<a;e++)if(l===0&&(u=i[c++],l=n),l>=t)o[e]=u>>>l-t&s,l-=t;else{let r=t-l,a=(u&s)<<r&s;u=i[c++],l=n-r,a+=u>>>l,o[e]=a}return o.buffer}function y(e,n,r){let i=new t;i.parse(e),i.colorTransform=r===6?-1:0;let a=i.getData(i.width,i.height,n!==1&&n!==4);return new Uint8Array(a.buffer)}function b(e,t){let n=new Uint8Array(e),r=new Uint8Array(n.length);if(t===2)for(let e=0;e<n.length;e+=2)r[e]=n[e+1],r[e+1]=n[e];else if(t===4)for(let e=0;e<n.length;e+=4)r[e]=n[e+3],r[e+1]=n[e+2],r[e+2]=n[e+1],r[e+3]=n[e];else for(let e=0;e<n.length;e+=8)r[e]=n[e+7],r[e+1]=n[e+6],r[e+2]=n[e+5],r[e+3]=n[e+4],r[e+4]=n[e+3],r[e+5]=n[e+2],r[e+6]=n[e+1],r[e+7]=n[e];return r.buffer}async function x(t,n){let{input:r,isTiffLittleEndian:a,ifd:l,offset:u,size:d}=t,f=p===a,x=s(l,`BITSPERSAMPLE`),S=s(l,`SAMPLESPERPIXEL`)??1,C=s(l,`PHOTOMETRICINTERPRETATION`),w=s(l,`SAMPLEFORMAT`)??1,E=h(w,x),D=c(l);if(D===34887)return await _(r,u);let O=g(E),k,A;switch(D){case 1:k=r.slice(u,u+d),A=new Uint8Array(k);break;case 8:case 32946:A=await m(new Uint8Array(r,u,d),void 0,n),k=A.buffer;break;case 6:A=y(new Uint8Array(r,u,d),S,C),k=A.buffer;break;case 7:{let e=l.get(`JPEGTABLES`).values,t=e.length-2,n=new Uint8Array(t+d-2);for(let r=0;r<t;r++)n[r]=e[r];let i=new Uint8Array(r,u+2,d-2);for(let e=0;e<i.length;e++)n[t+e]=i[e];A=y(n,S,C),k=A.buffer}break;case 5:A=i(r,u,d,a),k=A.buffer;break;default:throw new e(`tiff-reader:decode-data`,`unsupported compression `+D)}k=v(k,x);let j;if(f||x<=8)j=new O(k);else{let e=x>32?8:x>16?4:2;j=new O(b(A.buffer,e))}let M=s(l,`PREDICTOR`)??1,N=s(l,`TILEWIDTH`),P=s(l,`TILELENGTH`);if(M>1&&(D===5||D===8||D===32946)&&N&&P){let e=o(l),t=new O(j.length);t.set(j),j=T(t,P,N,w===3&&M===3,e?1:S)}return j}async function S(e,t,n,r){let i=d(n,`TILEOFFSETS`),a=d(n,`TILEBYTECOUNTS`);if(i==null||a==null)return null;let{width:l,height:u,pixelType:p,tileWidth:m,tileHeight:h}=f([n]),_=o(n,t),v=s(n,`SAMPLESPERPIXEL`)||t.planes,y=l*u,b=s(n,`BITSPERSAMPLE`),S=c(n)===34887,C=g(p),w=[];for(let e=0;e<v;e++)w.push(new C(y));let T=Math.ceil(l/m),E=new Uint8Array(y).fill(255),D=null,O=!1;if(b%8==0){if(S&&_&&v>1){let o=Math.round(i.length/v);for(let s=0;s<o;s++){let o=Math.floor(s/T)*h,c=s%T*m,d=o*l+c;for(let f=0;f<v;f++){let p=s*v+f;a[p]===0?(D=null,O=!0):D=await x({input:e,isTiffLittleEndian:t.littleEndian,ifd:n,offset:i[p],size:a[p]},r);let g=Math.min(m,l-c),_=Math.min(h,u-o),y=w[f];for(let e=0;e<_;e++){let t=d+e*l,n=e*m;for(let e=0;e<g;e++,t++,n++)D?y[t]=D[n]:E[t]=0}}}}else for(let o=0;o<i.length;o++){let s=Math.floor(o/T)*h,c=o%T*m,d=s*l+c;a[o]===0?(D=null,O=!0):D=await x({input:e,isTiffLittleEndian:t.littleEndian,ifd:n,offset:i[o],size:a[o]},r);let f=Math.min(m,l-c),p=Math.min(h,u-s);for(let e=0;e<v;e++){let t=w[e];if(_||S)for(let n=0;n<p;n++){let r=d+n*l,i=m*h*e+n*m;for(let e=0;e<f;e++,r++,i++)D?t[r]=D[i]:E[r]=0}else for(let n=0;n<p;n++){let r=d+n*l,i=n*m*v+e;for(let e=0;e<f;e++,r++,i+=v)D?t[r]=D[i]:E[r]=0}}}}return{width:l,height:u,pixelType:p,pixels:w,mask:O?E:void 0}}async function C(e,t,n,r){let a=p===t.littleEndian,o=d(n,`STRIPOFFSETS`),l=d(n,`STRIPBYTECOUNTS`);if(o==null||l==null)return null;let{width:u,height:h,pixelType:_}=f([n]),b=s(n,`SAMPLESPERPIXEL`)||t.planes,x=s(n,`PHOTOMETRICINTERPRETATION`),S=u*h,C=s(n,`BITSPERSAMPLE`),w=g(_),T=new w(S*b),E=s(n,`ROWSPERSTRIP`),D=c(n),O,k,A,j;if(C%8==0)for(let n=0;n<o.length;n++){let s=E*u*n*b;if(_===`u8`||_===`s8`||a)D===8||D===32946?(A=new Uint8Array(e,o[n],l[n]),A=await m(A,void 0,r),k=A.buffer):D===6?(A=new Uint8Array(e,o[n],l[n]),A=y(A,b,x),k=A.buffer):D===5?(A=i(e,o[n],l[n],t.littleEndian),k=A.buffer):k=e.slice(o[n],o[n]+l[n]),k=v(k,C),O=new w(k);else{switch(D===6||D===8||D===32946?(A=new Uint8Array(e,o[n],l[n]),j=await m(A,void 0,r),k=j.buffer):(k=new ArrayBuffer(l[n]),A=new Uint8Array(e,o[n],l[n]),j=new Uint8Array(k)),_){case`u16`:case`s16`:for(let e=0;e<A.length;e+=2)j[e]=A[e+1],j[e+1]=A[e];break;case`u32`:case`s32`:case`f32`:for(let e=0;e<A.length;e+=4)j[e]=A[e+3],j[e+1]=A[e+2],j[e+2]=A[e+1],j[e+3]=A[e]}k=v(k,C),O=new w(k)}T.set(O,s)}let M=[];if(b===1)M.push(T);else for(let e=0;e<b;e++){let t=new w(S);for(let n=0;n<S;n++)t[n]=T[n*b+e];M.push(t)}return{width:u,height:h,pixelType:_,pixels:M}}function w(e,t,n){if(!(e&&e.length>0&&t&&n))return null;let r,i,a,o=e[0].length,s=e.length,c=new Uint8Array(o);for(let l=0;l<s;l++)if(r=e[l],i=t[l],a=n[l],l===0)for(let e=0;e<o;e++)c[e]=r[e]<i||r[e]>a?0:1;else for(let e=0;e<o;e++)c[e]&&(c[e]=r[e]<i||r[e]>a?0:1);return c}function T(e,t,n,r,i){let a=r?4:1,o=n*a*i;r&&(e=new Uint8Array(e.buffer));for(let n=0;n<t;n++){let t=n*o;for(let n=i;n<o;n++)e[t+n]+=e[t+n-i]}if(!r)return e;let s=new Uint8Array(e.length),c=n*i;for(let n=0;n<t;n++){let t=n*o;for(let n=0;n<c;n++)for(let r=0;r<a;r++)s[t+n*a+r]=e[t+n+(a-r-1)*c]}return new Float32Array(s.buffer)}async function E(e,t,n){let{headerInfo:r,ifd:i,offsets:l,sizes:u}=t,d=[];for(let t=0;t<l.length;t++){+(u[t]===0);let a=await x({input:e,isTiffLittleEndian:r.littleEndian,ifd:i,offset:l[t],size:u[t]||e.byteLength},n);d.push(a)}let f=o(i,r),p=s(i,`BITSPERSAMPLE`),m=h(s(i,`SAMPLEFORMAT`)??1,p),_=s(i,`SAMPLESPERPIXEL`)||r.planes,v=g(m),y=s(i,`TILEWIDTH`),b=s(i,`TILELENGTH`),S=c(i)===34887,C=y*b,T,E=[],D=d[0];for(let e=0;e<_;e++){if(T=new v(C),d.length===_)D=d[e],D.length===C&&(T=D);else if(D.length){if(f||S)T=D.length===C?D:D.slice(C*e,C*(e+1));else for(let t=0;t<C;t++)T[t]=D[t*_+e]}E.push(T)}let O=r.noData?r.noData[0]:t.noDataValue,k=r.metadata?r.metadata.statistics:null,A=k?k.map(e=>e.min):null,j=k?k.map(e=>e.max):null,M={pixelType:m,width:y,height:b,pixels:E,noDataValue:O};return O==null?A&&j&&t.applyMinMaxConstraint&&(M.mask=w(E,A,j)):a(M,O,{matchAllNoData:t?.matchAllNoData}),M}async function D(t,n={},r){let i=n.pyramidLevel||0,o=n.headerInfo||l(t),{ifds:s,noData:c}=o;if(s.length===0)throw new e(`tiff-reader:decode`,`no valid image file directory`);let d=u(o);if(d)throw new e(`tiff-reader:decode`,d);let f=i===-1?s[s.length-1]:s[i],p=c??n.noDataValue,m=o.tileWidth?await S(t,o,f,r):await C(t,o,f,r);if(!m)return m;if(p!=null){let e=c==null&&n?.matchAllNoData;a(m,p,{matchAllNoData:e})}return m}export{D as decode,E as decodeTileOrStrip};
|
|
@@ -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};
|
|
@@ -308,10 +308,11 @@ export default class LabelClass extends JSONSupport {
|
|
|
308
308
|
*/
|
|
309
309
|
accessor name: string | null | undefined;
|
|
310
310
|
/**
|
|
311
|
-
*
|
|
311
|
+
* The offset distance of the label from its default position.
|
|
312
|
+
* Will be applied to the label's position relative to the [label placement](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LabelClass/#labelPlacement).
|
|
312
313
|
*
|
|
313
314
|
* @default 0
|
|
314
|
-
* @
|
|
315
|
+
* @since 5.2
|
|
315
316
|
*/
|
|
316
317
|
accessor offsetDistance: number;
|
|
317
318
|
/**
|
|
@@ -3,39 +3,62 @@ import type { Clonable } from "../../core/Clonable.js";
|
|
|
3
3
|
import type { JSONSupportMixin } from "../../core/JSONSupport.js";
|
|
4
4
|
import type { PortalItemProperties } from "../../portal/PortalItem.js";
|
|
5
5
|
|
|
6
|
+
/** Properties used to construct a [PortalItemData](https://developers.arcgis.com/javascript/latest/references/core/layers/support/PortalItemData/). */
|
|
6
7
|
export interface PortalItemDataProperties {
|
|
7
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* The portal item that provides the layer's data source. The item's content must be compatible
|
|
10
|
+
* with the consuming layer, such as Parquet data for [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/) or a geospatial PDF
|
|
11
|
+
* for [GeospatialPDFLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeospatialPDFLayer/). Set this to a [PortalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) instance or its properties;
|
|
12
|
+
* a plain object such as `{ id: "item-id" }` is autocast to a PortalItem.
|
|
13
|
+
* Set the item's [portal](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/#portal) when referencing content outside the default portal.
|
|
14
|
+
*/
|
|
8
15
|
portalItem?: PortalItemProperties;
|
|
9
16
|
}
|
|
10
17
|
|
|
11
18
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
19
|
+
* Provides an ArcGIS [portal item](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) as the data source for a
|
|
20
|
+
* [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/) or a [GeospatialPDFLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeospatialPDFLayer/).
|
|
14
21
|
*
|
|
15
22
|
* @since 5.2
|
|
16
23
|
* @beta
|
|
17
24
|
* @example
|
|
18
|
-
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* import ParquetLayer from "@arcgis/core/layers/ParquetLayer.js";
|
|
27
|
+
* import PortalItemData from "@arcgis/core/layers/support/PortalItemData.js";
|
|
28
|
+
*
|
|
29
|
+
* // Replace the placeholder ID with a portal item containing Parquet data.
|
|
19
30
|
* const layer = new ParquetLayer({
|
|
20
31
|
* data: new PortalItemData({
|
|
21
32
|
* portalItem: {
|
|
22
|
-
* id: "
|
|
33
|
+
* id: "6ab6f959c1684eb5a54db91644a89747",
|
|
23
34
|
* },
|
|
24
35
|
* }),
|
|
25
36
|
* });
|
|
37
|
+
* ```
|
|
26
38
|
* @example
|
|
27
|
-
*
|
|
39
|
+
* ```ts
|
|
40
|
+
* import GeospatialPDFLayer from "@arcgis/core/layers/GeospatialPDFLayer.js";
|
|
41
|
+
* import PortalItemData from "@arcgis/core/layers/support/PortalItemData.js";
|
|
42
|
+
*
|
|
43
|
+
* // Replace the placeholder ID with a portal item whose URL resolves to a geospatial PDF.
|
|
28
44
|
* const layer = new GeospatialPDFLayer({
|
|
29
45
|
* data: new PortalItemData({
|
|
30
46
|
* portalItem: {
|
|
31
|
-
* id: "
|
|
47
|
+
* id: "0d8613492b1e4598a5edb111f05be7fd",
|
|
32
48
|
* },
|
|
33
49
|
* }),
|
|
34
50
|
* });
|
|
51
|
+
* ```
|
|
35
52
|
*/
|
|
36
53
|
export default class PortalItemData extends PortalItemDataSuperclass {
|
|
37
54
|
constructor(properties?: PortalItemDataProperties);
|
|
38
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* The portal item that provides the layer's data source. The item's content must be compatible
|
|
57
|
+
* with the consuming layer, such as Parquet data for [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/) or a geospatial PDF
|
|
58
|
+
* for [GeospatialPDFLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeospatialPDFLayer/). Set this to a [PortalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) instance or its properties;
|
|
59
|
+
* a plain object such as `{ id: "item-id" }` is autocast to a PortalItem.
|
|
60
|
+
* Set the item's [portal](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/#portal) when referencing content outside the default portal.
|
|
61
|
+
*/
|
|
39
62
|
get portalItem(): PortalItem;
|
|
40
63
|
set portalItem(value: PortalItemProperties);
|
|
41
64
|
/** The type of data source. */
|
|
@@ -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};
|
|
@@ -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};
|
|
@@ -648,7 +648,10 @@ export type ParquetGeometryEncodingUnion = GeometryEncodingWkb | GeometryEncodin
|
|
|
648
648
|
export type ParquetDataUnion = ParquetFilesData | ParquetPortalItemData | PortalItemData;
|
|
649
649
|
|
|
650
650
|
/**
|
|
651
|
-
* Supported
|
|
651
|
+
* Supported data sources for [GeospatialPDFLayer.data](https://developers.arcgis.com/javascript/latest/references/core/layers/GeospatialPDFLayer/#data).
|
|
652
|
+
* A string specifies a PDF URL, a browser [File](https://developer.mozilla.org/en-US/docs/Web/API/File)
|
|
653
|
+
* provides a local PDF, and a [PortalItemData](https://developers.arcgis.com/javascript/latest/references/core/layers/support/PortalItemData/) references a portal item whose URL resolves to a PDF.
|
|
654
|
+
* Each source must contain supported georeferencing information.
|
|
652
655
|
*
|
|
653
656
|
* @since 5.2
|
|
654
657
|
*/
|