@arcgis/core 4.24.0-next.20220329 → 4.24.0-next.20220401
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/PopupTemplate.js +1 -1
- package/WebMap.js +1 -1
- package/WebScene.js +1 -1
- package/analysis/LineOfSightAnalysisObserver.js +1 -1
- package/analysis/LineOfSightAnalysisTarget.js +1 -1
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
- package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/RecentlyUsedCache.js +1 -1
- package/arcade/featureset/support/shared.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/lib/character.js +1 -1
- package/arcade/lib/scanner.js +1 -1
- package/arcade/lib/tokenizer.js +1 -1
- package/arcade/request.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0bfedb1dbdff8205e468.js +1 -0
- package/assets/esri/core/workers/chunks/{5e472c89a38d6a42b84d.js → 0e29250c24a3a7b1ce13.js} +1 -1
- package/assets/esri/core/workers/chunks/0eb9c9477d36cd212f8b.js +1 -0
- package/assets/esri/core/workers/chunks/10779a256841c37f2429.js +1 -0
- package/assets/esri/core/workers/chunks/10a119889d1ab13402a3.js +1 -0
- package/assets/esri/core/workers/chunks/125b14c2ccd96d7c20c2.js +1 -0
- package/assets/esri/core/workers/chunks/23ec33a30db201e8b2c3.js +1 -0
- package/assets/esri/core/workers/chunks/2530e8ccf6e12787ce76.js +1 -0
- package/assets/esri/core/workers/chunks/2d9e97ba5b50aec4dd01.js +1 -0
- package/assets/esri/core/workers/chunks/365dc146398420f13f82.js +1 -0
- package/assets/esri/core/workers/chunks/3ae2827e8d55d6713d20.js +1 -0
- package/assets/esri/core/workers/chunks/3e3eebaa0844742db2f2.js +1 -0
- package/assets/esri/core/workers/chunks/3fd5b2d6eccd9098d492.js +1 -0
- package/assets/esri/core/workers/chunks/404f1d7bce014c7e6965.js +1 -0
- package/assets/esri/core/workers/chunks/411b7777bb5e943c156f.js +1 -0
- package/assets/esri/core/workers/chunks/{12ca192a5233bb2875d0.js → 4312902ab6e42fbe119b.js} +1 -1
- package/assets/esri/core/workers/chunks/{4ef07f50da39f8607c1c.js → 44e95e87bd9e820aeb53.js} +1 -1
- package/assets/esri/core/workers/chunks/{4d4c5e535d8b9ceb865a.js → 4810edf605838d07e5c5.js} +1 -1
- package/assets/esri/core/workers/chunks/4bce446391176a9d4588.js +1 -0
- package/assets/esri/core/workers/chunks/52a0e387073ea264e194.js +1 -0
- package/assets/esri/core/workers/chunks/560234694f3e53802aff.js +1 -0
- package/assets/esri/core/workers/chunks/5633710daeb3bbb79bcf.js +1 -0
- package/assets/esri/core/workers/chunks/5682039666f874836451.js +1 -0
- package/assets/esri/core/workers/chunks/6f01905936396fe87865.js +1 -0
- package/assets/esri/core/workers/chunks/6f7917da7166e8c6854b.js +1 -0
- package/assets/esri/core/workers/chunks/7388824eac8da01ea03d.js +1 -0
- package/assets/esri/core/workers/chunks/7745efef7d5119d0b087.js +1 -0
- package/assets/esri/core/workers/chunks/794b47764ebb0257ed41.js +1 -0
- package/assets/esri/core/workers/chunks/{da64dedf9270b64f42b2.js → 79bdb26244ec7b4472fe.js} +1 -1
- package/assets/esri/core/workers/chunks/79ec28b3e3c57fe026aa.js +1 -0
- package/assets/esri/core/workers/chunks/81e9d860a044acec74ce.js +1 -0
- package/assets/esri/core/workers/chunks/831dc0187f71e658550c.js +1 -0
- package/assets/esri/core/workers/chunks/86ad6b020c01850d9095.js +1 -0
- package/assets/esri/core/workers/chunks/{fb7397da8d4ec2ae4587.js → 87458fbf395338511662.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a859be598ad96bb4719.js → 8771296b537f366596c4.js} +18 -18
- package/assets/esri/core/workers/chunks/8958cd555f4887526e8b.js +1 -0
- package/assets/esri/core/workers/chunks/{e57b71ba70f088a3a052.js → 90dcd86cdef90099abfa.js} +1 -1
- package/assets/esri/core/workers/chunks/93067e27eea5844edc6c.js +1 -0
- package/assets/esri/core/workers/chunks/{9fbee2d9bf50c4c148c6.js → 9a146c9e9b4bf7fba88f.js} +1 -1
- package/assets/esri/core/workers/chunks/9b9821772b6cbe189fe0.js +1 -0
- package/assets/esri/core/workers/chunks/{6c4ce530b493c6f7c430.js → 9df2f9f7c28b31866be8.js} +1 -1
- package/assets/esri/core/workers/chunks/{d0620ce99b620621d8bc.js → a0552044e123a3c51ddf.js} +1 -1
- package/assets/esri/core/workers/chunks/acc1a4acd57f5657e782.js +1 -0
- package/assets/esri/core/workers/chunks/b055ae7c54796751b64c.js +1 -0
- package/assets/esri/core/workers/chunks/{acc2cfb116fee7f82ae9.js → b26bd8fde2fc65bb67fb.js} +1 -1
- package/assets/esri/core/workers/chunks/{9b45b94c4dbdc8d2c5fd.js → b34ba22c7a5adce8a7a2.js} +1 -1
- package/assets/esri/core/workers/chunks/b75665d0bf417c6ef24a.js +1 -0
- package/assets/esri/core/workers/chunks/bd50ec30688463b821d1.js +1 -0
- package/assets/esri/core/workers/chunks/c28f7ae4756ad1ba94bd.js +1 -0
- package/assets/esri/core/workers/chunks/c4f713959d4115b87c6c.js +1 -0
- package/assets/esri/core/workers/chunks/c58aa209492bd94b7aad.js +1 -0
- package/assets/esri/core/workers/chunks/{9b117097b7be0efd21d4.js → c59b0b58e24e6a60cf3e.js} +1 -1
- package/assets/esri/core/workers/chunks/c7bd5a4d318299388645.js +1 -0
- package/assets/esri/core/workers/chunks/c7cee13a962396b23a5e.js +1 -0
- package/assets/esri/core/workers/chunks/{3bbff5ea1ea0e955c592.js → cd3679fa86129ebabfdf.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a36dc0daffd536ea44d.js → cee7ce362860717713bf.js} +1 -1
- package/assets/esri/core/workers/chunks/cf463d6309f14df2f2fa.js +1 -0
- package/assets/esri/core/workers/chunks/{224c0e64160bdc170051.js → d076627bb7dadea89e89.js} +1 -1
- package/assets/esri/core/workers/chunks/{fff4200bc61b82dd6193.js → d1d1c45243af614f2e74.js} +1 -1
- package/assets/esri/core/workers/chunks/{1e0498dc9836658d9aba.js → d5fd12ea541c1a6b7fce.js} +1 -1
- package/assets/esri/core/workers/chunks/{10322d990cda5aedf2f0.js → d6e32ca237ad9309c76a.js} +1 -1
- package/assets/esri/core/workers/chunks/e06ad3a3d71154fed654.js +1 -0
- package/assets/esri/core/workers/chunks/{7a77d4cd27c30f1a5cae.js → ee3387a43dfbb3df23e1.js} +1 -1
- package/assets/esri/core/workers/chunks/{5d5fa2b1fc48a17eb9ab.js → f4fc165420d449e442b8.js} +1 -1
- package/assets/esri/core/workers/chunks/{3d6d9906a534ddd8fa37.js → f5ee03f3fca7a75192de.js} +1 -1
- package/assets/esri/themes/base/widgets/_Daylight.scss +1 -1
- package/assets/esri/themes/base/widgets/_ElevationProfile.scss +1 -1
- package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
- package/assets/esri/themes/base/widgets/_Widget.scss +12 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/dark-blue/main.css +1 -1
- package/assets/esri/themes/dark-green/main.css +1 -1
- package/assets/esri/themes/dark-purple/main.css +1 -1
- package/assets/esri/themes/dark-red/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/themes/light-blue/main.css +1 -1
- package/assets/esri/themes/light-green/main.css +1 -1
- package/assets/esri/themes/light-purple/main.css +1 -1
- package/assets/esri/themes/light-red/main.css +1 -1
- package/chunks/ComponentShader.glsl.js +25 -25
- package/chunks/HighlightApply.glsl.js +36 -0
- package/chunks/HighlightBlur.glsl.js +26 -0
- package/chunks/HighlightDownsample.glsl.js +12 -0
- package/chunks/ImageMaterial.glsl.js +8 -8
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/Pattern.glsl.js +2 -2
- package/chunks/SimpleAtmosphere.glsl.js +7 -7
- package/chunks/Stars.glsl.js +1 -1
- package/chunks/arcade.js +1 -1
- package/chunks/color.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/chunks/mat3.js +1 -1
- package/copyright.txt +2 -2
- package/core/AsyncUpdate.js +1 -1
- package/core/Evented.js +1 -1
- package/core/PooledArray.js +1 -1
- package/core/accessorSupport/diffUtils.js +1 -1
- package/core/accessorSupport/get.js +1 -1
- package/core/accessorSupport/read.js +1 -1
- package/core/accessorSupport/set.js +1 -1
- package/core/accessorSupport/tracking.js +1 -1
- package/core/accessorSupport/utils.js +1 -1
- package/core/arrayUtils.js +1 -1
- package/core/libs/gl-matrix-2/mat3.js +1 -1
- package/core/libs/gl-matrix-2/math/mat3.js +1 -1
- package/core/number.js +1 -1
- package/core/object.js +1 -1
- package/core/string.js +1 -1
- package/core/unitUtils.js +1 -1
- package/core/watchUtils.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/exports/csv.js +1 -1
- package/geometry/support/heightModelInfoUtils.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/geometry.js +1 -1
- package/geometry/support/normalizeUtils.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/interfaces.d.ts +155 -20
- package/layers/ImageryLayer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/WMTSLayer.js +1 -1
- package/layers/WebTileLayer.js +1 -1
- package/layers/graphics/data/AttributesBuilder.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
- package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
- package/layers/graphics/sources/support/inferenceUtils.js +1 -1
- package/layers/mixins/ArcGISCachedService.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/ogc/ogcFeatureUtils.js +1 -1
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/PixelBlock.js +1 -1
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/SpriteSource.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/TilemapCache.js +1 -1
- package/layers/support/WMTSSublayer.js +1 -1
- package/layers/support/arcgisLayerUrl.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/kmlUtils.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
- package/layers/support/rasterDatasets/RasterFactory.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/layers/support/rasterDatasets/multipartParser.js +1 -1
- package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
- package/layers/support/rasterDatasets/xmlUtilities.js +1 -1
- package/layers/support/rasterFormats/RasterCodec.js +1 -1
- package/layers/support/rasterFormats/TiffDecoder.js +1 -1
- package/layers/support/rasterFunctions/pixelUtils.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/layers/support/wmsUtils.js +1 -1
- package/layers/support/wmtsUtils.js +1 -1
- package/libs/i3s/I3SModule.js +1 -1
- package/libs/vxl/VxlModule.js +1 -1
- package/package.json +1 -1
- package/portal/Portal.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/portalItemUtils.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
- package/renderers/support/DictionaryLoader.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/numberUtils.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/renderers/support/utils.js +1 -1
- package/request.js +1 -1
- package/rest/imageService.js +1 -1
- package/rest/operations/find.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/query/operations/queryRelatedRecords.js +1 -1
- package/rest/query/operations/queryTopFeatures.js +1 -1
- package/rest/support/DirectionLine.js +1 -1
- package/rest/support/DirectionPoint.js +1 -1
- package/rest/support/PointBarrier.js +1 -1
- package/rest/support/PolygonBarrier.js +1 -1
- package/rest/support/PolylineBarrier.js +1 -1
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/Stop.js +1 -1
- package/smartMapping/labels/clusters.js +1 -1
- package/smartMapping/popup/dotDensity.js +1 -1
- package/smartMapping/popup/support/clusterUtils.js +1 -1
- package/smartMapping/popup/support/utils.js +1 -1
- package/smartMapping/raster/support/utils.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/predominance.js +1 -1
- package/smartMapping/renderers/relationship.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/utils.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForAge.js +1 -1
- package/smartMapping/statistics/support/ageUtils.js +1 -1
- package/smartMapping/statistics/support/utils.js +1 -1
- package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/smartMapping/support/utils.js +1 -1
- package/smartMapping/symbology/support/Theme.js +1 -1
- package/smartMapping/symbology/support/colorRamps.js +1 -1
- package/smartMapping/symbology/support/symbologyUtils.js +1 -1
- package/smartMapping/symbology/support/utils.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/basemapDefinitions.js +1 -1
- package/support/basemapUtils.js +1 -1
- package/support/elevationInfoUtils.js +1 -1
- package/support/popupUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/symbols/support/previewSymbol3D.js +1 -1
- package/symbols/support/renderUtils.js +1 -1
- package/symbols/support/symbolLayerUtils.js +1 -1
- package/views/2d/engine/Bitmap.js +1 -1
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/imagery/RasterBitmap.js +1 -1
- package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
- package/views/2d/engine/vectorTiles/TextShaping.js +1 -1
- package/views/2d/engine/vectorTiles/TileParser.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +1 -1
- package/views/2d/engine/vectorTiles/expression/expression.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
- package/views/2d/engine/webgl/Profiler.js +1 -1
- package/views/2d/engine/webgl/Utils.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLGeometryBrush.js +1 -1
- package/views/2d/engine/webgl/definitions.js +1 -1
- package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
- package/views/2d/engine/webgl/effects/HittestEffectVTL.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLTemplateStore.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/webgl/util/Lock.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/features/schemaUtils.js +1 -1
- package/views/2d/layers/features/sources/SnapshotFeatureSource.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/2d/layers/features/tileRenderers/SymbolTileRenderer.js +1 -1
- package/views/2d/layers/support/webStyleUtils.js +1 -1
- package/views/2d/support/Timeline.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
- package/views/3d/analysis/Slice/SliceController.js +1 -1
- package/views/3d/environment/PanoramicAtmosphere.js +1 -1
- package/views/3d/environment/SceneViewAtmosphere.js +1 -1
- package/views/3d/environment/StarsTechnique.js +1 -1
- package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
- package/views/3d/glTF/loader.js +1 -1
- package/views/3d/interactive/analysisTools/lineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
- package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/IDBMockCache.js +5 -0
- package/views/3d/layers/i3s/PointCloudWorkerUtil.js +1 -1
- package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomController.js +1 -1
- package/views/3d/support/HighlightOptions.js +1 -1
- package/views/3d/support/buffer/InterleavedLayout.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/HighlightHelper.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderParameters.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightApplyTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightBlur.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightBlurTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightDownsampleTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightOptions.js +4 -0
- package/views/3d/webgl-engine/shaders/HighlightPassParameters.js +5 -0
- package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +5 -7
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +14 -14
- package/views/SceneView.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/input/InputHandler.js +1 -1
- package/views/input/InputManager.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/layers/MapImageLayerView.js +1 -1
- package/views/layers/TileLayerView.js +1 -1
- package/views/layers/support/popupUtils.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/views/support/screenshotUtils.js +1 -1
- package/views/ui/DefaultUI.js +1 -1
- package/views/webgl/ShaderTranspiler.js +1 -1
- package/webscene/Slide.js +1 -1
- package/webscene/spec-certification/spec.js +1 -1
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/Attachments/support/attachmentUtils.js +1 -1
- package/widgets/Attachments.js +1 -1
- package/widgets/Attribution.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/support/filterUtils.js +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
- package/widgets/CoordinateConversion/support/formatUtils.js +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/InputField.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/Card.js +1 -1
- package/widgets/Legend/styles/Classic.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/colorRampUtils.js +1 -1
- package/widgets/Legend/support/relationshipRampUtils.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/Popup/PopupViewModel.js +1 -1
- package/widgets/Popup/actionUtils.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/ScaleBar/ScaleBarViewModel.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Slider.js +1 -1
- package/widgets/Swipe.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/support/DatePicker.js +1 -1
- package/widgets/support/Popover.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/widgets/support/TimePicker.js +1 -1
- package/widgets/support/timeWidgetUtils.js +1 -1
- package/assets/esri/core/workers/chunks/083a5d10f8e243641cb9.js +0 -1
- package/assets/esri/core/workers/chunks/0872812ce4d0ec8faf8f.js +0 -1
- package/assets/esri/core/workers/chunks/0bc26899780c33637746.js +0 -1
- package/assets/esri/core/workers/chunks/113362697da1b69deaed.js +0 -1
- package/assets/esri/core/workers/chunks/11a2f9708938eac98815.js +0 -1
- package/assets/esri/core/workers/chunks/11a45709b703be84caaf.js +0 -1
- package/assets/esri/core/workers/chunks/1c1294ff1ebbd8f774f7.js +0 -1
- package/assets/esri/core/workers/chunks/1c915cc9a9d5729b6f17.js +0 -1
- package/assets/esri/core/workers/chunks/31786756b3d44540f8c0.js +0 -1
- package/assets/esri/core/workers/chunks/36a6f34fe40785beff5d.js +0 -1
- package/assets/esri/core/workers/chunks/373c16f8b8093d001064.js +0 -1
- package/assets/esri/core/workers/chunks/382a331a592abb61267f.js +0 -1
- package/assets/esri/core/workers/chunks/3bf106fe34e3992032c4.js +0 -1
- package/assets/esri/core/workers/chunks/3dcec610f1c1497d87bc.js +0 -1
- package/assets/esri/core/workers/chunks/46495e726d8739260d44.js +0 -1
- package/assets/esri/core/workers/chunks/4a82a6a473b3d540d0be.js +0 -1
- package/assets/esri/core/workers/chunks/4b6719377a95ac10fa43.js +0 -1
- package/assets/esri/core/workers/chunks/4d2ef57ff3a5cfc1313f.js +0 -1
- package/assets/esri/core/workers/chunks/4fd2b8153d62592210a2.js +0 -1
- package/assets/esri/core/workers/chunks/56e6a1079269e2964b02.js +0 -1
- package/assets/esri/core/workers/chunks/5b4d9786c010d265346c.js +0 -1
- package/assets/esri/core/workers/chunks/604637e1c3937b376a0d.js +0 -1
- package/assets/esri/core/workers/chunks/60f83257e361f87fa6fd.js +0 -1
- package/assets/esri/core/workers/chunks/6d3f80be6fceb2c18b5d.js +0 -1
- package/assets/esri/core/workers/chunks/6f827a32646bab0a8777.js +0 -1
- package/assets/esri/core/workers/chunks/70bd2ab42e3801ef5974.js +0 -1
- package/assets/esri/core/workers/chunks/746222184b361b50d6ba.js +0 -1
- package/assets/esri/core/workers/chunks/7fb72b2d11e8d840f982.js +0 -1
- package/assets/esri/core/workers/chunks/85bb6a1a7704fcdcbec2.js +0 -1
- package/assets/esri/core/workers/chunks/8b4c76cebb100e6c06f8.js +0 -1
- package/assets/esri/core/workers/chunks/9586a6b320edb1922926.js +0 -1
- package/assets/esri/core/workers/chunks/99638697ffda9022ce92.js +0 -1
- package/assets/esri/core/workers/chunks/a9da1cb118ca62a9581d.js +0 -1
- package/assets/esri/core/workers/chunks/aaa41a5013eef713c032.js +0 -1
- package/assets/esri/core/workers/chunks/ac321f939dd488ff6ce4.js +0 -1
- package/assets/esri/core/workers/chunks/add6027a96398ecf69de.js +0 -1
- package/assets/esri/core/workers/chunks/b75206b46ba81606087c.js +0 -1
- package/assets/esri/core/workers/chunks/bf8456828e38a768eba3.js +0 -1
- package/assets/esri/core/workers/chunks/c0720d0d8adcba6738d4.js +0 -1
- package/assets/esri/core/workers/chunks/c5bb712d5cf8c05a4e13.js +0 -1
- package/assets/esri/core/workers/chunks/d343f05a3366f95e0494.js +0 -1
- package/assets/esri/core/workers/chunks/d8b1f00075983d769985.js +0 -1
- package/chunks/Highlight.glsl.js +0 -88
- package/views/3d/webgl-engine/shaders/Highlight.glsl.js +0 -5
- package/views/3d/webgl-engine/shaders/HighlightTechnique.js +0 -5
- package/views/3d/webgl-engine/shaders/HighlightTechniqueConfiguration.js +0 -5
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../core/Error.js";import{layerLookupMap as t}from"../../layers/support/lazyLayerLoader.js";import r from"../Portal.js";import{createForItem as n}from"./jsonContext.js";import{loadStyleRenderer as l}from"../../renderers/support/styleUtils.js";import{requestArcGISServiceJSON as a}from"../../support/requestPresets.js";async function o(e,t){const r=e.instance.portalItem;
|
|
5
|
+
import e from"../../core/Error.js";import{layerLookupMap as t}from"../../layers/support/lazyLayerLoader.js";import r from"../Portal.js";import{createForItem as n}from"./jsonContext.js";import{loadStyleRenderer as l}from"../../renderers/support/styleUtils.js";import{requestArcGISServiceJSON as a}from"../../support/requestPresets.js";async function o(e,t){const r=e.instance.portalItem;if(r&&r.id)return await r.load(t),s(e),i(e,t)}function s(t){const r=t.instance.portalItem;if(!t.supportedTypes.includes(r.type))throw new e("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}'",{type:r.type,expectedType:t.supportedTypes.join(", ")})}async function i(e,t){const r=e.instance,a=r.portalItem,{url:o,title:s}=a,i=n(a);if("group"===r.type)return r.read({title:s},i),u(r,e);o&&r.read({url:o},i);const c=await y(e,t);return c&&r.read(c,i),r.resourceReferences={portalItem:a,paths:i.readResourcePaths},r.read({title:s},i),l(r,i)}function u(r,n){let l;const a=r.portalItem.type;switch(a){case"Feature Service":case"Feature Collection":l=t.FeatureLayer;break;case"Stream Service":l=t.StreamLayer;break;case"Scene Service":l=t.SceneLayer;break;default:throw new e("portal:unsupported-item-type-as-group",`The item type '${a}' is not supported as a 'IGroupLayer'`)}let o;return l().then((e=>(o=e,y(n)))).then((async e=>"Feature Service"===a?(e=await f(e,r.portalItem.url),p(r,o,e)):h(e)>0?p(r,o,e):c(r,o)))}function c(e,t){return e.portalItem.url?a(e.portalItem.url).then((r=>{var n,l;function a(e){return{id:e.id,name:e.name}}r&&p(e,t,{layers:null==(n=r.layers)?void 0:n.map(a),tables:null==(l=r.tables)?void 0:l.map(a)})})):Promise.resolve()}function p(e,t,r){let n=r.layers||[];const l=r.tables||[];"Feature Collection"===e.portalItem.type&&(n.forEach((e=>{var t;"Table"===(null==e||null==(t=e.layerDefinition)?void 0:t.type)&&l.push(e)})),n=n.filter((e=>{var t;return"Table"!==(null==e||null==(t=e.layerDefinition)?void 0:t.type)}))),n.reverse().forEach((n=>{const l=d(e,t,r,n);e.add(l)})),l.reverse().forEach((n=>{const l=d(e,t,r,n);e.tables.add(l)}))}function d(e,t,n,l){const a=new t({portalItem:e.portalItem.clone(),layerId:l.id,sublayerTitleMode:"service-name"});if("Feature Collection"===e.portalItem.type){const t={origin:"portal-item",portal:e.portalItem.portal||r.getDefault()};a.read(l,t);const o=n.showLegend;null!=o&&a.read({showLegend:o},t)}return a}function y(e,t){if(!1===e.supportsData)return Promise.resolve(void 0);const r=e.instance;return r.portalItem.fetchData("json",t).catch((()=>null)).then((async e=>{if(I(r)){let t,n=!0;return e&&h(e)>0&&(null==r.layerId&&(r.layerId=m(e)),t=v(e,r.layerId),t&&(1===h(e)&&(n=!1),null!=e.showLegend&&(t.showLegend=e.showLegend))),n&&"service-name"!==r.sublayerTitleMode&&(r.sublayerTitleMode="item-title-and-service-name"),t}return e}))}async function f(e,t){var r,n;if(null==(null==(r=e)?void 0:r.layers)||null==(null==(n=e)?void 0:n.tables)){const r=await a(t);(e=e||{}).layers=e.layers||(null==r?void 0:r.layers),e.tables=e.tables||(null==r?void 0:r.tables)}return e}function m(e){const t=e.layers;if(t&&t.length)return t[0].id;const r=e.tables;return r&&r.length?r[0].id:null}function v(e,t){const r=e.layers;if(r)for(let l=0;l<r.length;l++)if(r[l].id===t)return r[l];const n=e.tables;if(n)for(let l=0;l<n.length;l++)if(n[l].id===t)return n[l];return null}function h(e){var t,r,n,l;return(null!=(t=null==e||null==(r=e.layers)?void 0:r.length)?t:0)+(null!=(n=null==e||null==(l=e.tables)?void 0:l.length)?n:0)}function I(e){return"stream"!==e.type&&"layerId"in e}export{m as getFirstLayerOrTableId,h as getNumLayersAndTables,o as load,f as preprocessFSItemData};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
function e(e,n){if(!t(e,n)){const t=e.typeKeywords;t?t.push(n):e.typeKeywords=[n]}}function t(e,t){return!!e.typeKeywords&&e.typeKeywords.
|
|
5
|
+
function e(e,n){if(!t(e,n)){const t=e.typeKeywords;t?t.push(n):e.typeKeywords=[n]}}function t(e,t){return!!e.typeKeywords&&e.typeKeywords.includes(t)}function n(e,t){const n=e.typeKeywords;if(n){const e=n.indexOf(t);e>-1&&n.splice(e,1)}}export{e as addTypeKeyword,t as hasTypeKeyword,n as removeTypeKeyword};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../core/Error.js";import{layerLookupMap as r}from"../../layers/support/lazyLayerLoader.js";import t from"../PortalItem.js";import{getNumLayersAndTables as a,preprocessFSItemData as n,getFirstLayerOrTableId as
|
|
5
|
+
import e from"../../core/Error.js";import{layerLookupMap as r}from"../../layers/support/lazyLayerLoader.js";import t from"../PortalItem.js";import{getNumLayersAndTables as a,preprocessFSItemData as n,getFirstLayerOrTableId as s}from"./layersLoader.js";import{hasTypeKeyword as o}from"./portalItemUtils.js";import{requestArcGISServiceJSON as c}from"../../support/requestPresets.js";function u(e){return!e.portalItem||e.portalItem instanceof t||(e={...e,portalItem:new t(e.portalItem)}),l(e.portalItem).then((r=>{const t={portalItem:e.portalItem,...r.properties};return new(0,r.constructor)(t)}))}function l(e){return e.load().then(i).then(y)}function i(r){switch(r.type){case"Map Service":return m(r);case"Feature Service":return p(r);case"Feature Collection":return L(r);case"Scene Service":return f(r);case"Image Service":return d(r);case"Stream Service":return N();case"Vector Tile Service":return S();case"KML":return I();case"WFS":return h();case"WMTS":return w();case"WMS":return g();case"Feed":return v();default:return Promise.reject(new e("portal:unknown-item-type","Unknown item type '${type}'",{type:r.type}))}}function y(e){return(0,r[e.className])().then((r=>({constructor:r,properties:e.properties})))}function m(e){return T(e).then((e=>e?{className:"TileLayer"}:{className:"MapImageLayer"}))}function p(e){return M(e).then((e=>{if("object"==typeof e){const r={};return null!=e.id&&(r.layerId=e.id),{className:"FeatureLayer",properties:r}}return{className:"GroupLayer"}}))}function f(e){return M(e).then((r=>{if("object"==typeof r){const t={};let a;if(null!=r.id?(t.layerId=r.id,a=`${e.url}/layers/${r.id}`):a=e.url,Array.isArray(e.typeKeywords)&&e.typeKeywords.length>0){const r={IntegratedMesh:"IntegratedMeshLayer","3DObject":"SceneLayer",Point:"SceneLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};for(const t of Object.keys(r))if(e.typeKeywords.includes(t))return{className:r[t]}}return c(a).then((e=>{let r="SceneLayer";const a={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};return e&&e.layerType&&a[e.layerType]&&(r=a[e.layerType]),{className:r,properties:t}}))}return!1===r?c(e.url).then((e=>"Voxel"===(null==e?void 0:e.layerType)?{className:"VoxelLayer"}:{className:"GroupLayer"})):{className:"GroupLayer"}}))}async function L(e){await e.load();if(o(e,"Map Notes"))return{className:"MapNotesLayer"};if(o(e,"Route Layer"))return{className:"RouteLayer"};const r=await e.fetchData();return 1===a(r)?{className:"FeatureLayer"}:{className:"GroupLayer"}}async function d(e){var r,t,a;await e.load();const n=null!=(r=null==(t=e.typeKeywords)?void 0:t.map((e=>e.toLowerCase())))?r:[];if(n.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(n.includes("tiled imagery"))return{className:"ImageryTileLayer"};const s=await e.fetchData(),o=null==s?void 0:s.layerType;if("ArcGISTiledImageServiceLayer"===o)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===o)return{className:"ImageryLayer"};return"map"===(null==(a=(await c(e.url)).cacheType)?void 0:a.toLowerCase())?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}function N(){return{className:"StreamLayer"}}function S(){return{className:"VectorTileLayer"}}function I(){return{className:"KMLLayer"}}function h(){return{className:"WFSLayer"}}function g(){return{className:"WMSLayer"}}function w(){return{className:"WMTSLayer"}}function v(){return{className:"StreamLayer"}}function T(e){return c(e.url).then((e=>e.tileInfo))}function M(e){return!e.url||e.url.match(/\/\d+$/)?Promise.resolve({}):e.load().then((()=>e.fetchData())).then((async r=>{if("Feature Service"===e.type)return j(r=await n(r,e.url));return a(r)>0?j(r):c(e.url).then(j)}))}function j(e){return 1===a(e)&&{id:s(e)}}export{u as fromItem,i as selectLayerClassPath};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import{JSONMap as t}from"../../core/jsonMap.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as s}from"../../core/accessorSupport/decorators/cast.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";var n;const l=new t({percentTotal:"percent-of-total",ratio:"ratio",percent:"percent"}),p=new t({sizeInfo:"size",colorInfo:"color",transparencyInfo:"opacity",rotationInfo:"rotation"}),a={key:e=>"number"==typeof e?"number":"string",typeMap:{number:Number,string:String},base:null},u=["high-to-low","above-and-below","centered-on","extremes"],m=[...new Set([...["high-to-low","above-and-below","centered-on","extremes","90-10","above","below"],...["high-to-low","above-and-below","90-10","above","below"]])],y=["seconds","minutes","hours","days","months","years"];let
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import{JSONMap as t}from"../../core/jsonMap.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as s}from"../../core/accessorSupport/decorators/cast.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";var n;const l=new t({percentTotal:"percent-of-total",ratio:"ratio",percent:"percent"}),p=new t({sizeInfo:"size",colorInfo:"color",transparencyInfo:"opacity",rotationInfo:"rotation"}),a={key:e=>"number"==typeof e?"number":"string",typeMap:{number:Number,string:String},base:null},u=["high-to-low","above-and-below","centered-on","extremes"],m=[...new Set([...["high-to-low","above-and-below","centered-on","extremes","90-10","above","below"],...["high-to-low","above-and-below","90-10","above","below"]])],y=["seconds","minutes","hours","days","months","years"];let c=n=class extends r{constructor(e){super(e),this.endTime=null,this.field=null,this.maxSliderValue=null,this.minSliderValue=null,this.startTime=null,this.type=null,this.units=null}castEndTime(e){return"string"==typeof e||"number"==typeof e?e:null}castStartTime(e){return"string"==typeof e||"number"==typeof e?e:null}get style(){return"color"===this.type?this._get("style"):null}set style(e){this._set("style",e)}get theme(){return"color"===this.type||"size"===this.type?this._get("theme")||"high-to-low":null}set theme(e){this._set("theme",e)}clone(){return new n({endTime:this.endTime,field:this.field,maxSliderValue:this.maxSliderValue,minSliderValue:this.minSliderValue,startTime:this.startTime,style:this.style,theme:this.theme,type:this.type,units:this.units})}};e([o({types:a,json:{write:!0}})],c.prototype,"endTime",void 0),e([s("endTime")],c.prototype,"castEndTime",null),e([o({type:String,json:{write:!0}})],c.prototype,"field",void 0),e([o({type:Number,json:{write:!0}})],c.prototype,"maxSliderValue",void 0),e([o({type:Number,json:{write:!0}})],c.prototype,"minSliderValue",void 0),e([o({types:a,json:{write:!0}})],c.prototype,"startTime",void 0),e([s("startTime")],c.prototype,"castStartTime",null),e([o({type:l.apiValues,value:null,json:{type:l.jsonValues,read:l.read,write:l.write}})],c.prototype,"style",null),e([o({type:m,value:null,json:{type:m,origins:{"web-scene":{type:u,write:{writer:(e,t)=>{u.includes(e)&&(t.theme=e)}}}},write:!0}})],c.prototype,"theme",null),e([o({type:p.apiValues,json:{type:p.jsonValues,read:p.read,write:p.write}})],c.prototype,"type",void 0),e([o({type:y,json:{type:y,write:!0}})],c.prototype,"units",void 0),c=n=e([i("esri.renderers.support.AuthoringInfoVisualVariable")],c);const d=c;export{d as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../Color.js";import t from"../../request.js";import s from"../../core/Error.js";import o from"../../core/Logger.js";import i from"../../core/LRUCache.js";import{isSome as r}from"../../core/maybe.js";import{isAbortError as n}from"../../core/promiseUtils.js";import{numericHash as l}from"../../core/string.js";import{loadArcade as a,createDictionaryExpression as c}from"../../support/arcadeOnDemand.js";import m from"../../symbols/CIMSymbol.js";const f=o.getLogger("esri.renderers.support.DictionaryLoader"),h={type:"CIMSimpleLineCallout",lineSymbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",width:.5,color:[0,0,0,255]}]}};class y{constructor(e,t,s){this.config=null,this.fieldMap=null,this.url=null,this._ongoingRequests=new Map,this._symbolCache=new i(100),this.url=e,this.config=t,this.fieldMap=s}getSymbolFields(){return this._symbolFields}async getSymbolAsync(t,s){let o;this._dictionaryPromise||(this._dictionaryPromise=this.fetchResources(s));try{o=await this._dictionaryPromise}catch(b){if(n(b))return this._dictionaryPromise=null,null}const i={};if(this.fieldMap)for(const e of this._symbolFields){const s=this.fieldMap[e];if(s&&null!=t.attributes[s]){const o=""+t.attributes[s];i[e]=o}else i[e]=""}const a=o(i,s);if(!a||"string"!=typeof a)return null;const c=l(a).toString(),m=this._symbolCache.get(c);if(m)return m.catch((()=>{this._symbolCache.pop(c)})),m;const f=a.split(";"),h=[],y=[];for(const r of f)if(r)if(r.includes("po:")){const t=r.substr(3).split("|");if(3===t.length){const s=t[0],o=t[1];let i=t[2];if("DashTemplate"===o)i=i.split(" ").map((e=>Number(e)));else if("Color"===o){const t=new e(i).toRgba();i=[t[0],t[1],t[2],255*t[3]]}else i=Number(i);y.push({primitiveName:s,propertyName:o,value:i})}}else if(r.includes("|")){for(const e of r.split("|"))if(this._itemNames.has(e)){h.push(e);break}}else this._itemNames.has(r)&&h.push(r);const u=!r(t.geometry)||!t.geometry.hasZ&&"point"===t.geometry.type,p=this._cimPartsToCIMSymbol(h,y,u,s);return this._symbolCache.put(c,p,1),p}async fetchResources(e){if(this._dictionaryPromise)return this._dictionaryPromise;if(!this.url)return void f.error("no valid URL!");const o=r(e)?e.abortOptions:null,i=t(this.url+"/resources/styles/dictionary-info.json",{responseType:"json",query:{f:"json"},...o}),[{data:n}]=await Promise.all([i,a()]);if(!n)throw this._dictionaryPromise=null,new s("esri.renderers.DictionaryRenderer","Bad dictionary data!");const l=n.expression,m=n.authoringInfo;this._refSymbolUrlTemplate=this.url+"/"+n.cimRefTemplateUrl,this._itemNames=new Set(n.itemsNames),this._symbolFields=m.symbol;const h={};if(this.config){const e=this.config;for(const t in e)h[t]=e[t]}if(m.configuration)for(const t of m.configuration)h.hasOwnProperty(t.name)||(h[t.name]=t.value);const y=[];if(r(e)&&e.fields&&this.fieldMap)for(const t of this._symbolFields){const s=this.fieldMap[t],o=e.fields.filter((e=>e.name===s));o.length>0&&y.push({...o[0],name:t})}return this._dictionaryPromise=c(l,r(e)?e.spatialReference:null,y,h).then((e=>{const t={scale:0};return(s,o)=>{const i=e.repurposeFeature({geometry:null,attributes:s});return t.scale=r(o)?o.scale:void 0,e.evaluate({$feature:i,$view:t})}})).catch((e=>(f.error("Creating dictinoary expression failed:",e),null))),this._dictionaryPromise}async _cimPartsToCIMSymbol(e,t,s,o){const i=new Array(e.length);for(let l=0;l<e.length;l++)i[l]=this._getSymbolPart(e[l],o);const r=await Promise.all(i),n=this.fieldMap;for(const l of r)u(l,n);return new m({data:this._combineSymbolParts(r,t,s)})}async _getSymbolPart(e,s){if(this._ongoingRequests.has(e))return this._ongoingRequests.get(e).then((e=>e.data));const o=this._refSymbolUrlTemplate.replace(/\{itemName\}/gi,e),i=t(o,{responseType:"json",query:{f:"json"},...s});this._ongoingRequests.set(e,i);try{return(await i).data}catch(r){
|
|
5
|
+
import e from"../../Color.js";import t from"../../request.js";import s from"../../core/Error.js";import o from"../../core/Logger.js";import i from"../../core/LRUCache.js";import{isSome as r}from"../../core/maybe.js";import{isAbortError as n}from"../../core/promiseUtils.js";import{numericHash as l}from"../../core/string.js";import{loadArcade as a,createDictionaryExpression as c}from"../../support/arcadeOnDemand.js";import m from"../../symbols/CIMSymbol.js";const f=o.getLogger("esri.renderers.support.DictionaryLoader"),h={type:"CIMSimpleLineCallout",lineSymbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",width:.5,color:[0,0,0,255]}]}};class y{constructor(e,t,s){this.config=null,this.fieldMap=null,this.url=null,this._ongoingRequests=new Map,this._symbolCache=new i(100),this.url=e,this.config=t,this.fieldMap=s}getSymbolFields(){return this._symbolFields}async getSymbolAsync(t,s){let o;this._dictionaryPromise||(this._dictionaryPromise=this.fetchResources(s));try{o=await this._dictionaryPromise}catch(b){if(n(b))return this._dictionaryPromise=null,null}const i={};if(this.fieldMap)for(const e of this._symbolFields){const s=this.fieldMap[e];if(s&&null!=t.attributes[s]){const o=""+t.attributes[s];i[e]=o}else i[e]=""}const a=o(i,s);if(!a||"string"!=typeof a)return null;const c=l(a).toString(),m=this._symbolCache.get(c);if(m)return m.catch((()=>{this._symbolCache.pop(c)})),m;const f=a.split(";"),h=[],y=[];for(const r of f)if(r)if(r.includes("po:")){const t=r.substr(3).split("|");if(3===t.length){const s=t[0],o=t[1];let i=t[2];if("DashTemplate"===o)i=i.split(" ").map((e=>Number(e)));else if("Color"===o){const t=new e(i).toRgba();i=[t[0],t[1],t[2],255*t[3]]}else i=Number(i);y.push({primitiveName:s,propertyName:o,value:i})}}else if(r.includes("|")){for(const e of r.split("|"))if(this._itemNames.has(e)){h.push(e);break}}else this._itemNames.has(r)&&h.push(r);const u=!r(t.geometry)||!t.geometry.hasZ&&"point"===t.geometry.type,p=this._cimPartsToCIMSymbol(h,y,u,s);return this._symbolCache.put(c,p,1),p}async fetchResources(e){if(this._dictionaryPromise)return this._dictionaryPromise;if(!this.url)return void f.error("no valid URL!");const o=r(e)?e.abortOptions:null,i=t(this.url+"/resources/styles/dictionary-info.json",{responseType:"json",query:{f:"json"},...o}),[{data:n}]=await Promise.all([i,a()]);if(!n)throw this._dictionaryPromise=null,new s("esri.renderers.DictionaryRenderer","Bad dictionary data!");const l=n.expression,m=n.authoringInfo;this._refSymbolUrlTemplate=this.url+"/"+n.cimRefTemplateUrl,this._itemNames=new Set(n.itemsNames),this._symbolFields=m.symbol;const h={};if(this.config){const e=this.config;for(const t in e)h[t]=e[t]}if(m.configuration)for(const t of m.configuration)h.hasOwnProperty(t.name)||(h[t.name]=t.value);const y=[];if(r(e)&&e.fields&&this.fieldMap)for(const t of this._symbolFields){const s=this.fieldMap[t],o=e.fields.filter((e=>e.name===s));o.length>0&&y.push({...o[0],name:t})}return this._dictionaryPromise=c(l,r(e)?e.spatialReference:null,y,h).then((e=>{const t={scale:0};return(s,o)=>{const i=e.repurposeFeature({geometry:null,attributes:s});return t.scale=r(o)?o.scale:void 0,e.evaluate({$feature:i,$view:t})}})).catch((e=>(f.error("Creating dictinoary expression failed:",e),null))),this._dictionaryPromise}async _cimPartsToCIMSymbol(e,t,s,o){const i=new Array(e.length);for(let l=0;l<e.length;l++)i[l]=this._getSymbolPart(e[l],o);const r=await Promise.all(i),n=this.fieldMap;for(const l of r)u(l,n);return new m({data:this._combineSymbolParts(r,t,s)})}async _getSymbolPart(e,s){if(this._ongoingRequests.has(e))return this._ongoingRequests.get(e).then((e=>e.data));const o=this._refSymbolUrlTemplate.replace(/\{itemName\}/gi,e),i=t(o,{responseType:"json",query:{f:"json"},...s});this._ongoingRequests.set(e,i);try{return(await i).data}catch(r){throw this._ongoingRequests.delete(e),r}}_combineSymbolParts(e,t,s){if(!e||0===e.length)return null;const o={...e[0]};if(e.length>1){o.symbolLayers=[];for(const t of e){const e=t;o.symbolLayers.unshift(...e.symbolLayers)}}return s&&(o.callout=h),{type:"CIMSymbolReference",symbol:o,primitiveOverrides:t}}}function u(e,t){if(!e)return;const s=e.symbolLayers;if(!s)return;let o=s.length;for(;o--;){const e=s[o];if(e&&!1!==e.enable&&"CIMVectorMarker"===e.type)p(e,t)}}function p(e,t){const s=e.markerGraphics;if(s)for(const o of s){if(!o)continue;const e=o.symbol;if(e)switch(e.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":u(e,t);break;case"CIMTextSymbol":e.fieldMap=t}}}export{y as DictionaryLoader};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import{toHSV as t}from"../../core/colorUtils.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import s from"../../core/Logger.js";import{unwrap as o,isSome as a,isNone as n}from"../../core/maybe.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import u from"../../layers/support/RasterInfo.js";import{isValidPixelBlock as c,extractBands as p,stretch as d,colorize as h,remapColor as m,lookupPixels as f,createStretchLUT as g,createColormapLUT as y,createHistogramEqualizationLUT as b,estimateStatisticsHistograms as S}from"../../layers/support/rasterFunctions/pixelUtils.js";import{hillshade as v,tintHillshade as x,calculateHillshadeParams as k}from"../../layers/support/rasterFunctions/surfaceUtils.js";import{convertColorRampToColormap as R}from"./colorRampUtils.js";const C=s.getLogger("esri.renderers.support.RasterSymbolizer");function _(e,t){const{attributeTable:r,bandCount:s}=e;if(n(r)||s>1)return!1;if(t){if(null==r.fields.find((e=>e.name.toLowerCase()===t.toLowerCase())))return!1}return!0}function O(e){return"elevation"===e.dataType}function I(e){const{bandCount:t,colormap:r}=e;return a(r)&&r.length&&1===t}const L={u1:[0,1],u2:[0,3],u4:[0,15],u8:[0,255],s8:[-128,127],u16:[0,65535],s16:[-32768,32767],u32:[0,4294967295],s32:[-2147483648,2147483647],f32:[-34e38,34e38],f64:[-Number.MAX_VALUE,Number.MAX_VALUE]};let V=class extends r{constructor(e){super(e)}bind(){const{rendererJSON:e}=this;if(!e)return{success:!1};let t;switch(this.lookup={rendererJSON:{}},e.type){case"uniqueValue":t=this._updateUVRenderer(e);break;case"rasterColormap":t=this._updateColormapRenderer(e);break;case"rasterStretch":t=this._updateStretchRenderer(e);break;case"classBreaks":t=this._updateClassBreaksRenderer(e);break;case"rasterShadedRelief":t=this._updateShadedReliefRenderer(e);break;case"vectorField":t=this._updateVectorFieldRenderer();break;case"flowRenderer":t=this._updateFlowRenderer()}return t}symbolize(e){let t=e&&e.pixelBlock;if(!T(t))return t;if(e.simpleStretchParams&&"rasterStretch"===this.rendererJSON.type)return this.simpleStretch(t,e.simpleStretchParams);try{let r;switch(t.pixels.length>3&&(t=p(t,[0,1,2])),this.rendererJSON.type){case"uniqueValue":case"rasterColormap":r=this._symbolizeColormap(t);break;case"classBreaks":r=this._symbolizeClassBreaks(t);break;case"rasterStretch":r=this._symbolizeStretch(t,e.bandIds);break;case"rasterShadedRelief":{const{extent:s}=e,o=s.spatialReference.isGeographic,a={x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height};r=this._symbolizeShadedRelief(t,{isGCS:o,resolution:a});break}}return r}catch(r){return C.error("symbolize",r.message),t}}simpleStretch(e,t){if(!T(e))return e;try{return e.pixels.length>3&&(e=p(e,[0,1,2])),d(e,t)}catch(r){return C.error("symbolize",r.message),e}}generateWebGLParameters(e){if(["uniqueValue","rasterColormap","classBreaks"].indexOf(this.rendererJSON.type)>-1){var t;const{indexedColormap:e,offset:r}=(null==(t=this.lookup)?void 0:t.colormapLut)||{};return{colormap:e,colormapOffset:r,type:"lut"}}const{pixelBlock:r,isGCS:s,resolution:o,bandIds:a}=e,{rendererJSON:n}=this;return"rasterStretch"===n.type?this._generateStretchWebGLParams(r,n,a):"rasterShadedRelief"===n.type?this._generateShadedReliefWebGLParams(n,s,o):"vectorField"===n.type?this._generateVectorFieldWebGLParams(n):null}_isLUTChanged(e){if(!this.lookup||!this.lookup.rendererJSON)return!0;if("colorRamp"in this.rendererJSON){const t=this.rendererJSON.colorRamp;return e?JSON.stringify(t)!==JSON.stringify(this.lookup.rendererJSON.colorRamp):(this.rendererJSON,this.lookup.rendererJSON,JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON))}return JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON)}_symbolizeColormap(e){if(this._isLUTChanged()){if(!this.bind().success)return e}return h(e,this.lookup.colormapLut)}_symbolizeClassBreaks(e){const t=this.rasterInfo.pixelType,r=["u8","u16","s8","s16"].indexOf(t)>-1;if(this._isLUTChanged()){if(!this.bind().success)return e}return r?h(e,this.lookup.colormapLut):m(e,this.lookup.remapLut)}_symbolizeStretch(e,t){const{pixelType:r,bandCount:s}=this.rasterInfo,a=this.rendererJSON,n=["u8","u16","s8","s16"].indexOf(r)>-1;let i,l;const{dra:u}=a,c=a.useGamma?a.gamma:null;if("histogramEqualization"===a.stretchType){const r=u?null:this.lookup.histogramLut,s=this._getStretchCutoff(a,e,t,!r),o=d(e,{...s,gamma:c});l=f(o,{lut:u?s.histogramLut:r,offset:0})}else if(n){var p,m;if(u){const s=this._getStretchCutoff(a,e,t);i=g({pixelType:r,...s,gamma:c})}else if(this._isLUTChanged()){if(!this.bind().success)return e;i=this.lookup?this.lookup.stretchLut:null}else i=this.lookup?this.lookup.stretchLut:null;if(!i)return e;s>1&&(null==t?void 0:t.length)===(null==(p=o(e))?void 0:p.pixels.length)&&(null==(m=i)?void 0:m.lut.length)===s&&(i={lut:t.map((e=>i.lut[e])),offset:i.offset}),l=f(e,i)}else{const r=this._getStretchCutoff(a,e,t);l=d(e,{...r,gamma:c})}if(a.colorRamp){if(this._isLUTChanged(!0)){if(!this.bind().success)return e}l=h(l,this.lookup.colormapLut)}return l}_symbolizeShadedRelief(e,t){var r,s;const a=this.rendererJSON,n={...a,...t},i=v(e,n);if(!a.colorRamp)return i;let l;if(this._isLUTChanged(!0)){if(!this.bind().success)return i;l=this.lookup?this.lookup.hsvMap:null}else l=this.lookup?this.lookup.hsvMap:null;if(!l)return i;const u=null!=(r=null==(s=o(this.rasterInfo.statistics))?void 0:s[0])?r:{min:0,max:8e3};return x(i,e,l,u),i}_isVectorFieldData(){const{bandCount:e,dataType:t}=this.rasterInfo;return 2===e&&("vector-magdir"===t||"vector-uv"===t)}_updateVectorFieldRenderer(){return this._isVectorFieldData()?{success:!0}:{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; VectorFieldRenderer only supports "vector-magdir" and "vector-uv".`}}_updateFlowRenderer(){return this._isVectorFieldData()?{success:!0}:{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; FlowRenderer only supports "vector-magdir" and "vector-uv".`}}_updateUVRenderer(e){const{bandCount:t,attributeTable:r,pixelType:s}=this.rasterInfo,o=e.field1;if(!o)return{success:!1,error:"Unsupported renderer; missing UniqueValueRenderer.field."};const a=e.defaultSymbol,n=1===t&&["u8","s8"].includes(s);if(!_(this.rasterInfo,o)&&!n)return{success:!1,error:"Unsupported data; UniqueValueRenderer is only supported on single band data with a valid raster attribute table."};const i=[];if(r){const t=r.fields.find((e=>"value"===e.name.toLowerCase()));if(!t)return{success:!1,error:"Unsupported data; the data's raster attribute table does not have a value field."};r.features.forEach((r=>{var s;const n=e.uniqueValueInfos.find((e=>String(e.value)===String(r.attributes[o]))),l=null==n||null==(s=n.symbol)?void 0:s.color;l?i.push([r.attributes[t.name]].concat(l)):a&&i.push([r.attributes[t.name]].concat(a.color))}))}else{if("value"!==o.toLowerCase())return{success:!1,error:'Unsupported renderer; UniqueValueRenderer.field must be "Value" when raster attribute table is not availalbe.'};e.uniqueValueInfos.forEach((e=>{var t;const r=null==e||null==(t=e.symbol)?void 0:t.color;r?i.push([parseInt(""+e.value,10)].concat(r)):a&&i.push([parseInt(""+e.value,10)].concat(a.color))}))}if(0===i.length)return{success:!1,error:"Invalid UniqueValueRenderer. Cannot find matching records in the raster attribute table."};const l=y({colormap:i});return this.lookup={rendererJSON:e,colormapLut:l},this.canRenderInWebGL=!0,{success:!0}}_updateColormapRenderer(e){if(!I(this.rasterInfo))return{success:!1,error:"Unsupported data; the data source does not have a colormap."};const t=e.colormapInfos.map((e=>[e.value].concat(e.color))).sort(((e,t)=>e[0]-t[0]));if(!t||0===t.length)return{success:!1,error:"Unsupported renderer; ColormapRenderer must have meaningful colormapInfos."};const r=y({colormap:t});return this.lookup={rendererJSON:e,colormapLut:r},this.canRenderInWebGL=!0,{success:!0}}_updateShadedReliefRenderer(e){if(!O(this.rasterInfo))return{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; ShadedReliefRenderer only supports "elevation".`};if(e.colorRamp){const r=R(e.colorRamp,256,!0),s=y({colormap:r}),o=[],a=s.indexedColormap;for(let e=0;e<a.length;e+=4){const r=t({r:a[e],g:a[e+1],b:a[e+2]});o.push([r.h/60,r.s/100,255*r.v/100])}this.lookup={rendererJSON:e,colormapLut:s,hsvMap:o}}else this.lookup=null;return this.canRenderInWebGL=!0,{success:!0}}_updateClassBreaksRenderer(e){const t=this.rasterInfo.pixelType,r=["u8","u16","s8","s16"].indexOf(t)>-1,s=e.classBreakInfos;if(null==s||!s.length)return{success:!1,error:"Unsupported renderer; missing or invalid ClassBreaksRenderer.classBreakInfos."};const o=s.sort(((e,t)=>e.classMaxValue-t.classMaxValue)),a=o[o.length-1];let n=e.minValue;if(!r){const t=[];for(let e=0;e<o.length;e++){var i;t.push({value:null!=(i=o[e].classMinValue)?i:n,mappedColor:o[e].symbol.color}),n=o[e].classMaxValue}return t.push({value:a.classMaxValue,mappedColor:a.symbol.color}),this.lookup={rendererJSON:e,remapLut:t},this.canRenderInWebGL=!1,{success:!0}}const l=[];n=Math.floor(e.minValue);for(let c=0;c<o.length;c++){const e=o[c];for(let t=n;t<e.classMaxValue;t++)l.push([t].concat(e.symbol.color));n=Math.ceil(e.classMaxValue)}a.classMaxValue===n&&l.push([a.classMaxValue].concat(a.symbol.color));const u=y({colormap:l,fillUnspecified:!1});return this.lookup={rendererJSON:e,colormapLut:u},this.canRenderInWebGL=!0,{success:!0}}_isHistogramRequired(e){return"percentClip"===e||"histogramEqualization"===e}_isValidRasterStatistics(e){return a(e)&&e.length>0&&null!=e[0].min&&null!=e[0].max}_updateStretchRenderer(e){var t;let{stretchType:r,dra:s}=e;if(!("none"===r||null!=(t=e.statistics)&&t.length||this._isValidRasterStatistics(this.rasterInfo.statistics)||s))return{success:!1,error:"Unsupported renderer; StretchRenderer.statistics is required when dynamic range adjustment is not used."};const a=o(e.histograms||this.rasterInfo.histograms);!this._isHistogramRequired(e.stretchType)||null!=a&&a.length||s||(r="minMax");const{gamma:n,useGamma:i,colorRamp:l}=e,u=this.rasterInfo.pixelType,c=!s&&["u8","u16","s8","s16"].indexOf(u)>-1;if("histogramEqualization"===r){const t=a.map((e=>b(e)));this.lookup={rendererJSON:e,histogramLut:t}}else if(c){const t=this._getStretchCutoff(e),r=g({pixelType:u,...t,gamma:i?n:null});this.lookup={rendererJSON:e,stretchLut:r}}if(l){const t=R(l,256,!0);this.lookup||(this.lookup={rendererJSON:e}),this.lookup.colormapLut=y({colormap:t}),this.lookup.rendererJSON=e}return this.canRenderInWebGL=!0,{success:!0}}_getStretchCutoff(e,t=null,r,s){var n,i,l;let u,c,p=e.stretchType;var d;if(e.dra)if("minMax"===p&&a(t)&&t.statistics)u=t.statistics.map((e=>[e.minValue,e.maxValue,0,0]));else{const e=S(t);u=a(e)?e.statistics:null,c=a(e)?e.histograms:null}else u=(null==(d=e.statistics)?void 0:d.length)>0?e.statistics:o(this.rasterInfo.statistics),c=e.histograms||o(this.rasterInfo.histograms);!this._isHistogramRequired(p)||null!=(n=c)&&n.length||(p="minMax");const h=(null==(i=u)?void 0:i.length)||(null==(l=c)?void 0:l.length)||this.rasterInfo.bandCount,m=[],f=[];let g,y,v,x,k,R,C,_,O,I,V,T;switch(u&&!Array.isArray(u[0])&&(u=u.map((e=>[e.min,e.max,e.avg,e.stddev]))),p){case"none":{const e=L[this.rasterInfo.pixelType]||L.f32;for(_=0;_<h;_++)m[_]=e[0],f[_]=e[1]}break;case"minMax":for(_=0;_<h;_++)m[_]=u[_][0],f[_]=u[_][1];break;case"standardDeviation":for(_=0;_<h;_++)m[_]=u[_][2]-e.numberOfStandardDeviations*u[_][3],f[_]=u[_][2]+e.numberOfStandardDeviations*u[_][3],m[_]<u[_][0]&&(m[_]=u[_][0]),f[_]>u[_][1]&&(f[_]=u[_][1]);break;case"histogramEqualization":for(_=0;_<h;_++)m[_]=c[_].min,f[_]=c[_].max;break;case"percentClip":for(_=0;_<c.length;_++){for(g=c[_],k=new Uint32Array(g.size),x=[...g.counts],x.length>=20&&(x[0]=x[1]=x[2]=x[x.length-1]=x[x.length-2]=0),v=0,y=(g.max-g.min)/g.size,C=-.5===g.min&&1===y?.5:0,O=0;O<g.size;O++)v+=x[O],k[O]=v;for(R=(e.minPercent||0)*v/100,O=0;O<g.size;O++)if(k[O]>R){m[_]=g.min+y*(O+C);break}for(R=(1-(e.maxPercent||0)/100)*v,O=g.size-2;O>=0;O--)if(k[O]<R){f[_]=g.min+y*(O+2-C);break}}break;default:for(_=0;_<h;_++)m[_]=u[_][0],f[_]=u[_][1]}"histogramEqualization"===p?(V=c[0].size||256,I=0,s&&(T=c.map((e=>b(e))))):(V=e.max||255,I=e.min||0);const N={minCutOff:m,maxCutOff:f,outMax:V,outMin:I,histogramLut:T};return this._getSelectedBandCutoffs(N,r)}_getSelectedBandCutoffs(e,t){if(null==t||0===t.length)return e;const r=Math.max.apply(null,t),{minCutOff:s,maxCutOff:o,outMin:a,outMax:n,histogramLut:i}=e;return s.length===t.length||s.length<=r?e:{minCutOff:t.map((e=>s[e])),maxCutOff:t.map((e=>o[e])),histogramLut:i?t.map((e=>i[e])):null,outMin:a,outMax:n}}_generateStretchWebGLParams(e,t,r){let s=null,o=null;const n=this.lookup&&this.lookup.colormapLut;t.colorRamp&&n&&(s=n.indexedColormap,o=n.offset),"histogramEqualization"===t.stretchType&&(t={...t,stretchType:"minMax"});const{gamma:i}=t,l=!!(t.useGamma&&i&&i.some((e=>1!==e))),{minCutOff:u,maxCutOff:c,outMin:p,outMax:d}=this._getStretchCutoff(t,e,r);let h=0;a(e)&&(h=e.getPlaneCount(),2===h&&((e=e.clone()).statistics=[e.statistics[0]],e.pixels=[e.pixels[0]]));const m=Math.min(3,(null==r?void 0:r.length)||h||this.rasterInfo.bandCount),f=new Float32Array(m),g=s||l?1:255;let y;for(y=0;y<m;y++)f[y]=(d-p)/(c[y]-u[y])/g;const b=new Float32Array(m);if(l)for(y=0;y<m;y++)i[y]>1?i[y]>2?b[y]=6.5+(i[y]-2)**2.5:b[y]=6.5+100*(2-i[y])**4:b[y]=1;return{bandCount:m,outMin:p/g,outMax:d/g,minCutOff:u,maxCutOff:c,factor:f,useGamma:l,gamma:l?i:[1,1,1],gammaCorrection:l?b:[1,1,1],colormap:s,colormapOffset:o,stretchType:t.stretchType,type:"stretch"}}_generateShadedReliefWebGLParams(e,t,r){var s,a,n;let i=null,l=null;const u=this.lookup&&this.lookup.colormapLut;e.colorRamp&&u&&(i=u.indexedColormap,l=u.offset);const c={...e,isGCS:t,resolution:r},p=k(c),d=null==(s=o(this.rasterInfo.statistics))?void 0:s[0];return{...p,minValue:null!=(a=null==d?void 0:d.min)?a:0,maxValue:null!=(n=null==d?void 0:d.max)?n:8e3,hillshadeType:"traditional"===e.hillshadeType?0:1,type:"hillshade",colormap:i,colormapOffset:l}}_generateVectorFieldWebGLParams(e){var t,r,s,o,n,i,l,u;const{style:c,inputUnit:p,outputUnit:d,visualVariables:h,symbolTileSize:m,flowRepresentation:f}=e;let g;const y=null!=(t=null==(r=this.rasterInfo.statistics)?void 0:r[0].min)?t:0,b=null!=(s=null==(o=this.rasterInfo.statistics)?void 0:o[0].max)?s:50,S=null!=(n=null==h?void 0:h.find((e=>"sizeInfo"===e.type)))?n:{type:"sizeInfo",field:"Magnitude",maxDataValue:b,maxSize:.8*m,minDataValue:y,minSize:.2*m},v=null!=(i=S.minDataValue)?i:y,x=null!=(l=S.maxDataValue)?l:b,k=a(S.maxSize)&&a(S.minSize)?[S.minSize/m,S.maxSize/m]:[.2,.8];if("wind_speed"===c){const e=(k[0]+k[1])/2;k[0]=k[1]=e}const R=a(v)&&a(x)?[v,x]:null;if("classified_arrow"===c)if(a(v)&&a(x)&&a(S)){g=[];const e=(S.maxDataValue-S.minDataValue)/5;for(let t=0;t<6;t++)g.push(S.minDataValue+e*t)}else g=[0,1e-6,3.5,7,10.5,14];const C="flow_to"===f===("ocean_current_kn"===c||"ocean_current_m"===c)?0:Math.PI,_=null==h?void 0:h.find((e=>"rotationInfo"===e.type));return{breakValues:g,dataRange:R,inputUnit:p,outputUnit:d,symbolTileSize:m,symbolPercentRange:k,style:c||"single_arrow",rotation:C,rotationType:(null==(u=this.rasterInfo.storageInfo)?void 0:u.tileInfo)&&"vector-uv"===this.rasterInfo.dataType?"geographic":(null==_?void 0:_.rotationType)||e.rotationType,type:"vectorField"}}};function T(e){return c(e)&&0!==e.validPixelCount}e([i({json:{write:!0}})],V.prototype,"rendererJSON",void 0),e([i({type:u,json:{write:!0}})],V.prototype,"rasterInfo",void 0),e([i({json:{write:!0}})],V.prototype,"lookup",void 0),e([i()],V.prototype,"canRenderInWebGL",void 0),V=e([l("esri.renderers.support.RasterSymbolizer")],V);const N=V;export{N as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import{toHSV as t}from"../../core/colorUtils.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import s from"../../core/Logger.js";import{unwrap as o,isSome as a,isNone as n}from"../../core/maybe.js";import{property as i}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import u from"../../layers/support/RasterInfo.js";import{isValidPixelBlock as c,extractBands as p,stretch as d,colorize as h,remapColor as m,lookupPixels as f,createStretchLUT as g,createColormapLUT as y,createHistogramEqualizationLUT as b,estimateStatisticsHistograms as S}from"../../layers/support/rasterFunctions/pixelUtils.js";import{hillshade as v,tintHillshade as k,calculateHillshadeParams as x}from"../../layers/support/rasterFunctions/surfaceUtils.js";import{convertColorRampToColormap as R}from"./colorRampUtils.js";const C=s.getLogger("esri.renderers.support.RasterSymbolizer");function _(e,t){const{attributeTable:r,bandCount:s}=e;if(n(r)||s>1)return!1;if(t){if(null==r.fields.find((e=>e.name.toLowerCase()===t.toLowerCase())))return!1}return!0}function I(e){return"elevation"===e.dataType}function L(e){const{bandCount:t,colormap:r}=e;return a(r)&&r.length&&1===t}const O={u1:[0,1],u2:[0,3],u4:[0,15],u8:[0,255],s8:[-128,127],u16:[0,65535],s16:[-32768,32767],u32:[0,4294967295],s32:[-2147483648,2147483647],f32:[-34e38,34e38],f64:[-Number.MAX_VALUE,Number.MAX_VALUE]};let V=class extends r{constructor(e){super(e)}bind(){const{rendererJSON:e}=this;if(!e)return{success:!1};let t;switch(this.lookup={rendererJSON:{}},e.type){case"uniqueValue":t=this._updateUVRenderer(e);break;case"rasterColormap":t=this._updateColormapRenderer(e);break;case"rasterStretch":t=this._updateStretchRenderer(e);break;case"classBreaks":t=this._updateClassBreaksRenderer(e);break;case"rasterShadedRelief":t=this._updateShadedReliefRenderer(e);break;case"vectorField":t=this._updateVectorFieldRenderer();break;case"flowRenderer":t=this._updateFlowRenderer()}return t}symbolize(e){let t=e&&e.pixelBlock;if(!T(t))return t;if(e.simpleStretchParams&&"rasterStretch"===this.rendererJSON.type)return this.simpleStretch(t,e.simpleStretchParams);try{let r;switch(t.pixels.length>3&&(t=p(t,[0,1,2])),this.rendererJSON.type){case"uniqueValue":case"rasterColormap":r=this._symbolizeColormap(t);break;case"classBreaks":r=this._symbolizeClassBreaks(t);break;case"rasterStretch":r=this._symbolizeStretch(t,e.bandIds);break;case"rasterShadedRelief":{const{extent:s}=e,o=s.spatialReference.isGeographic,a={x:(s.xmax-s.xmin)/t.width,y:(s.ymax-s.ymin)/t.height};r=this._symbolizeShadedRelief(t,{isGCS:o,resolution:a});break}}return r}catch(r){return C.error("symbolize",r.message),t}}simpleStretch(e,t){if(!T(e))return e;try{return e.pixels.length>3&&(e=p(e,[0,1,2])),d(e,t)}catch(r){return C.error("symbolize",r.message),e}}generateWebGLParameters(e){if(["uniqueValue","rasterColormap","classBreaks"].includes(this.rendererJSON.type)){var t;const{indexedColormap:e,offset:r}=(null==(t=this.lookup)?void 0:t.colormapLut)||{};return{colormap:e,colormapOffset:r,type:"lut"}}const{pixelBlock:r,isGCS:s,resolution:o,bandIds:a}=e,{rendererJSON:n}=this;return"rasterStretch"===n.type?this._generateStretchWebGLParams(r,n,a):"rasterShadedRelief"===n.type?this._generateShadedReliefWebGLParams(n,s,o):"vectorField"===n.type?this._generateVectorFieldWebGLParams(n):null}_isLUTChanged(e){if(!this.lookup||!this.lookup.rendererJSON)return!0;if("colorRamp"in this.rendererJSON){const t=this.rendererJSON.colorRamp;return e?JSON.stringify(t)!==JSON.stringify(this.lookup.rendererJSON.colorRamp):(this.rendererJSON,this.lookup.rendererJSON,JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON))}return JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON)}_symbolizeColormap(e){if(this._isLUTChanged()){if(!this.bind().success)return e}return h(e,this.lookup.colormapLut)}_symbolizeClassBreaks(e){const t=this.rasterInfo.pixelType,r=["u8","u16","s8","s16"].includes(t);if(this._isLUTChanged()){if(!this.bind().success)return e}return r?h(e,this.lookup.colormapLut):m(e,this.lookup.remapLut)}_symbolizeStretch(e,t){const{pixelType:r,bandCount:s}=this.rasterInfo,a=this.rendererJSON,n=["u8","u16","s8","s16"].includes(r);let i,l;const{dra:u}=a,c=a.useGamma?a.gamma:null;if("histogramEqualization"===a.stretchType){const r=u?null:this.lookup.histogramLut,s=this._getStretchCutoff(a,e,t,!r),o=d(e,{...s,gamma:c});l=f(o,{lut:u?s.histogramLut:r,offset:0})}else if(n){var p,m;if(u){const s=this._getStretchCutoff(a,e,t);i=g({pixelType:r,...s,gamma:c})}else if(this._isLUTChanged()){if(!this.bind().success)return e;i=this.lookup?this.lookup.stretchLut:null}else i=this.lookup?this.lookup.stretchLut:null;if(!i)return e;s>1&&(null==t?void 0:t.length)===(null==(p=o(e))?void 0:p.pixels.length)&&(null==(m=i)?void 0:m.lut.length)===s&&(i={lut:t.map((e=>i.lut[e])),offset:i.offset}),l=f(e,i)}else{const r=this._getStretchCutoff(a,e,t);l=d(e,{...r,gamma:c})}if(a.colorRamp){if(this._isLUTChanged(!0)){if(!this.bind().success)return e}l=h(l,this.lookup.colormapLut)}return l}_symbolizeShadedRelief(e,t){var r,s;const a=this.rendererJSON,n={...a,...t},i=v(e,n);if(!a.colorRamp)return i;let l;if(this._isLUTChanged(!0)){if(!this.bind().success)return i;l=this.lookup?this.lookup.hsvMap:null}else l=this.lookup?this.lookup.hsvMap:null;if(!l)return i;const u=null!=(r=null==(s=o(this.rasterInfo.statistics))?void 0:s[0])?r:{min:0,max:8e3};return k(i,e,l,u),i}_isVectorFieldData(){const{bandCount:e,dataType:t}=this.rasterInfo;return 2===e&&("vector-magdir"===t||"vector-uv"===t)}_updateVectorFieldRenderer(){return this._isVectorFieldData()?{success:!0}:{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; VectorFieldRenderer only supports "vector-magdir" and "vector-uv".`}}_updateFlowRenderer(){return this._isVectorFieldData()?{success:!0}:{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; FlowRenderer only supports "vector-magdir" and "vector-uv".`}}_updateUVRenderer(e){const{bandCount:t,attributeTable:r,pixelType:s}=this.rasterInfo,o=e.field1;if(!o)return{success:!1,error:"Unsupported renderer; missing UniqueValueRenderer.field."};const a=e.defaultSymbol,n=1===t&&["u8","s8"].includes(s);if(!_(this.rasterInfo,o)&&!n)return{success:!1,error:"Unsupported data; UniqueValueRenderer is only supported on single band data with a valid raster attribute table."};const i=[];if(r){const t=r.fields.find((e=>"value"===e.name.toLowerCase()));if(!t)return{success:!1,error:"Unsupported data; the data's raster attribute table does not have a value field."};r.features.forEach((r=>{var s;const n=e.uniqueValueInfos.find((e=>String(e.value)===String(r.attributes[o]))),l=null==n||null==(s=n.symbol)?void 0:s.color;l?i.push([r.attributes[t.name]].concat(l)):a&&i.push([r.attributes[t.name]].concat(a.color))}))}else{if("value"!==o.toLowerCase())return{success:!1,error:'Unsupported renderer; UniqueValueRenderer.field must be "Value" when raster attribute table is not availalbe.'};e.uniqueValueInfos.forEach((e=>{var t;const r=null==e||null==(t=e.symbol)?void 0:t.color;r?i.push([parseInt(""+e.value,10)].concat(r)):a&&i.push([parseInt(""+e.value,10)].concat(a.color))}))}if(0===i.length)return{success:!1,error:"Invalid UniqueValueRenderer. Cannot find matching records in the raster attribute table."};const l=y({colormap:i});return this.lookup={rendererJSON:e,colormapLut:l},this.canRenderInWebGL=!0,{success:!0}}_updateColormapRenderer(e){if(!L(this.rasterInfo))return{success:!1,error:"Unsupported data; the data source does not have a colormap."};const t=e.colormapInfos.map((e=>[e.value].concat(e.color))).sort(((e,t)=>e[0]-t[0]));if(!t||0===t.length)return{success:!1,error:"Unsupported renderer; ColormapRenderer must have meaningful colormapInfos."};const r=y({colormap:t});return this.lookup={rendererJSON:e,colormapLut:r},this.canRenderInWebGL=!0,{success:!0}}_updateShadedReliefRenderer(e){if(!I(this.rasterInfo))return{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; ShadedReliefRenderer only supports "elevation".`};if(e.colorRamp){const r=R(e.colorRamp,256,!0),s=y({colormap:r}),o=[],a=s.indexedColormap;for(let e=0;e<a.length;e+=4){const r=t({r:a[e],g:a[e+1],b:a[e+2]});o.push([r.h/60,r.s/100,255*r.v/100])}this.lookup={rendererJSON:e,colormapLut:s,hsvMap:o}}else this.lookup=null;return this.canRenderInWebGL=!0,{success:!0}}_updateClassBreaksRenderer(e){const t=this.rasterInfo.pixelType,r=["u8","u16","s8","s16"].includes(t),s=e.classBreakInfos;if(null==s||!s.length)return{success:!1,error:"Unsupported renderer; missing or invalid ClassBreaksRenderer.classBreakInfos."};const o=s.sort(((e,t)=>e.classMaxValue-t.classMaxValue)),a=o[o.length-1];let n=e.minValue;if(!r){const t=[];for(let e=0;e<o.length;e++){var i;t.push({value:null!=(i=o[e].classMinValue)?i:n,mappedColor:o[e].symbol.color}),n=o[e].classMaxValue}return t.push({value:a.classMaxValue,mappedColor:a.symbol.color}),this.lookup={rendererJSON:e,remapLut:t},this.canRenderInWebGL=!1,{success:!0}}const l=[];n=Math.floor(e.minValue);for(let c=0;c<o.length;c++){const e=o[c];for(let t=n;t<e.classMaxValue;t++)l.push([t].concat(e.symbol.color));n=Math.ceil(e.classMaxValue)}a.classMaxValue===n&&l.push([a.classMaxValue].concat(a.symbol.color));const u=y({colormap:l,fillUnspecified:!1});return this.lookup={rendererJSON:e,colormapLut:u},this.canRenderInWebGL=!0,{success:!0}}_isHistogramRequired(e){return"percentClip"===e||"histogramEqualization"===e}_isValidRasterStatistics(e){return a(e)&&e.length>0&&null!=e[0].min&&null!=e[0].max}_updateStretchRenderer(e){var t;let{stretchType:r,dra:s}=e;if(!("none"===r||null!=(t=e.statistics)&&t.length||this._isValidRasterStatistics(this.rasterInfo.statistics)||s))return{success:!1,error:"Unsupported renderer; StretchRenderer.statistics is required when dynamic range adjustment is not used."};const a=o(e.histograms||this.rasterInfo.histograms);!this._isHistogramRequired(e.stretchType)||null!=a&&a.length||s||(r="minMax");const{gamma:n,useGamma:i,colorRamp:l}=e,u=this.rasterInfo.pixelType,c=!s&&["u8","u16","s8","s16"].includes(u);if("histogramEqualization"===r){const t=a.map((e=>b(e)));this.lookup={rendererJSON:e,histogramLut:t}}else if(c){const t=this._getStretchCutoff(e),r=g({pixelType:u,...t,gamma:i?n:null});this.lookup={rendererJSON:e,stretchLut:r}}if(l){const t=R(l,256,!0);this.lookup||(this.lookup={rendererJSON:e}),this.lookup.colormapLut=y({colormap:t}),this.lookup.rendererJSON=e}return this.canRenderInWebGL=!0,{success:!0}}_getStretchCutoff(e,t=null,r,s){var n,i,l;let u,c,p=e.stretchType;var d;if(e.dra)if("minMax"===p&&a(t)&&t.statistics)u=t.statistics.map((e=>[e.minValue,e.maxValue,0,0]));else{const e=S(t);u=a(e)?e.statistics:null,c=a(e)?e.histograms:null}else u=(null==(d=e.statistics)?void 0:d.length)>0?e.statistics:o(this.rasterInfo.statistics),c=e.histograms||o(this.rasterInfo.histograms);!this._isHistogramRequired(p)||null!=(n=c)&&n.length||(p="minMax");const h=(null==(i=u)?void 0:i.length)||(null==(l=c)?void 0:l.length)||this.rasterInfo.bandCount,m=[],f=[];let g,y,v,k,x,R,C,_,I,L,V,T;switch(u&&!Array.isArray(u[0])&&(u=u.map((e=>[e.min,e.max,e.avg,e.stddev]))),p){case"none":{const e=O[this.rasterInfo.pixelType]||O.f32;for(_=0;_<h;_++)m[_]=e[0],f[_]=e[1]}break;case"minMax":for(_=0;_<h;_++)m[_]=u[_][0],f[_]=u[_][1];break;case"standardDeviation":for(_=0;_<h;_++)m[_]=u[_][2]-e.numberOfStandardDeviations*u[_][3],f[_]=u[_][2]+e.numberOfStandardDeviations*u[_][3],m[_]<u[_][0]&&(m[_]=u[_][0]),f[_]>u[_][1]&&(f[_]=u[_][1]);break;case"histogramEqualization":for(_=0;_<h;_++)m[_]=c[_].min,f[_]=c[_].max;break;case"percentClip":for(_=0;_<c.length;_++){for(g=c[_],x=new Uint32Array(g.size),k=[...g.counts],k.length>=20&&(k[0]=k[1]=k[2]=k[k.length-1]=k[k.length-2]=0),v=0,y=(g.max-g.min)/g.size,C=-.5===g.min&&1===y?.5:0,I=0;I<g.size;I++)v+=k[I],x[I]=v;for(R=(e.minPercent||0)*v/100,I=0;I<g.size;I++)if(x[I]>R){m[_]=g.min+y*(I+C);break}for(R=(1-(e.maxPercent||0)/100)*v,I=g.size-2;I>=0;I--)if(x[I]<R){f[_]=g.min+y*(I+2-C);break}}break;default:for(_=0;_<h;_++)m[_]=u[_][0],f[_]=u[_][1]}"histogramEqualization"===p?(V=c[0].size||256,L=0,s&&(T=c.map((e=>b(e))))):(V=e.max||255,L=e.min||0);const N={minCutOff:m,maxCutOff:f,outMax:V,outMin:L,histogramLut:T};return this._getSelectedBandCutoffs(N,r)}_getSelectedBandCutoffs(e,t){if(null==t||0===t.length)return e;const r=Math.max.apply(null,t),{minCutOff:s,maxCutOff:o,outMin:a,outMax:n,histogramLut:i}=e;return s.length===t.length||s.length<=r?e:{minCutOff:t.map((e=>s[e])),maxCutOff:t.map((e=>o[e])),histogramLut:i?t.map((e=>i[e])):null,outMin:a,outMax:n}}_generateStretchWebGLParams(e,t,r){let s=null,o=null;const n=this.lookup&&this.lookup.colormapLut;t.colorRamp&&n&&(s=n.indexedColormap,o=n.offset),"histogramEqualization"===t.stretchType&&(t={...t,stretchType:"minMax"});const{gamma:i}=t,l=!!(t.useGamma&&i&&i.some((e=>1!==e))),{minCutOff:u,maxCutOff:c,outMin:p,outMax:d}=this._getStretchCutoff(t,e,r);let h=0;a(e)&&(h=e.getPlaneCount(),2===h&&((e=e.clone()).statistics=[e.statistics[0]],e.pixels=[e.pixels[0]]));const m=Math.min(3,(null==r?void 0:r.length)||h||this.rasterInfo.bandCount),f=new Float32Array(m),g=s||l?1:255;let y;for(y=0;y<m;y++)f[y]=(d-p)/(c[y]-u[y])/g;const b=new Float32Array(m);if(l)for(y=0;y<m;y++)i[y]>1?i[y]>2?b[y]=6.5+(i[y]-2)**2.5:b[y]=6.5+100*(2-i[y])**4:b[y]=1;return{bandCount:m,outMin:p/g,outMax:d/g,minCutOff:u,maxCutOff:c,factor:f,useGamma:l,gamma:l?i:[1,1,1],gammaCorrection:l?b:[1,1,1],colormap:s,colormapOffset:o,stretchType:t.stretchType,type:"stretch"}}_generateShadedReliefWebGLParams(e,t,r){var s,a,n;let i=null,l=null;const u=this.lookup&&this.lookup.colormapLut;e.colorRamp&&u&&(i=u.indexedColormap,l=u.offset);const c={...e,isGCS:t,resolution:r},p=x(c),d=null==(s=o(this.rasterInfo.statistics))?void 0:s[0];return{...p,minValue:null!=(a=null==d?void 0:d.min)?a:0,maxValue:null!=(n=null==d?void 0:d.max)?n:8e3,hillshadeType:"traditional"===e.hillshadeType?0:1,type:"hillshade",colormap:i,colormapOffset:l}}_generateVectorFieldWebGLParams(e){var t,r,s,o,n,i,l,u;const{style:c,inputUnit:p,outputUnit:d,visualVariables:h,symbolTileSize:m,flowRepresentation:f}=e;let g;const y=null!=(t=null==(r=this.rasterInfo.statistics)?void 0:r[0].min)?t:0,b=null!=(s=null==(o=this.rasterInfo.statistics)?void 0:o[0].max)?s:50,S=null!=(n=null==h?void 0:h.find((e=>"sizeInfo"===e.type)))?n:{type:"sizeInfo",field:"Magnitude",maxDataValue:b,maxSize:.8*m,minDataValue:y,minSize:.2*m},v=null!=(i=S.minDataValue)?i:y,k=null!=(l=S.maxDataValue)?l:b,x=a(S.maxSize)&&a(S.minSize)?[S.minSize/m,S.maxSize/m]:[.2,.8];if("wind_speed"===c){const e=(x[0]+x[1])/2;x[0]=x[1]=e}const R=a(v)&&a(k)?[v,k]:null;if("classified_arrow"===c)if(a(v)&&a(k)&&a(S)){g=[];const e=(S.maxDataValue-S.minDataValue)/5;for(let t=0;t<6;t++)g.push(S.minDataValue+e*t)}else g=[0,1e-6,3.5,7,10.5,14];const C="flow_to"===f===("ocean_current_kn"===c||"ocean_current_m"===c)?0:Math.PI,_=null==h?void 0:h.find((e=>"rotationInfo"===e.type));return{breakValues:g,dataRange:R,inputUnit:p,outputUnit:d,symbolTileSize:m,symbolPercentRange:x,style:c||"single_arrow",rotation:C,rotationType:(null==(u=this.rasterInfo.storageInfo)?void 0:u.tileInfo)&&"vector-uv"===this.rasterInfo.dataType?"geographic":(null==_?void 0:_.rotationType)||e.rotationType,type:"vectorField"}}};function T(e){return c(e)&&0!==e.validPixelCount}e([i({json:{write:!0}})],V.prototype,"rendererJSON",void 0),e([i({type:u,json:{write:!0}})],V.prototype,"rasterInfo",void 0),e([i({json:{write:!0}})],V.prototype,"lookup",void 0),e([i()],V.prototype,"canRenderInWebGL",void 0),V=e([l("esri.renderers.support.RasterSymbolizer")],V);const N=V;export{N as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../intl.js";import{formatNumber as t}from"../../intl/number.js";const n=/^-?(\d+)(\.(\d+))?$/i;function e(t,n){return t-n}function r(t,n){let e,r;return e=Number(t.toFixed(n)),e<t?r=e+1/10**n:(r=e,e-=1/10**n),e=Number(e.toFixed(n)),r=Number(r.toFixed(n)),[e,r]}function o(t,n,e,r,o){const i=l(t,n,e,r),u=null==i.previous||i.previous<=o,s=null==i.next||i.next<=o;return u&&s||i.previous+i.next<=2*o}function i(t){const e=String(t),r=e.match(n);if(r&&r[1])return{integer:r[1].split("").length,fractional:r[3]?r[3].split("").length:0};if(e.toLowerCase().
|
|
5
|
+
import"../../intl.js";import{formatNumber as t}from"../../intl/number.js";const n=/^-?(\d+)(\.(\d+))?$/i;function e(t,n){return t-n}function r(t,n){let e,r;return e=Number(t.toFixed(n)),e<t?r=e+1/10**n:(r=e,e-=1/10**n),e=Number(e.toFixed(n)),r=Number(r.toFixed(n)),[e,r]}function o(t,n,e,r,o){const i=l(t,n,e,r),u=null==i.previous||i.previous<=o,s=null==i.next||i.next<=o;return u&&s||i.previous+i.next<=2*o}function i(t){const e=String(t),r=e.match(n);if(r&&r[1])return{integer:r[1].split("").length,fractional:r[3]?r[3].split("").length:0};if(e.toLowerCase().includes("e")){const t=e.split("e"),n=t[0],r=t[1];if(n&&r){const t=Number(n);let e=Number(r);const o=e>0;o||(e=Math.abs(e));const l=i(t);return o?(l.integer+=e,e>l.fractional?l.fractional=0:l.fractional-=e):(l.fractional+=e,e>l.integer?l.integer=1:l.integer-=e),l}}return{integer:0,fractional:0}}function l(t,n,e,r){const o={previous:null,next:null};if(null!=e){const r=t-e,i=n-e-r;o.previous=Math.floor(Math.abs(100*i/r))}if(null!=r){const e=r-t,i=r-n-e;o.next=Math.floor(Math.abs(100*i/e))}return o}function u(t,n={}){const l=t.slice(0),{tolerance:u=2,strictBounds:s=!1,indexes:c=l.map(((t,n)=>n))}=n;c.sort(e);for(let e=0;e<c.length;e++){const t=c[e],n=l[t],a=0===t?null:l[t-1],f=t===l.length-1?null:l[t+1],m=i(n).fractional;if(m){let i,c=0,g=!1;for(;c<=m&&!g;){const t=r(n,c);i=s&&0===e?t[1]:t[0],g=o(n,i,a,f,u),c++}g&&(l[t]=i)}}return l}const s={maximumFractionDigits:20};function c(n){return t(n,s)}export{c as format,i as numDigits,l as percentChange,u as round};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../Color.js";import"../../rasterRenderers.js";import{isSome as t,unwrap as n,isNone as r}from"../../core/maybe.js";import{getMetersPerUnitForSR as a}from"../../core/unitUtils.js";import l from"../../layers/support/Field.js";import o from"../../layers/support/RasterInfo.js";import i from"../FlowRenderer.js";import s from"./AuthoringInfo.js";import u from"./ClassBreakInfo.js";import{PREDEFINED_JSON_COLOR_RAMPS as m,convertColorRampToColormap as c}from"./colorRampUtils.js";import f from"./UniqueValueInfo.js";import d from"../../rest/support/AlgorithmicColorRamp.js";import p from"../../rest/support/ClassBreaksDefinition.js";import{createGenerateRendererClassBreaks as b}from"../../rest/support/generateRendererUtils.js";import h from"../../rest/support/MultipartColorRamp.js";import v from"../RasterStretchRenderer.js";import g from"../UniqueValueRenderer.js";import y from"../RasterColormapRenderer.js";import C from"../RasterShadedReliefRenderer.js";import w from"../ClassBreaksRenderer.js";import x from"../VectorFieldRenderer.js";const M=.25,T=h.fromJSON({type:"multipart",colorRamps:[{fromColor:[0,0,255],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]}]}),R=h.fromJSON(m[0]),j=new Set(["scientific","standard-time","vector-uv","vector-magdir","vector-u","vector-v","vector-magnitude","vector-direction"]);function k(e,n){const{attributeTable:r,colormap:a}=e;if(X(e)){const n=$(e);if(t(n))return n}if(t(a)){const n=A(e);if(t(n))return n}if(t(r)){const n=F(e);if(t(n))return n}return S(e,n)}function V(e){const t=["raster-stretch"];return U(e)&&t.push("raster-colormap"),W(e)&&t.push("unique-value"),_(e)&&t.push("class-breaks"),D(e)&&t.push("raster-shaded-relief"),X(e)&&t.push("vector-field"),Y(e)&&t.push("flow"),t}function I(e,t,n){const r=["nearest","bilinear","cubic","majority"].find((e=>e===(null==n?void 0:n.toLowerCase())));if("Map"===t)return null!=r?r:"bilinear";if("standard-time"===e.dataType)return null!=r?r:"nearest";return"thematic"===e.dataType||e.attributeTable||e.colormap?"nearest"===r||"majority"===r?r:"nearest":null!=r?r:"bilinear"}function S(e,r){var a,l,o,i;e=L(e,null==r?void 0:r.variableName);const{bandCount:s}=e;let{bandIds:u,stretchType:m}=r||{};null!=(a=u)&&a.some((e=>e>=s))&&(u=null);let c=n(e.statistics),f=n(e.histograms);var d;s>1?(u=null!=(d=u)&&d.length?u:B(e),c=null==c?null:u.map((e=>c[e])),f=null==f?null:u.map((e=>f[e]))):u=[0];null==m&&(m=q(e));let p=!1;switch(m){case"none":p=!1;break;case"percent-clip":p=!(null!=(l=f)&&l.length);break;default:p=!(null!=(o=c)&&o.length)}const{dataType:b}=e,h=1===(null==(i=u)?void 0:i.length)&&j.has(b)?T:null,g=new v({stretchType:m,dynamicRangeAdjustment:p,colorRamp:h,outputMin:0,outputMax:255,gamma:1===u.length?[1]:[1,1,1],useGamma:!1});return"percent-clip"===m?g.maxPercent=g.minPercent=M:"standard-deviation"===m&&(g.numberOfStandardDeviations=2),!p&&(t(e.multidimensionalInfo)||null!=r&&r.includeStatisticsInStretch)&&("percent-clip"===m?g.histograms=f:"min-max"!==m&&"standard-deviation"!==m||(g.statistics=c)),g}function L(e,r){if(null==r)return e;let a=n(e.statistics),l=n(e.histograms);const{multidimensionalInfo:i}=e;if(r&&t(i)){const{statistics:e,histograms:t}=i.variables.find((e=>e.name===r));null!=e&&e.length&&(a=e),null!=t&&t.length&&(l=t)}return o.fromJSON({...e.toJSON(),statistics:a,histograms:l})}function B(e){const t=e.bandCount;if(1===t)return null;if(2===t)return[0];const n=e.keyProperties&&e.keyProperties.BandProperties;let r;if(n&&n.length===t){const{red:e,green:t,blue:a,nir:l}=O(n);null!=e&&null!=t&&null!=a?r=[e,t,a]:null!=l&&null!=e&&null!=t&&(r=[l,e,t])}return!r&&t>=3&&(r=[0,1,2]),r}function E(e,t){var n;const r=e.keyProperties&&e.keyProperties.BandProperties;return(t=null!=(n=t)&&n.length?t:Array.from(Array(e.bandCount).keys())).map((t=>r&&r.length===e.bandCount&&r[t]&&r[t].BandName||"band_"+(t+1)))}function O(e){const t={};for(let r=0;r<e.length;r++){var n;const a=e[r],l=null==(n=a.BandName)?void 0:n.toLowerCase();if("red"===l)t.red=r;else if("green"===l)t.green=r;else if("blue"===l)t.blue=r;else if("nearinfrared"===l||"nearinfrared_1"===l||"nir"===l)t.nir=r;else if(a.WavelengthMax&&a.WavelengthMin){const e=a.WavelengthMin,n=a.WavelengthMax;null==t.blue&&e>=410&&e<=480&&n>=480&&n<=540?t.blue=r:null==t.green&&e>=490&&e<=560&&n>=560&&n<=610?t.green=r:null==t.red&&e>=595&&e<=670&&n>=660&&n<=730?t.red=r:null==t.nir&&e>=700&&e<=860&&n>=800&&n<=950&&(t.nir=r)}}return t}function q(e){let n="percent-clip";const{pixelType:r,dataType:a,histograms:l,statistics:o}=e;return"u8"!==r||"processed"!==a&&t(l)&&t(o)?"u8"===r||"elevation"===a||j.has(a)?n="min-max":t(l)?n="percent-clip":t(o)&&(n="min-max",n="min-max"):n="none",n}function F(n,r,a,l){if(!W(n,r))return null;const{attributeTable:o,statistics:i}=n,u=N(o,r),m=z(o,"red"),d=z(o,"green"),p=z(o,"blue"),b=new s,h=[],v=new Set,y=!!(m&&d&&p);if(t(o))o.features.forEach((t=>{const n=t.attributes[u.name];if(!v.has(t.attributes[u.name])&&null!=n){v.add(n);const r=y&&("single"===m.type||"double"===m.type)&&("single"===d.type||"double"===d.type)&&("single"===p.type||"double"===p.type)&&!o.features.some((e=>e.attributes[m.name]>1||e.attributes[d.name]>1||e.attributes[p.name]>1)),a=r?255:1;h.push(new f({value:t.attributes[u.name],label:t.attributes[u.name]+"",symbol:{type:"simple-fill",style:"solid",outline:null,color:new e(y?[t.attributes[m.name]*a,t.attributes[d.name]*a,t.attributes[p.name]*a,1]:[0,0,0,0])}}))}}));else if(null!=i&&i[0])for(let t=i[0].min;t<=i[0].max;t++)h.push(new f({value:t,label:t.toString(),symbol:{type:"simple-fill",style:"solid",outline:null,color:new e([0,0,0,0])}}));if(h.sort(((e,t)=>e.value&&"string"==typeof e.value.valueOf()?0:e.value>t.value?1:-1)),!y){const t=c(R,h.length);h.forEach(((n,r)=>n.symbol.color=new e(t[r].slice(1,4)))),b.colorRamp=R}if(a||l){const t=a||c(l,h.length).map((e=>e.slice(1)));h.forEach(((n,r)=>n.symbol.color=new e(t[r]))),b.colorRamp=l}return new g({field:u.name,uniqueValueInfos:h,authoringInfo:b})}function N(e,n,r){let a;return t(e)?(a=n?e.fields.find((e=>n.toLowerCase()===e.name.toLowerCase())):P(e.fields),a||(r||(a=e.fields.find((e=>"string"===e.type))),a||(a=z(e,"value")))):a=new l({name:"value"}),a}function P(e){let t;for(let n=0;n<e.length;n++){const r=e[n].name.toLowerCase();if("string"===e[n].type){if(r.startsWith("class")){t=e[n];break}null==t&&(r.endsWith("name")||r.endsWith("type"))&&(t=e[n])}}return t}function z(e,t){return r(e)?null:e.fields.find((e=>e.name.toLowerCase()===t))}function W(e,t){const{attributeTable:n,bandCount:a}=e;if(r(n)&&K(e))return!0;if(r(n)||a>1)return!1;if(t){if(null==n.fields.find((e=>e.name.toLowerCase()===t.toLowerCase())))return!1}return!0}function U(e){const{bandCount:n,colormap:r}=e;return t(r)&&r.length&&1===n}function A(e){if(!U(e))return null;let r;const{attributeTable:a,colormap:l}=e;if(t(a)){const e=z(a,"value"),t=N(a,null,!0);"string"===t.type&&(r={},a.features.forEach((n=>{const a=n.attributes;r[a[e.name]]=t?a[t.name]:a[e.name]})))}return y.createFromColormap(n(l),r)}function D(e){return"elevation"===e.dataType}function J(e,t){var n;if(!D(e))return null;const{extent:r}=e,l=r.width*a(r.spatialReference);return t=null!=(n=t)?n:"multi-directional",new C({hillshadeType:t,scalingType:l>5e6?"adjusted":"none"})}function _(e){const{attributeTable:n,bandCount:r}=e;return 1===r&&(t(n)||t(e.histograms))}function G(e,n){e=L(e,null==n?void 0:n.variableName);const{attributeTable:r}=e;if(!_(e))return null;const a=t(e.histograms)?e.histograms[0]:null,l=isFinite(null==n?void 0:n.numClasses)?n.numClasses:5,o=new s({classificationMethod:null==n?void 0:n.classificationMethod,colorRamp:null==n?void 0:n.colorRamp});let i=(null==n?void 0:n.field)||"value";const m=[],f=[],d=1e3,h=t(r),v=h&&r.fields.find((e=>"count"===e.name.toLowerCase())),g=h&&r.fields.find((e=>e.name.toLowerCase()===i.toLowerCase()));if(g){i=g.name;const e=r.features.length;let t=0;r.features.forEach((n=>t+=(v?n.attributes[v.name]:50)/e)),r.features.forEach((n=>{const r=n.attributes[g.name],a=v?n.attributes[v.name]:50;if(a>0){f.push(a);const n=Math.max(1,Math.round(a/e/t*d));for(let e=0;e<n;e++)m.push(r)}}))}else{const{pixelType:t}=e,n=(a.max-a.min)/a.size,l=t.indexOf("s")>-1||t.indexOf("u")>-1,o=l&&1===n?Math.floor(a.min+.5):a.min,i=l&&1===n?Math.floor(a.max-.5):a.max,s=a.size;let u,c=0;a.counts.forEach((e=>c+=e/s)),a.counts.forEach(((e,t)=>{if(e>0){f.push(e);const l=Math.max(1,Math.round(e/s/c*d));u=h?r.features[t].attributes[g.name]:0===t?o:t===s-1?i:a.min+n*(t+.5);for(let e=0;e<l;e++)m.push(u)}}))}const y=(null==n?void 0:n.classificationMethod)||"natural-breaks";let C=null==n?void 0:n.definedInterval;"defined-interval"!==y||C||(C=H(e,g,l));const x=b({values:m,valueFrequency:f,normalizationTotal:null,definition:new p({classificationMethod:y,breakCount:l,definedInterval:C})});let M=null==n?void 0:n.colors;if(!M){const e=(null==n?void 0:n.colorRamp)||T;o.colorRamp=e;const t=c(e,x.classBreaks.length,!0);M=t.map((e=>e.slice(1)))}const R=x.classBreaks.map(((e,t)=>new u({minValue:e.minValue,maxValue:e.maxValue,label:e.label,symbol:{type:"simple-fill",color:M[t]}})));return new w({field:i,classBreakInfos:R,authoringInfo:o})}function H(e,n,r){let a=0,l=0;if(t(e.attributeTable)){const t=e.attributeTable;a=l=t.features[0].attributes[n.name],t.features.forEach((e=>{const t=e.attributes[n.name];t<a&&(a=t),t>l&&(l=t)}))}else if(t(e.histograms)){const t=e.histograms;a=t[0].min,l=t[0].max}return(l-a)/r}function K(e){var t,n,r;return["u8","s8"].indexOf(e.pixelType)>-1&&null!=(null==(t=e.statistics)||null==(n=t[0])?void 0:n.min)&&null!=(null==(r=e.statistics[0])?void 0:r.max)&&1===e.bandCount}function Q(t){const n=[];for(let r=0;r<t.length-1;r++)n[r]=new d({algorithm:"hsv",fromColor:t[r],toColor:t[r+1]||new e({r:255,g:255,b:255,a:1})});if(t.length>2){return new h({colorRamps:n})}return n[0]}function X(e){const{dataType:t}=e;return"vector-uv"===t||"vector-magdir"===t}function Y(e){const{dataType:t}=e;return"vector-uv"===t||"vector-magdir"===t}const Z=new Map([["m/s","meter-per-second"],["km/h","kilometer-per-hour"],["knots","knots"],["ft/s","feet-per-second"],["mph","mile-per-hour"]]);function $(e){if(!X(e))return null;let n;if(t(e.statistics)&&e.statistics.length&&("vector-magdir"===e.dataType||"vector-uv"===e.dataType)){const{minMagnitude:t,maxMagnitude:r}=re(e.dataType,e.statistics);n=[{type:"size",field:"Magnitude",minSize:10,maxSize:40,minDataValue:t,maxDataValue:r}]}const r=t(e.multidimensionalInfo)?Z.get(e.multidimensionalInfo.variables[0].unit):null,a=new x({visualVariables:n,inputUnit:r,rotationType:"geographic"});return a.visualVariables=[...a.sizeVariables,...a.rotationVariables],a}function ee(e){var t;return{color:null==(t=e.symbolLayers[0].material)?void 0:t.color,type:"esriSFS",style:"esriSFSSolid"}}function te(e){if("uniqueValue"===e.type){var t;const n=e.uniqueValueInfos,r=n[0].symbol;return null!=r&&null!=(t=r.symbolLayers)&&t.length&&(e.uniqueValueInfos=n.map((e=>({value:e.value,label:e.label,symbol:e.symbol?ee(e.symbol):null})))),e}if("classBreaks"===e.type){var n;const t=e.classBreakInfos,r=t[0].symbol;return null!=r&&null!=(n=r.symbolLayers)&&n.length&&(e.classBreakInfos=t.map((e=>({classMinValue:e.classMinValue,classMaxValue:e.classMaxValue,label:e.label,symbol:e.symbol?ee(e.symbol):null})))),e}return e}function ne(e){if(!Y(e))return null;let n;if(t(e.statistics)&&e.statistics.length>0&&("vector-magdir"===e.dataType||"vector-uv"===e.dataType)){const{minMagnitude:t,maxMagnitude:r}=re(e.dataType,e.statistics);n=[{type:"color",field:"Magnitude",stops:[{value:t,color:"#1020C0"},{value:r,color:"#C02010"}]}]}return new i({visualVariables:n})}function re(e,t){let n,r;if("vector-magdir"===e)n=t[0].min,r=t[0].max;else{const e=t[0].min,a=t[0].max,l=t[1].min,o=t[1].max;n=0,r=Math.max(Math.abs(e),Math.abs(l),Math.abs(a),Math.abs(o))}return{minMagnitude:n,maxMagnitude:r}}export{G as createClassBreaksRenderer,Q as createColorRamp,A as createColormapRenderer,k as createDefaultRenderer,ne as createFlowRenderer,J as createShadedReliefRenderer,S as createStretchRenderer,F as createUVRenderer,$ as createVectorFieldRenderer,re as estimateMagnitudeRange,E as getBandNames,N as getClassField,B as getDefaultBandCombination,I as getDefaultInterpolation,H as getDefinedInterval,z as getField,V as getSupportedRendererTypes,O as getWellKnownBandIndexes,_ as isClassBreaksSupported,U as isColormapRendererSupported,Y as isFlowRendererSupported,D as isShadedReliefRendererSupported,K as isSingleBand8BitRasterWithStats,W as isUVRendererSupported,X as isVectorFieldRendererSupported,te as normalizeRendererJSON};
|
|
5
|
+
import e from"../../Color.js";import"../../rasterRenderers.js";import{isSome as t,unwrap as n,isNone as r}from"../../core/maybe.js";import{getMetersPerUnitForSR as a}from"../../core/unitUtils.js";import l from"../../layers/support/Field.js";import o from"../../layers/support/RasterInfo.js";import i from"../FlowRenderer.js";import s from"./AuthoringInfo.js";import u from"./ClassBreakInfo.js";import{PREDEFINED_JSON_COLOR_RAMPS as m,convertColorRampToColormap as c}from"./colorRampUtils.js";import f from"./UniqueValueInfo.js";import d from"../../rest/support/AlgorithmicColorRamp.js";import p from"../../rest/support/ClassBreaksDefinition.js";import{createGenerateRendererClassBreaks as b}from"../../rest/support/generateRendererUtils.js";import h from"../../rest/support/MultipartColorRamp.js";import v from"../RasterStretchRenderer.js";import g from"../UniqueValueRenderer.js";import y from"../RasterColormapRenderer.js";import C from"../RasterShadedReliefRenderer.js";import w from"../ClassBreaksRenderer.js";import M from"../VectorFieldRenderer.js";const x=.25,T=h.fromJSON({type:"multipart",colorRamps:[{fromColor:[0,0,255],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]}]}),R=h.fromJSON(m[0]),j=new Set(["scientific","standard-time","vector-uv","vector-magdir","vector-u","vector-v","vector-magnitude","vector-direction"]);function k(e,n){const{attributeTable:r,colormap:a}=e;if(X(e)){const n=$(e);if(t(n))return n}if(t(a)){const n=A(e);if(t(n))return n}if(t(r)){const n=N(e);if(t(n))return n}return S(e,n)}function V(e){const t=["raster-stretch"];return U(e)&&t.push("raster-colormap"),O(e)&&t.push("unique-value"),_(e)&&t.push("class-breaks"),D(e)&&t.push("raster-shaded-relief"),X(e)&&t.push("vector-field"),Y(e)&&t.push("flow"),t}function I(e,t,n){const r=["nearest","bilinear","cubic","majority"].find((e=>e===(null==n?void 0:n.toLowerCase())));if("Map"===t)return null!=r?r:"bilinear";if("standard-time"===e.dataType)return null!=r?r:"nearest";return"thematic"===e.dataType||e.attributeTable||e.colormap?"nearest"===r||"majority"===r?r:"nearest":null!=r?r:"bilinear"}function S(e,r){var a,l,o,i;e=L(e,null==r?void 0:r.variableName);const{bandCount:s}=e;let{bandIds:u,stretchType:m}=r||{};null!=(a=u)&&a.some((e=>e>=s))&&(u=null);let c=n(e.statistics),f=n(e.histograms);var d;s>1?(u=null!=(d=u)&&d.length?u:B(e),c=null==c?null:u.map((e=>c[e])),f=null==f?null:u.map((e=>f[e]))):u=[0];null==m&&(m=F(e));let p=!1;switch(m){case"none":p=!1;break;case"percent-clip":p=!(null!=(l=f)&&l.length);break;default:p=!(null!=(o=c)&&o.length)}const{dataType:b}=e,h=1===(null==(i=u)?void 0:i.length)&&j.has(b)?T:null,g=new v({stretchType:m,dynamicRangeAdjustment:p,colorRamp:h,outputMin:0,outputMax:255,gamma:1===u.length?[1]:[1,1,1],useGamma:!1});return"percent-clip"===m?g.maxPercent=g.minPercent=x:"standard-deviation"===m&&(g.numberOfStandardDeviations=2),!p&&(t(e.multidimensionalInfo)||null!=r&&r.includeStatisticsInStretch)&&("percent-clip"===m?g.histograms=f:"min-max"!==m&&"standard-deviation"!==m||(g.statistics=c)),g}function L(e,r){if(null==r)return e;let a=n(e.statistics),l=n(e.histograms);const{multidimensionalInfo:i}=e;if(r&&t(i)){const{statistics:e,histograms:t}=i.variables.find((e=>e.name===r));null!=e&&e.length&&(a=e),null!=t&&t.length&&(l=t)}return o.fromJSON({...e.toJSON(),statistics:a,histograms:l})}function B(e){const t=e.bandCount;if(1===t)return null;if(2===t)return[0];const n=e.keyProperties&&e.keyProperties.BandProperties;let r;if(n&&n.length===t){const{red:e,green:t,blue:a,nir:l}=q(n);null!=e&&null!=t&&null!=a?r=[e,t,a]:null!=l&&null!=e&&null!=t&&(r=[l,e,t])}return!r&&t>=3&&(r=[0,1,2]),r}function E(e,t){var n;const r=e.keyProperties&&e.keyProperties.BandProperties;return(t=null!=(n=t)&&n.length?t:Array.from(Array(e.bandCount).keys())).map((t=>r&&r.length===e.bandCount&&r[t]&&r[t].BandName||"band_"+(t+1)))}function q(e){const t={};for(let r=0;r<e.length;r++){var n;const a=e[r],l=null==(n=a.BandName)?void 0:n.toLowerCase();if("red"===l)t.red=r;else if("green"===l)t.green=r;else if("blue"===l)t.blue=r;else if("nearinfrared"===l||"nearinfrared_1"===l||"nir"===l)t.nir=r;else if(a.WavelengthMax&&a.WavelengthMin){const e=a.WavelengthMin,n=a.WavelengthMax;null==t.blue&&e>=410&&e<=480&&n>=480&&n<=540?t.blue=r:null==t.green&&e>=490&&e<=560&&n>=560&&n<=610?t.green=r:null==t.red&&e>=595&&e<=670&&n>=660&&n<=730?t.red=r:null==t.nir&&e>=700&&e<=860&&n>=800&&n<=950&&(t.nir=r)}}return t}function F(e){let n="percent-clip";const{pixelType:r,dataType:a,histograms:l,statistics:o}=e;return"u8"!==r||"processed"!==a&&t(l)&&t(o)?"u8"===r||"elevation"===a||j.has(a)?n="min-max":t(l)?n="percent-clip":t(o)&&(n="min-max",n="min-max"):n="none",n}function N(n,r,a,l){if(!O(n,r))return null;const{attributeTable:o,statistics:i}=n,u=P(o,r),m=W(o,"red"),d=W(o,"green"),p=W(o,"blue"),b=new s,h=[],v=new Set,y=!!(m&&d&&p);if(t(o))o.features.forEach((t=>{const n=t.attributes[u.name];if(!v.has(t.attributes[u.name])&&null!=n){v.add(n);const r=y&&("single"===m.type||"double"===m.type)&&("single"===d.type||"double"===d.type)&&("single"===p.type||"double"===p.type)&&!o.features.some((e=>e.attributes[m.name]>1||e.attributes[d.name]>1||e.attributes[p.name]>1)),a=r?255:1;h.push(new f({value:t.attributes[u.name],label:t.attributes[u.name]+"",symbol:{type:"simple-fill",style:"solid",outline:null,color:new e(y?[t.attributes[m.name]*a,t.attributes[d.name]*a,t.attributes[p.name]*a,1]:[0,0,0,0])}}))}}));else if(null!=i&&i[0])for(let t=i[0].min;t<=i[0].max;t++)h.push(new f({value:t,label:t.toString(),symbol:{type:"simple-fill",style:"solid",outline:null,color:new e([0,0,0,0])}}));if(h.sort(((e,t)=>e.value&&"string"==typeof e.value.valueOf()?0:e.value>t.value?1:-1)),!y){const t=c(R,h.length);h.forEach(((n,r)=>n.symbol.color=new e(t[r].slice(1,4)))),b.colorRamp=R}if(a||l){const t=a||c(l,h.length).map((e=>e.slice(1)));h.forEach(((n,r)=>n.symbol.color=new e(t[r]))),b.colorRamp=l}return new g({field:u.name,uniqueValueInfos:h,authoringInfo:b})}function P(e,n,r){let a;return t(e)?(a=n?e.fields.find((e=>n.toLowerCase()===e.name.toLowerCase())):z(e.fields),a||(r||(a=e.fields.find((e=>"string"===e.type))),a||(a=W(e,"value")))):a=new l({name:"value"}),a}function z(e){let t;for(let n=0;n<e.length;n++){const r=e[n].name.toLowerCase();if("string"===e[n].type){if(r.startsWith("class")){t=e[n];break}null==t&&(r.endsWith("name")||r.endsWith("type"))&&(t=e[n])}}return t}function W(e,t){return r(e)?null:e.fields.find((e=>e.name.toLowerCase()===t))}function O(e,t){const{attributeTable:n,bandCount:a}=e;if(r(n)&&K(e))return!0;if(r(n)||a>1)return!1;if(t){if(null==n.fields.find((e=>e.name.toLowerCase()===t.toLowerCase())))return!1}return!0}function U(e){const{bandCount:n,colormap:r}=e;return t(r)&&r.length&&1===n}function A(e){if(!U(e))return null;let r;const{attributeTable:a,colormap:l}=e;if(t(a)){const e=W(a,"value"),t=P(a,null,!0);"string"===t.type&&(r={},a.features.forEach((n=>{const a=n.attributes;r[a[e.name]]=t?a[t.name]:a[e.name]})))}return y.createFromColormap(n(l),r)}function D(e){return"elevation"===e.dataType}function J(e,t){var n;if(!D(e))return null;const{extent:r}=e,l=r.width*a(r.spatialReference);return t=null!=(n=t)?n:"multi-directional",new C({hillshadeType:t,scalingType:l>5e6?"adjusted":"none"})}function _(e){const{attributeTable:n,bandCount:r}=e;return 1===r&&(t(n)||t(e.histograms))}function G(e,n){e=L(e,null==n?void 0:n.variableName);const{attributeTable:r}=e;if(!_(e))return null;const a=t(e.histograms)?e.histograms[0]:null,l=isFinite(null==n?void 0:n.numClasses)?n.numClasses:5,o=new s({classificationMethod:null==n?void 0:n.classificationMethod,colorRamp:null==n?void 0:n.colorRamp});let i=(null==n?void 0:n.field)||"value";const m=[],f=[],d=1e3,h=t(r),v=h&&r.fields.find((e=>"count"===e.name.toLowerCase())),g=h&&r.fields.find((e=>e.name.toLowerCase()===i.toLowerCase()));if(g){i=g.name;const e=r.features.length;let t=0;r.features.forEach((n=>t+=(v?n.attributes[v.name]:50)/e)),r.features.forEach((n=>{const r=n.attributes[g.name],a=v?n.attributes[v.name]:50;if(a>0){f.push(a);const n=Math.max(1,Math.round(a/e/t*d));for(let e=0;e<n;e++)m.push(r)}}))}else{const{pixelType:t}=e,n=(a.max-a.min)/a.size,l=t.includes("s")||t.includes("u"),o=l&&1===n?Math.floor(a.min+.5):a.min,i=l&&1===n?Math.floor(a.max-.5):a.max,s=a.size;let u,c=0;a.counts.forEach((e=>c+=e/s)),a.counts.forEach(((e,t)=>{if(e>0){f.push(e);const l=Math.max(1,Math.round(e/s/c*d));u=h?r.features[t].attributes[g.name]:0===t?o:t===s-1?i:a.min+n*(t+.5);for(let e=0;e<l;e++)m.push(u)}}))}const y=(null==n?void 0:n.classificationMethod)||"natural-breaks";let C=null==n?void 0:n.definedInterval;"defined-interval"!==y||C||(C=H(e,g,l));const M=b({values:m,valueFrequency:f,normalizationTotal:null,definition:new p({classificationMethod:y,breakCount:l,definedInterval:C})});let x=null==n?void 0:n.colors;if(!x){const e=(null==n?void 0:n.colorRamp)||T;o.colorRamp=e;const t=c(e,M.classBreaks.length,!0);x=t.map((e=>e.slice(1)))}const R=M.classBreaks.map(((e,t)=>new u({minValue:e.minValue,maxValue:e.maxValue,label:e.label,symbol:{type:"simple-fill",color:x[t]}})));return new w({field:i,classBreakInfos:R,authoringInfo:o})}function H(e,n,r){let a=0,l=0;if(t(e.attributeTable)){const t=e.attributeTable;a=l=t.features[0].attributes[n.name],t.features.forEach((e=>{const t=e.attributes[n.name];t<a&&(a=t),t>l&&(l=t)}))}else if(t(e.histograms)){const t=e.histograms;a=t[0].min,l=t[0].max}return(l-a)/r}function K(e){var t,n,r;return["u8","s8"].includes(e.pixelType)&&null!=(null==(t=e.statistics)||null==(n=t[0])?void 0:n.min)&&null!=(null==(r=e.statistics[0])?void 0:r.max)&&1===e.bandCount}function Q(t){const n=[];for(let r=0;r<t.length-1;r++)n[r]=new d({algorithm:"hsv",fromColor:t[r],toColor:t[r+1]||new e({r:255,g:255,b:255,a:1})});if(t.length>2){return new h({colorRamps:n})}return n[0]}function X(e){const{dataType:t}=e;return"vector-uv"===t||"vector-magdir"===t}function Y(e){const{dataType:t}=e;return"vector-uv"===t||"vector-magdir"===t}const Z=new Map([["m/s","meter-per-second"],["km/h","kilometer-per-hour"],["knots","knots"],["ft/s","feet-per-second"],["mph","mile-per-hour"]]);function $(e){if(!X(e))return null;let n;if(t(e.statistics)&&e.statistics.length&&("vector-magdir"===e.dataType||"vector-uv"===e.dataType)){const{minMagnitude:t,maxMagnitude:r}=re(e.dataType,e.statistics);n=[{type:"size",field:"Magnitude",minSize:10,maxSize:40,minDataValue:t,maxDataValue:r}]}const r=t(e.multidimensionalInfo)?Z.get(e.multidimensionalInfo.variables[0].unit):null,a=new M({visualVariables:n,inputUnit:r,rotationType:"geographic"});return a.visualVariables=[...a.sizeVariables,...a.rotationVariables],a}function ee(e){var t;return{color:null==(t=e.symbolLayers[0].material)?void 0:t.color,type:"esriSFS",style:"esriSFSSolid"}}function te(e){if("uniqueValue"===e.type){var t;const n=e.uniqueValueInfos,r=n[0].symbol;return null!=r&&null!=(t=r.symbolLayers)&&t.length&&(e.uniqueValueInfos=n.map((e=>({value:e.value,label:e.label,symbol:e.symbol?ee(e.symbol):null})))),e}if("classBreaks"===e.type){var n;const t=e.classBreakInfos,r=t[0].symbol;return null!=r&&null!=(n=r.symbolLayers)&&n.length&&(e.classBreakInfos=t.map((e=>({classMinValue:e.classMinValue,classMaxValue:e.classMaxValue,label:e.label,symbol:e.symbol?ee(e.symbol):null})))),e}return e}function ne(e){if(!Y(e))return null;let n;if(t(e.statistics)&&e.statistics.length>0&&("vector-magdir"===e.dataType||"vector-uv"===e.dataType)){const{minMagnitude:t,maxMagnitude:r}=re(e.dataType,e.statistics);n=[{type:"color",field:"Magnitude",stops:[{value:t,color:"#1020C0"},{value:r,color:"#C02010"}]}]}return new i({visualVariables:n})}function re(e,t){let n,r;if("vector-magdir"===e)n=t[0].min,r=t[0].max;else{const e=t[0].min,a=t[0].max,l=t[1].min,o=t[1].max;n=0,r=Math.max(Math.abs(e),Math.abs(l),Math.abs(a),Math.abs(o))}return{minMagnitude:n,maxMagnitude:r}}export{G as createClassBreaksRenderer,Q as createColorRamp,A as createColormapRenderer,k as createDefaultRenderer,ne as createFlowRenderer,J as createShadedReliefRenderer,S as createStretchRenderer,N as createUVRenderer,$ as createVectorFieldRenderer,re as estimateMagnitudeRange,E as getBandNames,P as getClassField,B as getDefaultBandCombination,I as getDefaultInterpolation,H as getDefinedInterval,W as getField,V as getSupportedRendererTypes,q as getWellKnownBandIndexes,_ as isClassBreaksSupported,U as isColormapRendererSupported,Y as isFlowRendererSupported,D as isShadedReliefRendererSupported,K as isSingleBand8BitRasterWithStats,O as isUVRendererSupported,X as isVectorFieldRendererSupported,te as normalizeRendererJSON};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{unique as e}from"../../core/arrayUtils.js";import n from"../../core/Logger.js";import{convertDateFormatToIntlOptions as t,formatDate as l}from"../../intl/date.js";import{format as a,round as i}from"./numberUtils.js";import o from"../visualVariables/support/ColorStop.js";const r=n.getLogger("esri.renderers.support.utils"),s={lte:"<=",gte:">=",lt:"<",gt:">",pct:"%",ld:"–"},u={millisecond:0,second:1,minute:2,hour:3,day:4,month:5,year:6},d={millisecond:"long-month-day-year-long-time",second:"long-month-day-year-long-time",minute:"long-month-day-year-short-time",hour:"long-month-day-year-short-time",day:"long-month-day-year",month:"long-month-day-year",year:"year"},m=t("short-date");function f(e,n,t){let l="";return 0===n?l=s.lt+" ":n===t&&(l=s.gt+" "),l+e}function c(e){const{values:n,colors:t,labelIndexes:i,isDate:r,dateFormatOptions:s}=e;return n.map(((e,u)=>{let d=null;if(!i||i.
|
|
5
|
+
import{unique as e}from"../../core/arrayUtils.js";import n from"../../core/Logger.js";import{convertDateFormatToIntlOptions as t,formatDate as l}from"../../intl/date.js";import{format as a,round as i}from"./numberUtils.js";import o from"../visualVariables/support/ColorStop.js";const r=n.getLogger("esri.renderers.support.utils"),s={lte:"<=",gte:">=",lt:"<",gt:">",pct:"%",ld:"–"},u={millisecond:0,second:1,minute:2,hour:3,day:4,month:5,year:6},d={millisecond:"long-month-day-year-long-time",second:"long-month-day-year-long-time",minute:"long-month-day-year-short-time",hour:"long-month-day-year-short-time",day:"long-month-day-year",month:"long-month-day-year",year:"year"},m=t("short-date");function f(e,n,t){let l="";return 0===n?l=s.lt+" ":n===t&&(l=s.gt+" "),l+e}function c(e){const{values:n,colors:t,labelIndexes:i,isDate:r,dateFormatOptions:s}=e;return n.map(((e,u)=>{let d=null;if(!i||i.includes(u)){let t;t=r?l(e,s):a(e),t&&(d=f(t,u,n.length-1))}return new o({value:e,color:t[u],label:d})}))}function p(e){const{stops:n,changes:t,isDate:o,dateFormatOptions:r}=e,s=n.map((e=>e.value)),u=[];for(const l of t)u.push(l.index),s[l.index]=l.value;const d=i(s,{indexes:u});n.forEach(((e,t)=>{if(e.value=s[t],null!=e.label){let i,s=null;i=o?l(d[t],r):a(d[t]),i&&(s=f(i,t,n.length-1)),e.label=s}}))}function h(e){let n=e.minValue,t=e.maxValue;const l=e.isFirstBreak?"":s.gt+" ",i="percent-of-total"===e.normalizationType?s.pct:"";return n=null==n?"":a(n),t=null==t?"":a(t),l+n+i+" "+s.ld+" "+t+i}function y(e){const n=e.classBreakInfos,t=e.normalizationType;let l=[];if(n&&n.length)if("standard-deviation"!==e.classificationMethod)if(e.round){l.push(n[0].minValue);for(const e of n)l.push(e.maxValue);l=i(l),n.forEach(((e,n)=>{e.label=h({minValue:0===n?l[0]:l[n],maxValue:l[n+1],isFirstBreak:0===n,normalizationType:t})}))}else n.forEach(((e,n)=>{e.label=h({minValue:e.minValue,maxValue:e.maxValue,isFirstBreak:0===n,normalizationType:t})}));else r.warn("setLabelsForClassBreaks","cannot set labels for class breaks generated using 'standard-deviation' method.")}function g(e){if("standard-deviation"===e.classificationMethod)return void r.warn("updateClassBreak","cannot update labels for class breaks generated using 'standard-deviation' method.");const n=e.classBreaks,t=e.change,l=t.index,a=t.value,i=n.length;let o=-1,s=-1;0===l?o=l:l===i?s=l-1:(s=l-1,o=l);const u=e.normalizationType;let d=null;o>-1&&o<i&&(d=n[o],d.minValue=a,d.label=h({minValue:d.minValue,maxValue:d.maxValue,isFirstBreak:0===o,normalizationType:u})),s>-1&&s<i&&(d=n[s],d.maxValue=a,d.label=h({minValue:d.minValue,maxValue:d.maxValue,isFirstBreak:0===s,normalizationType:u}))}function V(e){const n=e.map((e=>new Date(e))),t=n.length;let l=1/0,a=null;for(let i=0;i<t-1;i++){const e=n[i];let o=1/0,r=null;for(let l=i+1;l<t;l++){const t=n[l],a=(e.getFullYear()!==t.getFullYear()?"year":e.getMonth()!==t.getMonth()&&"month")||e.getDate()!==t.getDate()&&"day"||e.getHours()!==t.getHours()&&"hour"||e.getMinutes()!==t.getMinutes()&&"minute"||e.getSeconds()!==t.getSeconds()&&"second"||"millisecond",i=u[a];i<o&&(o=i,r=a)}o<l&&(l=o,a=r)}return a}function x(e){const{value:n,domain:i,fieldInfo:o,dateFormatInterval:r}=e;let s=String(n);const u=i&&"codedValues"in i&&i.codedValues?i.getName(n):null;return u?s=u:"number"==typeof n&&(s=o&&"date"===o.type?l(n,r&&t(d[r])):a(n)),s}function b(e,n){return"normalizationField"in e&&e.normalizationField?F(e.field,e.normalizationField):"field"in e&&e.field?v(e.field):"valueExpression"in e&&e.valueExpression?z(e.valueExpression,e.valueExpressionTitle,n):null}function v(e){return{type:"field",field:e}}function F(e,n){return{type:"normalized-field",field:e,normalizationField:n}}function z(e,n,t){return{type:"expression",expression:e,title:n,returnType:t}}function k(n,t){const l=[];if("class-breaks"===n.type||"heatmap"===n.type)l.push(b(n,"number"));else if("unique-value"===n.type){const e=n.authoringInfo;if(e&&"relationship"===e.type){if(e.field1&&e.field2){const n=e.field1.field,t=e.field2.field,a=e.field1.normalizationField,i=e.field2.normalizationField;l.push(b({field:n,normalizationField:a})),l.push(b({field:t,normalizationField:i}))}}else{const e=n.uniqueValueInfos[0];let t=null;if(e&&e.value){const e=typeof n.uniqueValueInfos[0].value;"string"!==e&&"number"!==e||(t=e)}l.push(b(n,t)),[n.field2,n.field3].forEach((e=>e&&l.push(v(e))))}}else"dot-density"===n.type&&n.attributes.forEach((e=>l.push(b(e,"number"))));const a=t?t(n):"visualVariables"in n?n.visualVariables:null;return a&&a.forEach((e=>l.push(b(e,"number")))),e(l.filter(Boolean),((e,n)=>"field"===e.type&&"field"===n.type?e.field===n.field:"normalized-field"===e.type&&"normalized-field"===n.type?e.field===n.field&&e.normalizationField===n.normalizationField:"expression"===e.type&&"expression"===n.type&&e.expression===n.expression))}export{V as calculateDateFormatInterval,h as createClassBreakLabel,c as createColorStops,x as createUniqueValueLabel,b as getAttribute,k as getAttributes,y as setLabelsForClassBreaks,m as timelineDateFormatOptions,g as updateClassBreak,p as updateColorStops};
|
package/request.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"./config.js";import{id as t}from"./kernel.js";import r from"./core/Error.js";import s from"./core/has.js";import{clone as o}from"./core/lang.js";import{unwrap as n}from"./core/maybe.js";import{onAbort as a,isAbortError as i,createAbortError as l,isAborted as u}from"./core/promiseUtils.js";import{isDataProtocol as c,isBlobProtocol as d,normalize as p,getInterceptor as m,isTrustedServer as h,getOrigin as f,toHTTPS as y,addQueryParameter as w,objectToQuery as g,getProxyRule as b,getProxyUrl as q,addQueryParameters as T,hasSameOrigin as k,getAppUrl as O,addProxyRule as S}from"./core/urlUtils.js";import{supportsApiKey as x}from"./support/apiKeyUtils.js";import{loadImageAsync as v}from"./support/requestUtils.js";async function C(e,t){var r;const o=c(e),i=d(e);i||o||(e=p(e));const l={url:e,requestOptions:{...n(t)}};let u=m(e);if(u){const e=await K(u,l);if(null!=e)return{data:e,getHeader:_,requestOptions:l.requestOptions,url:l.url};u.after||u.error||(u=null)}if(e=l.url,"image"===(t=l.requestOptions).responseType){if(s("host-webworker")||s("host-node"))throw R("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),l)}else if(o)throw R("request:invalid-parameters",new Error("Data URLs are not supported for responseType = "+t.responseType),l);if("head"===t.method){if(t.body)throw R("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),l);if(o||i)throw R("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),l)}if(await H(),E)return E.execute(e,t);const h=new AbortController;a(t,(()=>h.abort()));const f={controller:h,credential:null,credentialToken:null,fetchOptions:null,hasToken:!1,interceptor:u,params:l,redoRequest:!1,useIdentity:L.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},y=await z(f);return null==(r=u)||null==r.after||r.after(y),y}let E;const L=e.request,U="FormData"in globalThis,j=[499,498,403,401],P=["COM_0056","COM_0057","SB_0008"],D=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],_=()=>null,F=Symbol();function I(e){const t=f(e);t&&!C._corsServers.includes(t)&&C._corsServers.push(t)}function M(e){const t=f(e);return!t||t.endsWith(".arcgis.com")||C._corsServers.includes(t)||h(t)}function R(e,t,s,n){let a="Error";const u={url:s.url,requestOptions:s.requestOptions,getHeader:_,ssl:!1};if(t instanceof r)return t.details?(t.details=o(t.details),t.details.url=s.url,t.details.requestOptions=s.requestOptions):t.details=u,t;if(t){const e=n&&(e=>n.headers.get(e)),r=n&&n.status,s=t.message;s&&(a=s),e&&(u.getHeader=e),u.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||r||0,u.subCode=t.subcode,u.messageCode=t.messageCode,"string"==typeof t.details?u.messages=[t.details]:u.messages=t.details,u.raw=F in t?t[F]:t}return i(t)?l():new r(e,a,u)}async function H(){s("host-webworker")?E||(E=await import("./core/workers/request.js")):C._abortableFetch||(C._abortableFetch=globalThis.fetch.bind(globalThis))}async function A(){t||await import("./identity/IdentityManager.js")}async function B(r){const s=r.params.url,o=r.params.requestOptions,n=r.controller.signal,a=o.body;let i=null,l=null,c=null;if(U&&"HTMLFormElement"in globalThis&&(a instanceof FormData?i=a:a instanceof HTMLFormElement&&(l=a,i=new FormData(l))),"string"==typeof a&&(c=a),r.fetchOptions={cache:o.cacheBust&&!C._abortableFetch.polyfill?"no-cache":"default",credentials:"same-origin",headers:o.headers||{},method:"head"===o.method?"HEAD":"GET",mode:"cors",redirect:"follow",signal:n},(i||c)&&(r.fetchOptions.body=i||c),"anonymous"===o.authMode&&(r.useIdentity=!1),r.hasToken=!!(/token=/i.test(s)||o.query&&o.query.token||i&&i.get&&i.get("token")||l&&l.elements.token),!r.hasToken&&e.apiKey&&x(s)&&(o.query||(o.query={}),o.query.token=e.apiKey,r.hasToken=!0),r.useIdentity&&!r.hasToken&&!r.credentialToken&&!N(s)&&!u(n)){let e;"immediate"===o.authMode?(await A(),e=await t.getCredential(s,{signal:n}),r.credential=e):"no-prompt"===o.authMode?(await A(),e=await t.getCredential(s,{prompt:!1,signal:n}).catch((()=>{})),r.credential=e):t&&(e=t.findCredential(s)),e&&(r.credentialToken=e.token,r.useSSL=!!e.ssl)}}function N(e){return D.some((t=>t.test(e)))}async function $(e){let r=e.params.url;const o=e.params.requestOptions,n=e.fetchOptions,a=d(r)||c(r),i=o.responseType||"json",u=a?0:null!=o.timeout?o.timeout:L.timeout;let p=!1;if(!a){e.useSSL&&(r=y(r)),o.cacheBust&&"default"===n.cache&&(r=w(r,"request.preventCache",Date.now()));let a={...o.query};e.credentialToken&&(a.token=e.credentialToken);let i=g(a);s("esri-url-encodes-apostrophe")&&(i=i.replace(/'/g,"%27"));const l=r.length+1+i.length;let u;p="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||l>L.maxUrlLength;const c=o.useProxy||!!b(r);if(c){const e=q(r);u=e.path,!p&&u.length+1+l>L.maxUrlLength&&(p=!0),e.query&&(a={...e.query,...a})}if("HEAD"===n.method&&(p||c)){if(p){if(l>L.maxUrlLength)throw R("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw R("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(c)throw R("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(p?(n.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?r=T(r,a):(n.body=g(a),n.headers["Content-Type"]="application/x-www-form-urlencoded")):r=T(r,a),c&&(e.useProxy=!0,r=`${u}?${r}`),a.token&&U&&n.body instanceof FormData){const e=n.body;e.set?e.set("token",a.token):e.append("token",a.token)}if(o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!k(r,O()))if(h(r))e.withCredentials=!0;else if(t){const s=t.findServerInfo(r);s&&s.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(n.credentials="include")}let m,x,v=0,E=!1;u>0&&(v=setTimeout((()=>{E=!0,e.controller.abort()}),u));try{if("native-request-init"===o.responseType)x=n,x.url=r;else if("image"!==o.responseType||"default"!==n.cache||"GET"!==n.method||p||W(o.headers)||!a&&!e.useProxy&&L.proxyUrl&&!M(r)){if(m=await C._abortableFetch(r,n),e.useProxy||I(r),"native"===o.responseType)x=m;else if("HEAD"!==n.method)if(m.ok){switch(i){case"array-buffer":x=await m.arrayBuffer();break;case"blob":case"image":x=await m.blob();break;default:x=await m.text()}if(v&&(clearTimeout(v),v=0),"json"===i||"xml"===i||"document"===i)if(x)switch(i){case"json":x=JSON.parse(x);break;case"xml":x=G(x,"application/xml");break;case"document":x=G(x,"text/html")}else x=null;if(x){if("array-buffer"===i||"blob"===i){const e=m.headers.get("Content-Type");if(/application\/json|text\/plain/i.test(e)&&x["blob"===i?"size":"byteLength"]<=750)try{const e=await new Response(x).json();e.error&&(x=e)}catch{}}"image"===i&&x instanceof Blob&&(x=await X(URL.createObjectURL(x),e,!0))}}else x=await m.text()}else x=await X(r,e)}catch(j){if("AbortError"===j.name){if(E)throw new Error("Timeout exceeded");throw l("Request canceled")}if(!(!m&&j instanceof TypeError&&L.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||M(r))throw j;e.redoRequest=!0,S({proxyUrl:L.proxyUrl,urlPrefix:f(r)})}finally{v&&clearTimeout(v)}return[m,x]}async function K(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let o,n;try{n=await e.before(t)}catch(s){o=R("request:interceptor",s,t)}if((n instanceof Error||n instanceof r)&&(o=R("request:interceptor",n,t)),o)throw e.error&&e.error(o),o;return n}}function W(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}function G(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function z(e){var r,s;let o,n;await B(e);try{do{[o,n]=await $(e)}while(!await J(e,o,n))}catch(l){const t=R("request:server",l,e.params,o);throw t.details.ssl=e.useSSL,e.interceptor&&e.interceptor.error&&e.interceptor.error(t),t}const a=e.params.url;if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)&&!e.hasToken&&!e.credentialToken&&null!=(r=n)&&null!=(s=r.user)&&s.username&&!h(a)){const e=f(a,!0);e&&L.trustedServers.push(e)}const i=e.credential;if(i&&t){const e=t.findServerInfo(i.server);let r=e&&e.owningSystemUrl;if(r){r=r.replace(/\/?$/,"/sharing");const e=t.findCredential(r,i.userId);e&&-1===t._getIdenticalSvcIdx(r,e)&&e.resources.unshift(r)}}return{data:n,getHeader:o?e=>o.headers.get(e):_,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}async function J(e,r,s){if(e.redoRequest)return e.redoRequest=!1,!1;const o=e.params.requestOptions;if(!r||"native"===o.responseType||"native-request-init"===o.responseType)return!0;let n,a,i,l;if(!r.ok)throw n=new Error(`Unable to load ${r.url} status: ${r.status}`),n[F]=s,n;null!=s&&s.error&&(n=s.error),n&&(a=Number(n.code),i=n.hasOwnProperty("subcode")?Number(n.subcode):null,l=n.messageCode,l=l&&l.toUpperCase());const u=o.authMode;if(403===a&&(4===i||n.message&&n.message.toLowerCase().indexOf("ssl")>-1&&-1===n.message.toLowerCase().indexOf("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&-1!==j.indexOf(a)&&!N(e.params.url)&&(403!==a||-1===P.indexOf(l)&&(null==i||2===i&&e.credentialToken))){await A();try{const r=await t.getCredential(e.params.url,{error:R("request:server",n,e.params),prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=r,e.credentialToken=r.token,e.useSSL=e.useSSL||r.ssl,!1}catch(c){if("no-prompt"===u)return e.credential=null,e.credentialToken=null,!1;n=c}}if(n)throw n;return!0}function X(e,t,r=!1){const s=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.src=e,v(o,e,r,s)}C._abortableFetch=null,C._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"];export{C as default};
|
|
5
|
+
import e from"./config.js";import{id as t}from"./kernel.js";import r from"./core/Error.js";import s from"./core/has.js";import{clone as o}from"./core/lang.js";import{unwrap as n}from"./core/maybe.js";import{onAbort as a,isAbortError as i,createAbortError as l,isAborted as u}from"./core/promiseUtils.js";import{isDataProtocol as c,isBlobProtocol as d,normalize as p,getInterceptor as m,isTrustedServer as h,getOrigin as f,toHTTPS as y,addQueryParameter as w,objectToQuery as g,getProxyRule as b,getProxyUrl as q,addQueryParameters as T,hasSameOrigin as k,getAppUrl as S,addProxyRule as O}from"./core/urlUtils.js";import{supportsApiKey as x}from"./support/apiKeyUtils.js";import{loadImageAsync as v}from"./support/requestUtils.js";async function C(e,t){var r;const o=c(e),i=d(e);i||o||(e=p(e));const l={url:e,requestOptions:{...n(t)}};let u=m(e);if(u){const e=await K(u,l);if(null!=e)return{data:e,getHeader:_,requestOptions:l.requestOptions,url:l.url};u.after||u.error||(u=null)}if(e=l.url,"image"===(t=l.requestOptions).responseType){if(s("host-webworker")||s("host-node"))throw R("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),l)}else if(o)throw R("request:invalid-parameters",new Error("Data URLs are not supported for responseType = "+t.responseType),l);if("head"===t.method){if(t.body)throw R("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),l);if(o||i)throw R("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),l)}if(await H(),E)return E.execute(e,t);const h=new AbortController;a(t,(()=>h.abort()));const f={controller:h,credential:null,credentialToken:null,fetchOptions:null,hasToken:!1,interceptor:u,params:l,redoRequest:!1,useIdentity:L.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},y=await z(f);return null==(r=u)||null==r.after||r.after(y),y}let E;const L=e.request,U="FormData"in globalThis,j=[499,498,403,401],P=["COM_0056","COM_0057","SB_0008"],D=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],_=()=>null,F=Symbol();function I(e){const t=f(e);t&&!C._corsServers.includes(t)&&C._corsServers.push(t)}function M(e){const t=f(e);return!t||t.endsWith(".arcgis.com")||C._corsServers.includes(t)||h(t)}function R(e,t,s,n){let a="Error";const u={url:s.url,requestOptions:s.requestOptions,getHeader:_,ssl:!1};if(t instanceof r)return t.details?(t.details=o(t.details),t.details.url=s.url,t.details.requestOptions=s.requestOptions):t.details=u,t;if(t){const e=n&&(e=>n.headers.get(e)),r=n&&n.status,s=t.message;s&&(a=s),e&&(u.getHeader=e),u.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||r||0,u.subCode=t.subcode,u.messageCode=t.messageCode,"string"==typeof t.details?u.messages=[t.details]:u.messages=t.details,u.raw=F in t?t[F]:t}return i(t)?l():new r(e,a,u)}async function H(){s("host-webworker")?E||(E=await import("./core/workers/request.js")):C._abortableFetch||(C._abortableFetch=globalThis.fetch.bind(globalThis))}async function A(){t||await import("./identity/IdentityManager.js")}async function B(r){const s=r.params.url,o=r.params.requestOptions,n=r.controller.signal,a=o.body;let i=null,l=null,c=null;if(U&&"HTMLFormElement"in globalThis&&(a instanceof FormData?i=a:a instanceof HTMLFormElement&&(l=a,i=new FormData(l))),"string"==typeof a&&(c=a),r.fetchOptions={cache:o.cacheBust&&!C._abortableFetch.polyfill?"no-cache":"default",credentials:"same-origin",headers:o.headers||{},method:"head"===o.method?"HEAD":"GET",mode:"cors",redirect:"follow",signal:n},(i||c)&&(r.fetchOptions.body=i||c),"anonymous"===o.authMode&&(r.useIdentity=!1),r.hasToken=!!(/token=/i.test(s)||o.query&&o.query.token||i&&i.get&&i.get("token")||l&&l.elements.token),!r.hasToken&&e.apiKey&&x(s)&&(o.query||(o.query={}),o.query.token=e.apiKey,r.hasToken=!0),r.useIdentity&&!r.hasToken&&!r.credentialToken&&!N(s)&&!u(n)){let e;"immediate"===o.authMode?(await A(),e=await t.getCredential(s,{signal:n}),r.credential=e):"no-prompt"===o.authMode?(await A(),e=await t.getCredential(s,{prompt:!1,signal:n}).catch((()=>{})),r.credential=e):t&&(e=t.findCredential(s)),e&&(r.credentialToken=e.token,r.useSSL=!!e.ssl)}}function N(e){return D.some((t=>t.test(e)))}async function $(e){let r=e.params.url;const o=e.params.requestOptions,n=e.fetchOptions,a=d(r)||c(r),i=o.responseType||"json",u=a?0:null!=o.timeout?o.timeout:L.timeout;let p=!1;if(!a){e.useSSL&&(r=y(r)),o.cacheBust&&"default"===n.cache&&(r=w(r,"request.preventCache",Date.now()));let a={...o.query};e.credentialToken&&(a.token=e.credentialToken);let i=g(a);s("esri-url-encodes-apostrophe")&&(i=i.replace(/'/g,"%27"));const l=r.length+1+i.length;let u;p="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||l>L.maxUrlLength;const c=o.useProxy||!!b(r);if(c){const e=q(r);u=e.path,!p&&u.length+1+l>L.maxUrlLength&&(p=!0),e.query&&(a={...e.query,...a})}if("HEAD"===n.method&&(p||c)){if(p){if(l>L.maxUrlLength)throw R("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw R("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(c)throw R("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(p?(n.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?r=T(r,a):(n.body=g(a),n.headers["Content-Type"]="application/x-www-form-urlencoded")):r=T(r,a),c&&(e.useProxy=!0,r=`${u}?${r}`),a.token&&U&&n.body instanceof FormData){const e=n.body;e.set?e.set("token",a.token):e.append("token",a.token)}if(o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!k(r,S()))if(h(r))e.withCredentials=!0;else if(t){const s=t.findServerInfo(r);s&&s.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(n.credentials="include")}let m,x,v=0,E=!1;u>0&&(v=setTimeout((()=>{E=!0,e.controller.abort()}),u));try{if("native-request-init"===o.responseType)x=n,x.url=r;else if("image"!==o.responseType||"default"!==n.cache||"GET"!==n.method||p||W(o.headers)||!a&&!e.useProxy&&L.proxyUrl&&!M(r)){if(m=await C._abortableFetch(r,n),e.useProxy||I(r),"native"===o.responseType)x=m;else if("HEAD"!==n.method)if(m.ok){switch(i){case"array-buffer":x=await m.arrayBuffer();break;case"blob":case"image":x=await m.blob();break;default:x=await m.text()}if(v&&(clearTimeout(v),v=0),"json"===i||"xml"===i||"document"===i)if(x)switch(i){case"json":x=JSON.parse(x);break;case"xml":x=G(x,"application/xml");break;case"document":x=G(x,"text/html")}else x=null;if(x){if("array-buffer"===i||"blob"===i){const e=m.headers.get("Content-Type");if(/application\/json|text\/plain/i.test(e)&&x["blob"===i?"size":"byteLength"]<=750)try{const e=await new Response(x).json();e.error&&(x=e)}catch{}}"image"===i&&x instanceof Blob&&(x=await X(URL.createObjectURL(x),e,!0))}}else x=await m.text()}else x=await X(r,e)}catch(j){if("AbortError"===j.name){if(E)throw new Error("Timeout exceeded");throw l("Request canceled")}if(!(!m&&j instanceof TypeError&&L.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||M(r))throw j;e.redoRequest=!0,O({proxyUrl:L.proxyUrl,urlPrefix:f(r)})}finally{v&&clearTimeout(v)}return[m,x]}async function K(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let o,n;try{n=await e.before(t)}catch(s){o=R("request:interceptor",s,t)}if((n instanceof Error||n instanceof r)&&(o=R("request:interceptor",n,t)),o)throw e.error&&e.error(o),o;return n}}function W(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}function G(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function z(e){var r,s;let o,n;await B(e);try{do{[o,n]=await $(e)}while(!await J(e,o,n))}catch(l){const t=R("request:server",l,e.params,o);throw t.details.ssl=e.useSSL,e.interceptor&&e.interceptor.error&&e.interceptor.error(t),t}const a=e.params.url;if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)&&!e.hasToken&&!e.credentialToken&&null!=(r=n)&&null!=(s=r.user)&&s.username&&!h(a)){const e=f(a,!0);e&&L.trustedServers.push(e)}const i=e.credential;if(i&&t){const e=t.findServerInfo(i.server);let r=e&&e.owningSystemUrl;if(r){r=r.replace(/\/?$/,"/sharing");const e=t.findCredential(r,i.userId);e&&-1===t._getIdenticalSvcIdx(r,e)&&e.resources.unshift(r)}}return{data:n,getHeader:o?e=>o.headers.get(e):_,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}async function J(e,r,s){if(e.redoRequest)return e.redoRequest=!1,!1;const o=e.params.requestOptions;if(!r||"native"===o.responseType||"native-request-init"===o.responseType)return!0;let n,a,i,l;if(!r.ok)throw n=new Error(`Unable to load ${r.url} status: ${r.status}`),n[F]=s,n;null!=s&&s.error&&(n=s.error),n&&(a=Number(n.code),i=n.hasOwnProperty("subcode")?Number(n.subcode):null,l=n.messageCode,l=l&&l.toUpperCase());const u=o.authMode;if(403===a&&(4===i||n.message&&n.message.toLowerCase().includes("ssl")&&!n.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&j.includes(a)&&!N(e.params.url)&&(403!==a||!P.includes(l)&&(null==i||2===i&&e.credentialToken))){await A();try{const r=await t.getCredential(e.params.url,{error:R("request:server",n,e.params),prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=r,e.credentialToken=r.token,e.useSSL=e.useSSL||r.ssl,!1}catch(c){if("no-prompt"===u)return e.credential=null,e.credentialToken=null,!1;n=c}}if(n)throw n;return!0}function X(e,t,r=!1){const s=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.src=e,v(o,e,r,s)}C._abortableFetch=null,C._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"];export{C as default};
|
package/rest/imageService.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../geometry.js";import e from"../request.js";import{isSome as t}from"../core/maybe.js";import{normalizeCentralMeridian as n}from"../geometry/support/normalizeUtils.js";import{parseUrl as o,encode as a,asValidOptions as s}from"./utils.js";import r from"./support/ImageAngleResult.js";import i from"./support/ImageIdentifyResult.js";import l from"./support/ImagePixelLocationResult.js";import m from"./support/ImageSampleResult.js";import u from"../geometry/SpatialReference.js";function c(e){const t=null==e?void 0:e.time;if(t&&(null!=t.start||null!=t.end)){const n=[];null!=t.start&&n.push(t.start),null
|
|
5
|
+
import"../geometry.js";import e from"../request.js";import{isSome as t}from"../core/maybe.js";import{normalizeCentralMeridian as n}from"../geometry/support/normalizeUtils.js";import{parseUrl as o,encode as a,asValidOptions as s}from"./utils.js";import r from"./support/ImageAngleResult.js";import i from"./support/ImageIdentifyResult.js";import l from"./support/ImagePixelLocationResult.js";import m from"./support/ImageSampleResult.js";import u from"../geometry/SpatialReference.js";function c(e){const t=null==e?void 0:e.time;if(t&&(null!=t.start||null!=t.end)){const n=[];null!=t.start&&n.push(t.start),null==t.end||n.includes(t.end)||n.push(t.end),e.time=n.join(",")}}async function p(e,r,i){const l=o(e),m=r.geometry?[r.geometry]:[],u=await n(m),p=r.toJSON();c(p);const f=u&&u[0];t(f)&&(p.geometry=f.toJSON());const g=a({...l.query,f:"json",...p});return s(g,i)}async function f(n,i,l){var m;const c=i.toJSON();t(c.angleName)&&(c.angleName=c.angleName.join(",")),t(i.point)&&null!=(m=i.point.spatialReference)&&m.imageCoordinateSystem&&(c.point.spatialReference=h(i.point.spatialReference)),t(i.spatialReference)&&i.spatialReference.imageCoordinateSystem&&(c.spatialReference=R(i.spatialReference));const p=o(n),f=a({...p.query,f:"json",...c}),g=s(f,l),{data:d}=await e(`${p.path}/computeAngles`,g);return d.spatialReference=d.spatialReference?null!=d.spatialReference.geodataXform?new u({wkid:0,imageCoordinateSystem:d.spatialReference}):u.fromJSON(d.spatialReference):null,"NaN"===d.north&&(d.north=null),"NaN"===d.up&&(d.up=null),new r(d)}async function g(t,n,r){const i=n.toJSON(),{geometries:m}=n;for(let e=0;e<m.length;e++){var u;null!=(u=m[e].spatialReference)&&u.imageCoordinateSystem&&(i.geometries.geometries[e].spatialReference=h(m[e].spatialReference))}const c=o(t),p=a({...c.query,f:"json",...i}),f=s(p,r),{data:g}=await e(`${c.path}/computePixelLocation`,f);return l.fromJSON(g)}async function d(t,n,a){const s=await p(t,n,a),r=o(t),{data:i}=await e(`${r.path}/computeStatisticsHistograms`,s),{statistics:l}=i;return null!=l&&l.length&&l.forEach((e=>{e.avg=e.mean,e.stddev=e.standardDeviation})),{statistics:l,histograms:i.histograms}}async function y(t,n,a){const s=await p(t,n,a),r=o(t),{data:i}=await e(`${r.path}/computeHistograms`,s);return{histograms:i.histograms}}async function N(r,i,l){var u,p;const f=i.toJSON();c(f),null!=(u=f.outFields)&&u.length&&(f.outFields=f.outFields.join(","));const g=await n(i.geometry),d=null==g?void 0:g[0];t(d)&&(f.geometry=d.toJSON());const y=o(r),N=a({...y.query,f:"json",...f}),S=s(N,l),{data:h}=await e(`${y.path}/getSamples`,S),R=null==h||null==(p=h.samples)?void 0:p.map((e=>{const t="NaN"===e.value||""===e.value?null:e.value.split(" ").map((e=>Number(e)));return{...e,pixelValue:t}}));return m.fromJSON({samples:R})}async function S(r,l,m){const u=o(r),c=l.geometry?[l.geometry]:[];return n(c).then((n=>{const o=l.toJSON(),r=n&&n[0];t(r)&&(o.geometry=JSON.stringify(r.toJSON()));const i=a({...u.query,f:"json",...o}),c=s(i,m);return e(u.path+"/identify",c)})).then((e=>i.fromJSON(e.data)))}function h(e){const{imageCoordinateSystem:t}=e;if(t){const{id:e,referenceServiceName:n}=t;return null!=e?n?{icsid:e,icsns:n}:{icsid:e}:{ics:t}}return e.toJSON()}function R(e,t){const n=h(e),{icsid:o,icsns:a,wkid:s}=n;return null!=o?null==a||null!=t&&t.toLowerCase().includes("/"+a.toLowerCase()+"/")?`0:${o}`:JSON.stringify(n):s?s.toString():JSON.stringify(n)}export{f as computeAngles,y as computeHistograms,g as computePixelSpaceLocations,d as computeStatisticsHistograms,h as getImageSpatialReferenceJSON,R as getImageSpatialReferenceQueryParameter,N as getSamples,S as identify};
|
package/rest/operations/find.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{serializeLayerDefinitions as e}from"../../layers/support/layerUtils.js";function i(i){const{contains:s,dynamicLayers:n,geometryPrecision:t,layerDefinitions:r,layerIds:o,maxAllowableOffset:l,outSR:a,returnGeometry:
|
|
5
|
+
import{serializeLayerDefinitions as e}from"../../layers/support/layerUtils.js";function i(i){const{contains:s,dynamicLayers:n,geometryPrecision:t,layerDefinitions:r,layerIds:o,maxAllowableOffset:l,outSR:a,returnGeometry:c,searchFields:f,searchText:y}=i.toJSON(),d={contains:s,returnGeometry:c,geometryPrecision:t,maxAllowableOffset:l,searchText:y};if(o&&(d.layers=o.join(",")),f&&(d.searchFields=f.join(",")),a&&(d.sr=a.wkid||JSON.stringify(a)),r){const i=[];for(let e=0;e<r.length;e++){const s=r[e];i[s.id]=s.definitionExpression}d.layerDefs=e(i)}if(n&&n.length){const e=[];for(let s=0;s<n.length;s++){const i=n[s],t=i.id;if(!i.subLayerIds&&o&&o.includes(t)){const s={id:t};s.source=i.source;let n=null;if(r&&r.length){const e=r.find((e=>e.id===t));n=e&&e.definitionExpression}n&&(s.definitionExpression=n),e.push(s)}}let i=JSON.stringify(e);"[]"===i&&(i="[{}]"),d.dynamicLayers=i}return d}export{i as findToFindRESTParameters};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../request.js";import{isSome as t}from"../../../core/maybe.js";import{join as r,urlToObject as n}from"../../../core/urlUtils.js";import{getJsonType as i}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as o}from"../../../geometry/support/normalizeUtils.js";import{mapParameters as a}from"../../operations/urlUtils.js";import{parsePBFFeatureQuery as s}from"./pbfQueryUtils.js";import{applyFeatureSetZUnitScaling as u}from"./queryZScale.js";const l="Layer does not support extent calculation.";function m(e,t){if(t&&"extent"===e.type)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&"point"===e.type)return`${e.x},${e.y}`;const r=e.toJSON();return delete r.spatialReference,JSON.stringify(r)}function y(e,r){const n=e.geometry,o=e.toJSON();delete o.compactGeometryEnabled,delete o.defaultSpatialReferenceEnabled;const a=o,s=e.outSpatialReference;let u,l;if(t(n)&&(u=n.spatialReference,l=n.spatialReference.wkid||JSON.stringify(n.spatialReference),a.geometryType=i(n),a.geometry=m(n,e.compactGeometryEnabled),a.inSR=l),o.groupByFieldsForStatistics&&(a.groupByFieldsForStatistics=o.groupByFieldsForStatistics.join(",")),o.objectIds&&(a.objectIds=o.objectIds.join(",")),o.orderByFields&&(a.orderByFields=o.orderByFields.join(",")),!o.outFields||!o.returnDistinctValues&&(null!=r&&r.returnCountOnly||null!=r&&r.returnExtentOnly||null!=r&&r.returnIdsOnly)?delete a.outFields
|
|
5
|
+
import e from"../../../request.js";import{isSome as t}from"../../../core/maybe.js";import{join as r,urlToObject as n}from"../../../core/urlUtils.js";import{getJsonType as i}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as o}from"../../../geometry/support/normalizeUtils.js";import{mapParameters as a}from"../../operations/urlUtils.js";import{parsePBFFeatureQuery as s}from"./pbfQueryUtils.js";import{applyFeatureSetZUnitScaling as u}from"./queryZScale.js";const l="Layer does not support extent calculation.";function m(e,t){if(t&&"extent"===e.type)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&"point"===e.type)return`${e.x},${e.y}`;const r=e.toJSON();return delete r.spatialReference,JSON.stringify(r)}function y(e,r){const n=e.geometry,o=e.toJSON();delete o.compactGeometryEnabled,delete o.defaultSpatialReferenceEnabled;const a=o,s=e.outSpatialReference;let u,l;if(t(n)&&(u=n.spatialReference,l=n.spatialReference.wkid||JSON.stringify(n.spatialReference),a.geometryType=i(n),a.geometry=m(n,e.compactGeometryEnabled),a.inSR=l),o.groupByFieldsForStatistics&&(a.groupByFieldsForStatistics=o.groupByFieldsForStatistics.join(",")),o.objectIds&&(a.objectIds=o.objectIds.join(",")),o.orderByFields&&(a.orderByFields=o.orderByFields.join(",")),!o.outFields||!o.returnDistinctValues&&(null!=r&&r.returnCountOnly||null!=r&&r.returnExtentOnly||null!=r&&r.returnIdsOnly)?delete a.outFields:o.outFields.includes("*")?a.outFields="*":a.outFields=o.outFields.join(","),o.outSR?a.outSR=o.outSR.wkid||JSON.stringify(o.outSR):n&&(o.returnGeometry||o.returnCentroid)&&(a.outSR=a.inSR),o.returnGeometry&&delete o.returnGeometry,o.outStatistics&&(a.outStatistics=JSON.stringify(o.outStatistics)),o.pixelSize&&(a.pixelSize=JSON.stringify(o.pixelSize)),o.quantizationParameters&&(e.defaultSpatialReferenceEnabled&&t(u)&&t(e.quantizationParameters)&&t(e.quantizationParameters.extent)&&u.equals(e.quantizationParameters.extent.spatialReference)&&delete o.quantizationParameters.extent.spatialReference,a.quantizationParameters=JSON.stringify(o.quantizationParameters)),o.parameterValues&&(a.parameterValues=JSON.stringify(o.parameterValues)),o.rangeValues&&(a.rangeValues=JSON.stringify(o.rangeValues)),o.dynamicDataSource&&(a.layer=JSON.stringify({source:o.dynamicDataSource}),delete o.dynamicDataSource),o.timeExtent){const e=o.timeExtent,{start:t,end:r}=e;null==t&&null==r||(a.time=t===r?t:`${null==t?"null":t},${null==r?"null":r}`),delete o.timeExtent}return e.defaultSpatialReferenceEnabled&&t(u)&&t(s)&&u.equals(s)&&(a.defaultSR=a.inSR,delete a.inSR,delete a.outSR),a}async function c(e,r,n,i){const o=t(r.timeExtent)&&r.timeExtent.isEmpty?{data:{features:[]}}:await E(e,r,"json",i);return u(r,n,o.data),o}async function d(e,r,n,i){if(t(r.timeExtent)&&r.timeExtent.isEmpty)return{data:n.createFeatureResult()};const o=await f(e,r,i),a=o;return a.data=s(o.data,n),a}function f(e,t,r){return E(e,t,"pbf",r)}function p(e,r,n){return t(r.timeExtent)&&r.timeExtent.isEmpty?Promise.resolve({data:{objectIds:[]}}):E(e,r,"json",n,{returnIdsOnly:!0})}function S(e,r,n){return t(r.timeExtent)&&r.timeExtent.isEmpty?Promise.resolve({data:{count:0}}):E(e,r,"json",n,{returnIdsOnly:!0,returnCountOnly:!0})}function x(e,r,n){return t(r.timeExtent)&&r.timeExtent.isEmpty?Promise.resolve({data:{count:0,extent:null}}):E(e,r,"json",n,{returnExtentOnly:!0,returnCountOnly:!0}).then((e=>{const t=e.data;if(t.hasOwnProperty("extent"))return e;if(t.features)throw new Error(l);if(t.hasOwnProperty("count"))throw new Error(l);return e}))}function E(i,s,u,l={},m={}){const c="string"==typeof i?n(i):i,d=s.geometry?[s.geometry]:[];return l.responseType="pbf"===u?"array-buffer":"json",o(d,null,l).then((n=>{const i=n&&n[0];t(i)&&((s=s.clone()).geometry=i);const o=a({...c.query,f:u,...m,...y(s,m)});return e(r(c.path,"query"),{...l,query:{...o,...l.query}})}))}export{m as encodeGeometry,c as executeQuery,S as executeQueryForCount,x as executeQueryForExtent,p as executeQueryForIds,d as executeQueryPBF,f as executeQueryPBFBuffer,y as queryToQueryStringParameters,E as runQuery};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../request.js";import{mapParameters as t}from"../../operations/urlUtils.js";function o(e,t){const o=e.toJSON();return o.objectIds&&(o.objectIds=o.objectIds.join(",")),o.orderByFields&&(o.orderByFields=o.orderByFields.join(",")),!o.outFields||null!=t&&t.returnCountOnly?delete o.outFields
|
|
5
|
+
import e from"../../../request.js";import{mapParameters as t}from"../../operations/urlUtils.js";function o(e,t){const o=e.toJSON();return o.objectIds&&(o.objectIds=o.objectIds.join(",")),o.orderByFields&&(o.orderByFields=o.orderByFields.join(",")),!o.outFields||null!=t&&t.returnCountOnly?delete o.outFields:o.outFields.includes("*")?o.outFields="*":o.outFields=o.outFields.join(","),o.outSpatialReference&&(o.outSR=o.outSR.wkid||JSON.stringify(o.outSR.toJSON()),delete o.outSpatialReference),o.dynamicDataSource&&(o.layer=JSON.stringify({source:o.dynamicDataSource}),delete o.dynamicDataSource),o}async function r(e,t,o){const r=await s(e,t,o),n=r.data,a=n.geometryType,d=n.spatialReference,c={};for(const s of n.relatedRecordGroups){const e={fields:void 0,objectIdFieldName:void 0,geometryType:a,spatialReference:d,hasZ:!!n.hasZ,hasM:!!n.hasM,features:s.relatedRecords};if(null!=s.objectId)c[s.objectId]=e;else for(const t in s)s.hasOwnProperty(t)&&"relatedRecords"!==t&&(c[s[t]]=e)}return{...r,data:c}}async function n(e,t,o){const r=await s(e,t,o,{returnCountOnly:!0}),n=r.data,a={};for(const s of n.relatedRecordGroups)null!=s.objectId&&(a[s.objectId]=s.count);return{...r,data:a}}async function s(r,n,s={},a){const d=t({...r.query,f:"json",...a,...o(n,a)});return e(r.path+"/queryRelatedRecords",{...s,query:{...s.query,...d}})}export{r as executeRelationshipQuery,n as executeRelationshipQueryForCount,o as toQueryStringParameters};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import t from"../../../request.js";import{isSome as e}from"../../../core/maybe.js";import{join as r,urlToObject as n}from"../../../core/urlUtils.js";import{getJsonType as o}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as i}from"../../../geometry/support/normalizeUtils.js";import{mapParameters as
|
|
5
|
+
import t from"../../../request.js";import{isSome as e}from"../../../core/maybe.js";import{join as r,urlToObject as n}from"../../../core/urlUtils.js";import{getJsonType as o}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as i}from"../../../geometry/support/normalizeUtils.js";import{mapParameters as l}from"../../operations/urlUtils.js";import{applyFeatureSetZUnitScaling as s}from"./queryZScale.js";const u="Layer does not support extent calculation.";function y(t,r){var n,i;const l=t.geometry,s=t.toJSON(),u=s;if(e(l)&&(u.geometry=JSON.stringify(l),u.geometryType=o(l),u.inSR=l.spatialReference.wkid||JSON.stringify(l.spatialReference)),null!=(n=s.topFilter)&&n.groupByFields&&(u.topFilter.groupByFields=s.topFilter.groupByFields.join(",")),null!=(i=s.topFilter)&&i.orderByFields&&(u.topFilter.orderByFields=s.topFilter.orderByFields.join(",")),s.topFilter&&(u.topFilter=JSON.stringify(u.topFilter)),s.objectIds&&(u.objectIds=s.objectIds.join(",")),s.orderByFields&&(u.orderByFields=s.orderByFields.join(",")),s.outFields&&!(null!=r&&r.returnCountOnly||null!=r&&r.returnExtentOnly||null!=r&&r.returnIdsOnly)?s.outFields.includes("*")?u.outFields="*":u.outFields=s.outFields.join(","):delete u.outFields,s.outSR?u.outSR=s.outSR.wkid||JSON.stringify(s.outSR):l&&s.returnGeometry&&(u.outSR=u.inSR),s.returnGeometry&&delete s.returnGeometry,s.timeExtent){const t=s.timeExtent,{start:e,end:r}=t;null==e&&null==r||(u.time=e===r?e:`${null==e?"null":e},${null==r?"null":r}`),delete s.timeExtent}return u}async function d(t,e,r,n){const o=await c(t,e,"json",n);return s(e,r,o.data),o}async function m(t,r,n){return e(r.timeExtent)&&r.timeExtent.isEmpty?{data:{objectIds:[]}}:c(t,r,"json",n,{returnIdsOnly:!0})}async function p(t,r,n){return e(r.timeExtent)&&r.timeExtent.isEmpty?{data:{count:0,extent:null}}:c(t,r,"json",n,{returnExtentOnly:!0,returnCountOnly:!0}).then((t=>{const e=t.data;if(e.hasOwnProperty("extent"))return t;if(e.features)throw new Error(u);if(e.hasOwnProperty("count"))throw new Error(u);return t}))}function a(t,r,n){return e(r.timeExtent)&&r.timeExtent.isEmpty?Promise.resolve({data:{count:0}}):c(t,r,"json",n,{returnIdsOnly:!0,returnCountOnly:!0})}function c(o,s,u,d={},m={}){const p="string"==typeof o?n(o):o,a=s.geometry?[s.geometry]:[];return d.responseType="pbf"===u?"array-buffer":"json",i(a,null,d).then((n=>{const o=n&&n[0];e(o)&&((s=s.clone()).geometry=o);const i=l({...p.query,f:u,...m,...y(s,m)});return t(r(p.path,"queryTopFeatures"),{...d,query:{...i,...d.query}})}))}export{a as executeQueryForTopCount,p as executeQueryForTopExtents,m as executeQueryForTopIds,d as executeTopFeaturesQuery,y as queryToQueryStringParameters};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../PopupTemplate.js";import{symbolTypes as
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import i from"../../PopupTemplate.js";import{symbolTypes as o}from"../../symbols.js";import{ClonableMixin as r}from"../../core/Clonable.js";import{JSONSupport as l}from"../../core/JSONSupport.js";import{isSome as s,unwrap as n}from"../../core/maybe.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import d from"../../geometry/Polyline.js";import{directionLineTypeJsonMap as m}from"./networkEnums.js";import{fromJSON as c}from"../../symbols/support/jsonUtils.js";var u;let b=u=class extends(r(l)){constructor(e){super(e),this.directionLineType=null,this.directionPointId=null,this.distance=null,this.duration=null,this.fromLevel=null,this.geometry=null,this.objectId=null,this.popupTemplate=null,this.symbol=null,this.toLevel=null}static fromGraphic(e){var t,i;return new u({directionLineType:m.fromJSON(e.attributes.DirectionLineType),directionPointId:e.attributes.DirectionPointID,distance:e.attributes.Meters,duration:e.attributes.Minutes,fromLevel:null!=(t=e.attributes.FromLevel)?t:null,geometry:e.geometry,objectId:e.attributes.__OBJECTID,popupTemplate:e.popupTemplate,symbol:s(e.symbol)?c(e.symbol):null,toLevel:null!=(i=e.attributes.ToLevel)?i:null})}toGraphic(){const e={__OBJECTID:n(this.objectId),DirectionLineType:s(this.directionLineType)?m.toJSON(this.directionLineType):null,DirectionPointID:n(this.directionPointId),Meters:n(this.distance),Minutes:n(this.duration)};return s(this.fromLevel)&&(e.FromLevel=this.fromLevel),s(this.toLevel)&&(e.ToLevel=this.toLevel),new t({geometry:this.geometry,attributes:e,symbol:this.symbol,popupTemplate:n(this.popupTemplate)})}};b.fields=[{name:"__OBJECTID",alias:"OBJECTID",type:"esriFieldTypeOID",editable:!1,nullable:!1,domain:null},{name:"DirectionLineType",alias:"Line Type",type:"esriFieldTypeInteger",editable:!0,nullable:!0,visible:!0,domain:{type:"codedValue",name:"esriDirectionsLineType",codedValues:[{name:"Unknown",code:0},{name:"Segment",code:1},{name:"Maneuver Segment",code:2},{name:"Restriction violation",code:3},{name:"Scale cost barrier crossing",code:4},{name:"Heavy Traffic",code:5},{name:"Slow Traffic",code:6},{name:"Moderate Traffic",code:7}]}},{name:"DirectionPointID",alias:"Direction Point ID",type:"esriFieldTypeInteger",editable:!0,nullable:!0,visible:!1},{name:"FromLevel",alias:"Start from 3D Level",type:"esriFieldTypeInteger",editable:!0,nullable:!0,visible:!1},{name:"Meters",alias:"Length in Meters",type:"esriFieldTypeDouble",editable:!0,nullable:!0,visible:!0},{name:"Minutes",alias:"Duration in Minutes",type:"esriFieldTypeDouble",editable:!0,nullable:!0,visible:!0},{name:"ToLevel",alias:"End at 3D Level",type:"esriFieldTypeInteger",editable:!0,nullable:!0,visible:!1}],b.popupInfo={title:"Direction Lines",fieldInfos:[{fieldName:"DirectionLineType",label:"Line Type",isEditable:!1,tooltip:"",visible:!0,stringFieldOption:"textbox"},{fieldName:"Meters",label:"Length in Meters",isEditable:!1,tooltip:"",visible:!0,format:{places:2,digitSeparator:!0},stringFieldOption:"textbox"},{fieldName:"Minutes",label:"Duration in Minutes",isEditable:!1,tooltip:"",visible:!0,format:{places:2,digitSeparator:!0},stringFieldOption:"textbox"},{fieldName:"DirectionPointID",label:"Direction Point ID",isEditable:!1,tooltip:"",visible:!0,format:{places:0,digitSeparator:!0},stringFieldOption:"textbox"},{fieldName:"FromLevel",label:"Start from 3D Level",isEditable:!1,tooltip:"",visible:!1,format:{places:0,digitSeparator:!0},stringFieldOption:"textbox"},{fieldName:"ToLevel",label:"End at 3D Level",isEditable:!1,tooltip:"",visible:!1,format:{places:0,digitSeparator:!0},stringFieldOption:"textbox"}],description:null,showAttachments:!1,mediaInfos:[]},e([a({type:m.apiValues,json:{read:{source:"attributes.DirectionLineType",reader:m.read}}})],b.prototype,"directionLineType",void 0),e([a({json:{read:{source:"attributes.DirectionPointID"}}})],b.prototype,"directionPointId",void 0),e([a({json:{read:{source:"attributes.Meters"}}})],b.prototype,"distance",void 0),e([a({json:{read:{source:"attributes.Minutes"}}})],b.prototype,"duration",void 0),e([a({json:{read:{source:"attributes.FromLevel"}}})],b.prototype,"fromLevel",void 0),e([a({type:d})],b.prototype,"geometry",void 0),e([a({json:{read:{source:"attributes.ObjectID"}}})],b.prototype,"objectId",void 0),e([a({type:i,json:{read:!1}})],b.prototype,"popupTemplate",void 0),e([a({types:o,json:{read:!1}})],b.prototype,"symbol",void 0),e([a({json:{read:{source:"attributes.ToLevel"}}})],b.prototype,"toLevel",void 0),b=u=e([p("esri.rest.support.DirectionLine")],b);const y=b;export{y as default};
|