@arcgis/core 5.0.0-next.65 → 5.0.0-next.67
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/Ground.d.ts +4 -4
- package/Map.d.ts +1 -1
- package/WebDocument2D.d.ts +2 -3
- package/WebScene.d.ts +2 -3
- package/applications/Components/QuantityFormatter.d.ts +14 -1
- package/applications/Components/SelectionOperation.d.ts +45 -9
- package/applications/Components/SketchTooltipControls.d.ts +31 -6
- package/applications/Components/actionUtils.d.ts +1 -0
- package/applications/Components/analysisUtils.d.ts +98 -26
- package/applications/Components/arcadeEditorUtils.d.ts +3 -0
- package/applications/Components/arcadeFeatureUtils.d.ts +34 -6
- package/applications/Components/baUtils.d.ts +8 -8
- package/applications/Components/basemapUtils.d.ts +2 -0
- package/applications/Components/drawUtils.d.ts +6 -1
- package/applications/Components/featureUtils.d.ts +9 -0
- package/applications/Components/fontUtils.d.ts +2 -0
- package/applications/Components/formatUtils.d.ts +2 -0
- package/applications/Components/getDefaultUnits.d.ts +2 -0
- package/applications/Components/imageryUtils.d.ts +135 -27
- package/applications/Components/layerOriginUtils.d.ts +5 -0
- package/applications/Components/layersEffectsJsonUtils.d.ts +2 -0
- package/applications/Components/previewSymbol2D.d.ts +2 -0
- package/applications/Components/reactiveUtils.d.ts +13 -9
- package/applications/Components/sanitizerUtils.d.ts +2 -0
- package/applications/Components/stringUtils.d.ts +5 -0
- package/applications/Components/styleUtils.d.ts +2 -0
- package/applications/Components/svgUtils.d.ts +4 -0
- package/applications/Components/testUtils.d.ts +3 -0
- package/applications/Components/viewUtils.d.ts +2 -0
- package/applications/Components/webStyleSymbolUtils.d.ts +2 -0
- package/applications/Excalibur/videoViewUtils.d.ts +19 -3
- package/applications/ExperienceBuilder/sketchUtils.d.ts +10 -1
- package/applications/KnowledgeStudio/dataModelVisualization.d.ts +2 -0
- package/applications/KnowledgeStudio/generalSdkInternalAccess.d.ts +33 -4
- package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +73 -10
- package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +12 -1
- package/applications/KnowledgeStudio/reshape.d.ts +144 -28
- package/applications/KnowledgeStudio/resourceSerializationUtils.d.ts +17 -3
- package/applications/MapViewer/layerUtils.d.ts +2 -0
- package/applications/MapViewer/mediaUtils.d.ts +42 -8
- package/applications/MapViewer/templateUtils.d.ts +78 -16
- package/applications/PortalApp/layerUtils.d.ts +2 -0
- package/applications/SceneViewer/colorUtils.d.ts +2 -0
- package/applications/SceneViewer/devEnvironmentUtils.d.ts +3 -0
- package/applications/SceneViewer/layerUtils.d.ts +5 -3
- package/applications/SceneViewer/sceneViewerUtils.d.ts +52 -5
- package/applications/SceneViewer/symbolUtils.d.ts +2 -0
- package/applications/Urban/LineImagePattern3D.d.ts +8 -2
- package/applications/Urban/imagePatternUtils.d.ts +10 -2
- package/applications/Urban/meshUtils.d.ts +2 -0
- package/applications/WebEditor/sketchUtils.d.ts +24 -4
- package/assets/components/assets/icon/fileEsl16.json +1 -0
- package/assets/components/assets/icon/fileEsl24.json +1 -0
- package/assets/components/assets/icon/fileEsl32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/04958494022f82dca473.js +1 -0
- package/assets/esri/core/workers/chunks/{22dd5cecc7e2d4d0baf8.js → 055fdc5134d54174444d.js} +2 -2
- package/assets/esri/core/workers/chunks/0629087bd5bb8048493e.js +1 -0
- package/assets/esri/core/workers/chunks/{ee186ddbb1eb5144a790.js → 08359ae020238a565955.js} +1 -1
- package/assets/esri/core/workers/chunks/0b7bbdc0d71ee6721751.js +2 -0
- package/assets/esri/core/workers/chunks/{5909a0e763fddc3542e7.js.LICENSE.txt → 0b7bbdc0d71ee6721751.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/0cd3acfbf9ee991bdab4.js +1 -0
- package/assets/esri/core/workers/chunks/0f8149fdcf0adeca268e.js +1 -0
- package/assets/esri/core/workers/chunks/{aa7a1705266eec353cb6.js → 0fc22ad791d3ec0a9c5e.js} +1 -1
- package/assets/esri/core/workers/chunks/119822a646834c1cebc0.js +1 -0
- package/assets/esri/core/workers/chunks/1a6d2f525dd30d08cf9b.js +1 -0
- package/assets/esri/core/workers/chunks/204d738c8b651314ae64.js +1 -0
- package/assets/esri/core/workers/chunks/{e95821a199e10b389e29.js → 25f3ee666f545a7a7993.js} +2 -2
- package/assets/esri/core/workers/chunks/{e95821a199e10b389e29.js.LICENSE.txt → 25f3ee666f545a7a7993.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/36ecf951c0c7dad84b69.js +1 -0
- package/assets/esri/core/workers/chunks/37002a46f03a9fc5f644.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/43e2c1d72cd9c8beed2f.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/45a9cd722e98dd1548ae.js +1 -0
- package/assets/esri/core/workers/chunks/4773a358832f87963766.js +1 -0
- package/assets/esri/core/workers/chunks/492515860198f38dd698.js +1 -0
- package/assets/esri/core/workers/chunks/4f6f181ee83b4d484518.js +1 -0
- package/assets/esri/core/workers/chunks/59a45533e96cedf1c480.js +1 -0
- package/assets/esri/core/workers/chunks/{c2aeecd27e004c6cd7e1.js → 5b9f2aa3ba1bf12c3240.js} +2 -2
- package/assets/esri/core/workers/chunks/{c2aeecd27e004c6cd7e1.js.LICENSE.txt → 5b9f2aa3ba1bf12c3240.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/679cd6424e0e2d7f372b.js +1 -0
- package/assets/esri/core/workers/chunks/6be530ab81291745485b.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/73c416ae0ec5a1815591.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{23b623637126f8411a30.js → 7aec07f2482934259d12.js} +1 -1
- package/assets/esri/core/workers/chunks/7bed14d9bcd7fc5e2eec.js +1 -0
- package/assets/esri/core/workers/chunks/{741d170187e58e81584d.js → 7d744554d14057d9b2b1.js} +1 -1
- package/assets/esri/core/workers/chunks/{e85da52d9cc7d9396872.js → 942fad4ec96295672ce8.js} +1 -1
- package/assets/esri/core/workers/chunks/9ccabf8142fb5de4d3e2.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/aeb524eded012217a865.js +1 -0
- package/assets/esri/core/workers/chunks/{ac6f002cfad42e60de8f.js → b48033645091c91e0d88.js} +1 -1
- package/assets/esri/core/workers/chunks/b7960ab9a9da7f88184c.js +1 -0
- package/assets/esri/core/workers/chunks/b8988771bfa4e785ebd6.js +1 -0
- package/assets/esri/core/workers/chunks/{ac83c2999a3d2ffb4356.js → c7838ac0db8570a2d2c1.js} +1 -1
- package/assets/esri/core/workers/chunks/c91ef3814e7f024043cf.js +1 -0
- package/assets/esri/core/workers/chunks/{310f3268582e61cd86da.js → d21480925a8bc9c7de96.js} +1 -1
- package/assets/esri/core/workers/chunks/d75adfd4acb3c92accc9.js +1 -0
- package/assets/esri/core/workers/chunks/d9ca754f51b9812bb179.js +1 -0
- package/assets/esri/core/workers/chunks/d9ef0b3341e2744d8f2f.js +1 -0
- package/assets/esri/core/workers/chunks/e4ba850e8344ac2c5fc0.js +1 -0
- package/assets/esri/core/workers/chunks/e5aac523c37d906eece6.js +1 -0
- package/assets/esri/core/workers/chunks/{f351007cdcd0938d3b6c.js → eeb24a4ab4993f1f4e8e.js} +1 -1
- package/assets/esri/core/workers/chunks/f25bebd2b6eb0d0f6626.js.LICENSE.txt +1 -1
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/assets/esri/libs/text/pkg/bundle_bg.wasm +0 -0
- package/chunks/bundle2.js +5 -0
- package/config.js +1 -1
- package/copyright.txt +70 -1
- package/core/BidiText.js +1 -1
- package/geometry/support/FloatArray.js +1 -1
- package/geometry/support/Indices.js +1 -1
- package/interfaces.d.ts +24 -24
- package/kernel.js +1 -1
- package/layers/BingMapsLayer.d.ts +2 -3
- package/layers/BuildingSceneLayer.d.ts +2 -4
- package/layers/CatalogLayer.d.ts +2 -4
- package/layers/DimensionLayer.d.ts +2 -3
- package/layers/ElevationLayer.d.ts +2 -4
- package/layers/FeatureLayer.d.ts +2 -4
- package/layers/GaussianSplatLayer.d.ts +1 -3
- package/layers/GeoJSONLayer.d.ts +2 -3
- package/layers/GeoRSSLayer.d.ts +2 -3
- package/layers/GroupLayer.d.ts +2 -3
- package/layers/ImageryLayer.d.ts +2 -5
- package/layers/ImageryTileLayer.d.ts +3 -7
- package/layers/IntegratedMesh3DTilesLayer.d.ts +2 -4
- package/layers/IntegratedMeshLayer.d.ts +2 -4
- package/layers/KMLLayer.d.ts +2 -3
- package/layers/KnowledgeGraphLayer.d.ts +2 -4
- package/layers/LineOfSightLayer.d.ts +2 -3
- package/layers/LinkChartLayer.d.ts +2 -3
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/MapImageLayer.d.ts +2 -4
- package/layers/MapNotesLayer.d.ts +2 -3
- package/layers/MediaLayer.d.ts +3 -4
- package/layers/OGCFeatureLayer.d.ts +2 -3
- package/layers/ParquetLayer.d.ts +2 -3
- package/layers/PointCloudLayer.d.ts +2 -4
- package/layers/RouteLayer.d.ts +2 -3
- package/layers/SceneLayer.d.ts +2 -4
- package/layers/StreamLayer.d.ts +2 -4
- package/layers/SubtypeGroupLayer.d.ts +2 -4
- package/layers/TileLayer.d.ts +2 -4
- package/layers/UnknownLayer.d.ts +2 -3
- package/layers/UnsupportedLayer.d.ts +2 -3
- package/layers/VectorTileLayer.d.ts +2 -4
- package/layers/VideoLayer.d.ts +8 -9
- package/layers/ViewshedLayer.d.ts +2 -3
- package/layers/VoxelLayer.d.ts +2 -4
- package/layers/WCSLayer.d.ts +2 -4
- package/layers/WFSLayer.d.ts +2 -3
- package/layers/WMSLayer.d.ts +5 -6
- package/layers/WMTSLayer.d.ts +4 -5
- package/layers/WebTileLayer.d.ts +2 -3
- package/layers/buildingSublayers/BuildingSublayer.d.ts +3 -3
- package/layers/buildingSublayers/BuildingSublayer.js +1 -1
- package/layers/catalog/CatalogDynamicGroupLayer.d.ts +2 -3
- package/layers/catalog/CatalogFootprintLayer.d.ts +2 -3
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +4 -6
- package/layers/{support/media.d.ts → media/types.d.ts} +9 -9
- package/layers/mixins/ArcGISImageService.d.ts +1 -1
- package/layers/mixins/ImageryTileMixin.d.ts +1 -1
- package/layers/raster/datasets/wcsCoverageParser.d.ts +1 -1
- package/layers/raster/functions/creators/createLocalFunctions.d.ts +1 -1
- package/layers/raster/functions/types.d.ts +1 -1
- package/layers/{support/RasterTypes.d.ts → raster/types.d.ts} +2 -2
- package/layers/support/ElevationQuery.d.ts +2 -2
- package/layers/support/FeatureType.d.ts +2 -2
- package/layers/support/Field.d.ts +2 -3
- package/layers/support/FieldConfiguration.d.ts +1 -1
- package/layers/support/ImageElement.d.ts +3 -3
- package/layers/support/LocalMediaElementSource.d.ts +1 -1
- package/layers/support/MediaElementBase.d.ts +4 -7
- package/layers/support/PixelBlock.d.ts +1 -1
- package/layers/support/RasterFunction.d.ts +1 -1
- package/layers/support/RasterInfo.d.ts +1 -1
- package/layers/support/Sublayer.d.ts +2 -3
- package/layers/support/Subtype.d.ts +2 -2
- package/layers/support/SubtypeSublayer.d.ts +2 -3
- package/layers/support/VideoElement.d.ts +2 -2
- package/layers/support/WMSSublayer.d.ts +6 -6
- package/layers/support/WMSSublayer.js +1 -1
- package/layers/support/domains.js +1 -1
- package/layers/support/rasterFunctionUtils.d.ts +1 -1
- package/layers/support/tiles3DUtils.js +1 -1
- package/layers/support/types.d.ts +33 -1
- package/layers/types.d.ts +17 -2
- package/layers/wmts/types.d.ts +2 -0
- package/libs/text/loadTextModule.js +5 -0
- package/linkChart/LinkChartProperties.d.ts +4 -6
- package/linkChart/LinkChartProperties.js +1 -1
- package/networks/Network.d.ts +2 -4
- package/networks/support/NamedTraceConfiguration.d.ts +3 -3
- package/networks/support/NamedTraceConfiguration.js +1 -1
- package/package.json +2 -2
- package/popup/FieldInfo.d.ts +1 -1
- package/request/process.js +1 -1
- package/rest/geometryService/types.d.ts +59 -0
- package/rest/geometryService.d.ts +3 -5
- package/rest/query/operations/query.js +1 -1
- package/rest/query/support/AttachmentInfo.d.ts +2 -2
- package/rest/support/AlgorithmicColorRamp.d.ts +2 -2
- package/rest/support/BinParametersBase.d.ts +2 -2
- package/rest/support/BinParametersBase.js +1 -1
- package/rest/support/DateBinTimeInterval.d.ts +1 -1
- package/rest/support/GeneralizeParameters.d.ts +1 -1
- package/rest/support/ImageSampleParameters.d.ts +1 -1
- package/rest/support/PrintTemplate.d.ts +4 -6
- package/rest/support/types.d.ts +17 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/WebStyleSymbol.d.ts +0 -24
- package/symbols/WebStyleSymbol.js +1 -1
- package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
- package/views/2d/engine/webgl/GlyphSDFCreator.js +5 -0
- package/views/2d/engine/webgl/GlyphSource.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/definitions.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/BaseLayerView2D.d.ts +3 -6
- package/views/2d/layers/BaseLayerViewGL2D.d.ts +3 -6
- package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
- package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeProcessingWorker.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeWorkerHandle.js +1 -1
- package/views/VideoView.d.ts +2 -3
- package/views/View2D.d.ts +2 -3
- package/views/layers/MediaLayerViewMixin.d.ts +1 -1
- package/views/types.d.ts +1 -1
- package/webdoc/applicationProperties/SearchLayerField.d.ts +1 -1
- package/webdoc/applicationProperties/SearchTableField.d.ts +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
- package/widgets/Editor/components/PendingFeatureList.js +1 -1
- package/widgets/Editor/components/workflowAdapters/pendingFeatureList/{CreateFeaturesWorkflowPendingFeatureListAdapter.ts.js → CreateFeaturesWorkflowPendingFeatureListAdapter.js} +1 -1
- package/widgets/Editor/types.d.ts +1 -1
- package/widgets/Feature.d.ts +3 -5
- package/widgets/FeatureForm/FieldInput.d.ts +2 -2
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +1 -1
- package/widgets/FeatureTemplates/TemplateItem.d.ts +1 -1
- package/widgets/FeatureTemplates/types.d.ts +1 -1
- package/widgets/Features.d.ts +3 -5
- package/widgets/Print/CustomTemplate.d.ts +3 -4
- package/widgets/Print/TemplateOptions.d.ts +3 -4
- package/widgets/Print/types.d.ts +3 -4
- package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +1 -1
- package/assets/esri/core/workers/chunks/0099f4729c94c779ba35.js +0 -1
- package/assets/esri/core/workers/chunks/1ab98591d2f2bc604505.js +0 -1
- package/assets/esri/core/workers/chunks/1b838638e66e82d76cf3.js +0 -1
- package/assets/esri/core/workers/chunks/2a6231db5ee6cbfd59a5.js +0 -1
- package/assets/esri/core/workers/chunks/45b898367b6224dda46f.js +0 -1
- package/assets/esri/core/workers/chunks/4785cd108e2dec6e1697.js +0 -1
- package/assets/esri/core/workers/chunks/4d6d962d25aa836f53ee.js +0 -1
- package/assets/esri/core/workers/chunks/5909a0e763fddc3542e7.js +0 -2
- package/assets/esri/core/workers/chunks/5cee6c3ff23fb93f857a.js +0 -1
- package/assets/esri/core/workers/chunks/6035daa65fc3ebf86515.js +0 -1
- package/assets/esri/core/workers/chunks/7033fa18b7dd7bd3e49c.js +0 -1
- package/assets/esri/core/workers/chunks/7306b5b66e738a281d83.js +0 -1
- package/assets/esri/core/workers/chunks/7694abe44d55dae8872d.js +0 -1
- package/assets/esri/core/workers/chunks/964de713042f52d71e42.js +0 -1
- package/assets/esri/core/workers/chunks/ad92427bf597a6e0a299.js +0 -1
- package/assets/esri/core/workers/chunks/b285de471ca90f38ec25.js +0 -1
- package/assets/esri/core/workers/chunks/b8f83a272fc41765031d.js +0 -1
- package/assets/esri/core/workers/chunks/bcf612eabe7577540953.js +0 -1
- package/assets/esri/core/workers/chunks/c02b09f16241db233103.js +0 -1
- package/assets/esri/core/workers/chunks/c3007b916ba933137709.js +0 -1
- package/assets/esri/core/workers/chunks/cc5c1887e6d7079e5fe3.js +0 -1
- package/assets/esri/core/workers/chunks/ce8f075c814a8378c00c.js +0 -1
- package/assets/esri/core/workers/chunks/cfe1506a443fc84a0b91.js +0 -1
- package/assets/esri/core/workers/chunks/d723619579cc8f5ef2cd.js +0 -1
- package/assets/esri/core/workers/chunks/e69255e38ff200dda14b.js +0 -1
- package/core/MultiOriginJSONSupport.d.ts +0 -13
- package/core/NumericIdentifiable.d.ts +0 -6
- package/core/ReadOnlyMultiOriginJSONSupport.d.ts +0 -6
- package/core/WriteableMultiOriginJSONMixin.d.ts +0 -6
- package/layers/knowledgeGraph/KnowledgeGraphSublayerBase.d.ts +0 -6
- package/layers/mixins/ArcGISService.d.ts +0 -6
- package/layers/mixins/RasterJobHandlerMixin.d.ts +0 -6
- package/layers/support/RasterFunctionProperties.d.ts +0 -2
- package/layers/support/domains.d.ts +0 -5
- package/layers/support/editableLayers.d.ts +0 -11
- package/layers/support/exifUtils.d.ts +0 -21
- package/layers/support/fieldFormatUtils.d.ts +0 -4
- package/layers/support/fieldType.d.ts +0 -2
- package/layers/support/layerUtils.d.ts +0 -4
- package/layers/support/wmtsUtils.d.ts +0 -2
- package/layers/video/videoUtils.d.ts +0 -5
- package/rest/geometryService/cut.d.ts +0 -7
- package/rest/geometryService/fromGeoCoordinateString.d.ts +0 -28
- package/rest/geometryService/toGeoCoordinateString.d.ts +0 -25
- package/rest/operations/generalize.d.ts +0 -3
- package/rest/support/DateBinUtils.d.ts +0 -2
- package/rest/support/colorRamps.d.ts +0 -6
- package/rest/support/fileFormat.d.ts +0 -4
- package/rest/support/layoutTemplate.d.ts +0 -2
- package/rest/support/reportTemplate.d.ts +0 -2
- package/views/2d/layers/LayerView2D.d.ts +0 -6
- package/views/Viewport2DBaseMixin.d.ts +0 -6
- package/views/layers/RefreshableLayerView.d.ts +0 -6
- package/widgets/Feature/support/FeatureContentMixin.d.ts +0 -6
- /package/layers/video/{IVideoController.d.ts → types.d.ts} +0 -0
- /package/layers/{support/wmsUtils.d.ts → wms/types.d.ts} +0 -0
|
@@ -2,12 +2,11 @@ import type ViewshedAnalysis from "../analysis/ViewshedAnalysis.js";
|
|
|
2
2
|
import type Extent from "../geometry/Extent.js";
|
|
3
3
|
import type SpatialReference from "../geometry/SpatialReference.js";
|
|
4
4
|
import type Layer from "./Layer.js";
|
|
5
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../core/MultiOriginJSONSupport.js";
|
|
6
5
|
import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js";
|
|
7
6
|
import type { ViewshedAnalysisProperties } from "../analysis/ViewshedAnalysis.js";
|
|
8
7
|
import type { LayerProperties } from "./Layer.js";
|
|
9
8
|
|
|
10
|
-
export interface ViewshedLayerProperties extends LayerProperties,
|
|
9
|
+
export interface ViewshedLayerProperties extends LayerProperties, OperationalLayerProperties {
|
|
11
10
|
/**
|
|
12
11
|
* The [ViewshedAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-ViewshedAnalysis.html) associated with the layer that stores the viewsheds.
|
|
13
12
|
* Assigning a null value will create a new empty analysis.
|
|
@@ -130,4 +129,4 @@ export default class ViewshedLayer extends ViewshedLayerSuperclass {
|
|
|
130
129
|
*/
|
|
131
130
|
get type(): "viewshed";
|
|
132
131
|
}
|
|
133
|
-
declare const ViewshedLayerSuperclass: typeof Layer & typeof
|
|
132
|
+
declare const ViewshedLayerSuperclass: typeof Layer & typeof OperationalLayer
|
package/layers/VoxelLayer.d.ts
CHANGED
|
@@ -10,9 +10,7 @@ import type VoxelVolume from "./voxel/VoxelVolume.js";
|
|
|
10
10
|
import type VoxelVolumeStyle from "./voxel/VoxelVolumeStyle.js";
|
|
11
11
|
import type TimeExtent from "../time/TimeExtent.js";
|
|
12
12
|
import type TimeInterval from "../time/TimeInterval.js";
|
|
13
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../core/MultiOriginJSONSupport.js";
|
|
14
13
|
import type { APIKeyMixin, APIKeyMixinProperties } from "./mixins/APIKeyMixin.js";
|
|
15
|
-
import type { ArcGISService, ArcGISServiceProperties } from "./mixins/ArcGISService.js";
|
|
16
14
|
import type { CustomParametersMixin, CustomParametersMixinProperties } from "./mixins/CustomParametersMixin.js";
|
|
17
15
|
import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js";
|
|
18
16
|
import type { PortalLayer, PortalLayerProperties } from "./mixins/PortalLayer.js";
|
|
@@ -27,7 +25,7 @@ import type { TimeExtentProperties } from "../time/TimeExtent.js";
|
|
|
27
25
|
import type { TimeIntervalProperties } from "../time/TimeInterval.js";
|
|
28
26
|
import type { LayerProperties } from "./Layer.js";
|
|
29
27
|
|
|
30
|
-
export interface VoxelLayerProperties extends LayerProperties, APIKeyMixinProperties, CustomParametersMixinProperties,
|
|
28
|
+
export interface VoxelLayerProperties extends LayerProperties, APIKeyMixinProperties, CustomParametersMixinProperties, ScaleRangeLayerProperties, PortalLayerProperties, OperationalLayerProperties, SceneServiceProperties, Partial<Pick<VoxelLayer, "currentVariableId" | "enableDynamicSections" | "enableIsosurfaces" | "enableSlices" | "legendEnabled" | "popupEnabled" | "renderMode" | "useViewTime">> {
|
|
31
29
|
/**
|
|
32
30
|
* The popup template for the layer. When set on the layer, the popupTemplate
|
|
33
31
|
* allows users to access attributes and display their values using text and/or charts
|
|
@@ -655,4 +653,4 @@ export default class VoxelLayer extends VoxelLayerSuperclass {
|
|
|
655
653
|
*/
|
|
656
654
|
getVolumeStyle(variableId: number | null | undefined): VoxelVolumeStyle | null | undefined;
|
|
657
655
|
}
|
|
658
|
-
declare const VoxelLayerSuperclass: typeof Layer & typeof APIKeyMixin & typeof CustomParametersMixin & typeof
|
|
656
|
+
declare const VoxelLayerSuperclass: typeof Layer & typeof APIKeyMixin & typeof CustomParametersMixin & typeof ScaleRangeLayer & typeof PortalLayer & typeof OperationalLayer & typeof SceneService
|
package/layers/WCSLayer.d.ts
CHANGED
|
@@ -3,13 +3,11 @@ import type Layer from "./Layer.js";
|
|
|
3
3
|
import type Field from "./support/Field.js";
|
|
4
4
|
import type PortalItem from "../portal/PortalItem.js";
|
|
5
5
|
import type { ClonableMixin, ClonableMixinProperties } from "../core/Clonable.js";
|
|
6
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../core/MultiOriginJSONSupport.js";
|
|
7
6
|
import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js";
|
|
8
7
|
import type { CustomParametersMixin, CustomParameters, CustomParametersMixinProperties } from "./mixins/CustomParametersMixin.js";
|
|
9
8
|
import type { ImageryTileMixin, ImageryTileMixinProperties } from "./mixins/ImageryTileMixin.js";
|
|
10
9
|
import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js";
|
|
11
10
|
import type { PortalLayer, PortalLayerProperties } from "./mixins/PortalLayer.js";
|
|
12
|
-
import type { RasterJobHandlerMixin, RasterJobHandlerMixinProperties } from "./mixins/RasterJobHandlerMixin.js";
|
|
13
11
|
import type { RefreshableLayer, RefreshableLayerProperties } from "./mixins/RefreshableLayer.js";
|
|
14
12
|
import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
|
|
15
13
|
import type { TemporalLayer, TemporalLayerProperties } from "./mixins/TemporalLayer.js";
|
|
@@ -29,7 +27,7 @@ import type { CreatePopupTemplateOptions } from "../support/popupUtils.js";
|
|
|
29
27
|
import type { PopupTemplateProperties } from "../PopupTemplate.js";
|
|
30
28
|
import type { LayerProperties } from "./Layer.js";
|
|
31
29
|
|
|
32
|
-
export interface WCSLayerProperties extends LayerProperties, ClonableMixinProperties,
|
|
30
|
+
export interface WCSLayerProperties extends LayerProperties, ClonableMixinProperties, RefreshableLayerProperties, TemporalLayerProperties, ImageryTileMixinProperties, CustomParametersMixinProperties, PortalLayerProperties, OperationalLayerProperties, ScaleRangeLayerProperties, BlendLayerProperties, Partial<Pick<WCSLayer, "coverageId" | "noData" | "popupEnabled" | "url" | "version">> {
|
|
33
31
|
/**
|
|
34
32
|
* Use this property to append custom parameters to all WCS requests.
|
|
35
33
|
* The custom parameters are applied to `GetCapabilities`, `DescribeCoverage`, `GetCoverage`
|
|
@@ -262,4 +260,4 @@ export default class WCSLayer extends WCSLayerSuperclass {
|
|
|
262
260
|
*/
|
|
263
261
|
saveAs(portalItem: PortalItemProperties, options?: SaveAsOptions): Promise<PortalItem>;
|
|
264
262
|
}
|
|
265
|
-
declare const WCSLayerSuperclass: typeof Layer & typeof ClonableMixin & typeof
|
|
263
|
+
declare const WCSLayerSuperclass: typeof Layer & typeof ClonableMixin & typeof RefreshableLayer & typeof TemporalLayer & typeof ImageryTileMixin & typeof CustomParametersMixin & typeof PortalLayer & typeof OperationalLayer & typeof ScaleRangeLayer & typeof BlendLayer
|
package/layers/WFSLayer.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ import type AttributeBinsFeatureSet from "../rest/support/AttributeBinsFeatureSe
|
|
|
10
10
|
import type FeatureSet from "../rest/support/FeatureSet.js";
|
|
11
11
|
import type Query from "../rest/support/Query.js";
|
|
12
12
|
import type ElevationInfo from "../symbols/support/ElevationInfo.js";
|
|
13
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../core/MultiOriginJSONSupport.js";
|
|
14
13
|
import type { FeatureGeometryType } from "../geometry/types.js";
|
|
15
14
|
import type { FeatureLayerCapabilities } from "./types.js";
|
|
16
15
|
import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js";
|
|
@@ -48,7 +47,7 @@ import type { SimpleRendererProperties } from "../renderers/SimpleRenderer.js";
|
|
|
48
47
|
import type { SpatialReferenceProperties } from "../geometry/SpatialReference.js";
|
|
49
48
|
import type { LayerProperties } from "./Layer.js";
|
|
50
49
|
|
|
51
|
-
export interface WFSLayerProperties extends LayerProperties,
|
|
50
|
+
export interface WFSLayerProperties extends LayerProperties, PortalLayerProperties, OperationalLayerProperties, ScaleRangeLayerProperties, RefreshableLayerProperties, TrackableLayerProperties, TemporalLayerProperties, BlendLayerProperties, FeatureEffectLayerProperties, FeatureReductionLayerProperties, CustomParametersMixinProperties, DisplayFilteredLayerProperties, OrderedLayerProperties, Partial<Pick<WFSLayer, "copyright" | "definitionExpression" | "displayField" | "geometryType" | "labelsVisible" | "legendEnabled" | "maxPageCount" | "maxRecordCount" | "name" | "namespaceUri" | "objectIdField" | "outFields" | "popupEnabled" | "screenSizePerspectiveEnabled" | "url" | "wfsCapabilities">> {
|
|
52
51
|
/**
|
|
53
52
|
* A list of custom parameters appended to the URL of all resources fetched by the layer.
|
|
54
53
|
* It's an object with key-value pairs where value is a string.
|
|
@@ -847,4 +846,4 @@ export default class WFSLayer extends WFSLayerSuperclass {
|
|
|
847
846
|
*/
|
|
848
847
|
queryObjectIds(query?: QueryProperties | null | undefined, options?: RequestOptions): Promise<number[]>;
|
|
849
848
|
}
|
|
850
|
-
declare const WFSLayerSuperclass: typeof Layer & typeof
|
|
849
|
+
declare const WFSLayerSuperclass: typeof Layer & typeof PortalLayer & typeof OperationalLayer & typeof ScaleRangeLayer & typeof RefreshableLayer & typeof TrackableLayer & typeof TemporalLayer & typeof BlendLayer & typeof FeatureEffectLayer & typeof FeatureReductionLayer & typeof CustomParametersMixin & typeof DisplayFilteredLayer & typeof OrderedLayer
|
package/layers/WMSLayer.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ import type WMSSublayer from "./support/WMSSublayer.js";
|
|
|
8
8
|
import type TimeExtent from "../time/TimeExtent.js";
|
|
9
9
|
import type TimeInterval from "../time/TimeInterval.js";
|
|
10
10
|
import type { ReadonlyCollection, ReadonlyArrayOrCollection } from "../core/Collection.js";
|
|
11
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../core/MultiOriginJSONSupport.js";
|
|
12
11
|
import type { AbortOptions } from "../core/promiseUtils.js";
|
|
13
12
|
import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js";
|
|
14
13
|
import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js";
|
|
@@ -17,7 +16,7 @@ import type { RefreshableLayer, RefreshableLayerEvents, RefreshableLayerProperti
|
|
|
17
16
|
import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
|
|
18
17
|
import type { TemporalLayer, TemporalLayerProperties } from "./mixins/TemporalLayer.js";
|
|
19
18
|
import type { TimeInfoProperties } from "./support/TimeInfo.js";
|
|
20
|
-
import type { WMSDimension } from "./
|
|
19
|
+
import type { WMSDimension } from "./wms/types.js";
|
|
21
20
|
import type { TimeExtentProperties } from "../time/TimeExtent.js";
|
|
22
21
|
import type { TimeIntervalProperties } from "../time/TimeInterval.js";
|
|
23
22
|
import type { ExtentProperties } from "../geometry/Extent.js";
|
|
@@ -25,7 +24,7 @@ import type { SpatialReferenceProperties } from "../geometry/SpatialReference.js
|
|
|
25
24
|
import type { WMSSublayerProperties } from "./support/WMSSublayer.js";
|
|
26
25
|
import type { LayerProperties } from "./Layer.js";
|
|
27
26
|
|
|
28
|
-
export interface WMSLayerProperties extends LayerProperties,
|
|
27
|
+
export interface WMSLayerProperties extends LayerProperties, PortalLayerProperties, OperationalLayerProperties, ScaleRangeLayerProperties, RefreshableLayerProperties, TemporalLayerProperties, BlendLayerProperties, Partial<Pick<WMSLayer, "copyright" | "customLayerParameters" | "customParameters" | "description" | "featureInfoFormat" | "featureInfoUrl" | "fetchFeatureInfoFunction" | "imageFormat" | "imageMaxHeight" | "imageMaxWidth" | "imageTransparency" | "legendEnabled" | "spatialReferences" | "url" | "version">> {
|
|
29
28
|
/** All bounding boxes defined for the layer. */
|
|
30
29
|
fullExtents?: ExtentProperties[] | null;
|
|
31
30
|
/** The spatial reference of the layer. */
|
|
@@ -357,7 +356,7 @@ export default class WMSLayer extends WMSLayerSuperclass {
|
|
|
357
356
|
accessor description: string | null | undefined;
|
|
358
357
|
/**
|
|
359
358
|
* An array of time, elevation and other dimensions for the root layer.
|
|
360
|
-
* Information from a
|
|
359
|
+
* Information from a {@link layers/support/wmsUtils!TimeDimension} can be used to update [View#timeExtent](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View.html#timeExtent),
|
|
361
360
|
* [timeExtent](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WMSLayer.html#timeExtent), or to configure a [TimeSlider](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html) widget.
|
|
362
361
|
*
|
|
363
362
|
* A WMSLayer or [WMSSublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-WMSSublayer.html) can only have one time dimension. The following example shows how to find the
|
|
@@ -372,7 +371,7 @@ export default class WMSLayer extends WMSLayerSuperclass {
|
|
|
372
371
|
* ```
|
|
373
372
|
*
|
|
374
373
|
* Data can exist at specific times or time ranges. We can access this information from the `extent` property of the
|
|
375
|
-
*
|
|
374
|
+
* {@link layers/support/wmsUtils!TimeDimension} as either an array of discrete dates or {@link layers/support/wmsUtils!DimensionInterval}s.
|
|
376
375
|
* For example, continuing from the previous example, a [TimeSlider](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-TimeSlider.html) is configured using the extent from a TimeDimension.
|
|
377
376
|
*
|
|
378
377
|
* ```js
|
|
@@ -848,7 +847,7 @@ export default class WMSLayer extends WMSLayerSuperclass {
|
|
|
848
847
|
*/
|
|
849
848
|
findSublayerByName(name: string): WMSSublayer | null | undefined;
|
|
850
849
|
}
|
|
851
|
-
declare const WMSLayerSuperclass: typeof Layer & typeof
|
|
850
|
+
declare const WMSLayerSuperclass: typeof Layer & typeof PortalLayer & typeof OperationalLayer & typeof ScaleRangeLayer & typeof RefreshableLayer & typeof TemporalLayer & typeof BlendLayer
|
|
852
851
|
|
|
853
852
|
export interface WMSLayerFetchImageOptions extends AbortOptions {
|
|
854
853
|
/** The ratio of the resolution in physical pixels of the image to the resolution it will be displayed at. */
|
package/layers/WMTSLayer.d.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import type Collection from "../core/Collection.js";
|
|
2
2
|
import type Layer from "./Layer.js";
|
|
3
3
|
import type WMTSSublayer from "./support/WMTSSublayer.js";
|
|
4
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../core/MultiOriginJSONSupport.js";
|
|
5
4
|
import type { AbortOptions } from "../core/promiseUtils.js";
|
|
6
5
|
import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js";
|
|
7
6
|
import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js";
|
|
8
7
|
import type { PortalLayer, PortalLayerProperties } from "./mixins/PortalLayer.js";
|
|
9
8
|
import type { RefreshableLayer, RefreshableLayerProperties } from "./mixins/RefreshableLayer.js";
|
|
10
9
|
import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
|
|
11
|
-
import type {
|
|
10
|
+
import type { WMTSLayerServiceMode } from "./wmts/types.js";
|
|
12
11
|
import type { WMTSSublayerProperties } from "./support/WMTSSublayer.js";
|
|
13
12
|
import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
|
|
14
13
|
import type { LayerProperties } from "./Layer.js";
|
|
15
14
|
|
|
16
|
-
export interface WMTSLayerProperties extends LayerProperties,
|
|
15
|
+
export interface WMTSLayerProperties extends LayerProperties, PortalLayerProperties, OperationalLayerProperties, ScaleRangeLayerProperties, RefreshableLayerProperties, BlendLayerProperties, Partial<Pick<WMTSLayer, "copyright" | "customLayerParameters" | "customParameters" | "serviceMode" | "url" | "version">> {
|
|
17
16
|
/** Currently active sublayer. Defaults to the first sublayer in [sublayers](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-WMTSLayer.html#sublayers). */
|
|
18
17
|
activeLayer?: WMTSSublayerProperties;
|
|
19
18
|
/** A collection of [WMTSSublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-WMTSSublayer.html) objects. */
|
|
@@ -68,7 +67,7 @@ export default class WMTSLayer extends WMTSLayerSuperclass {
|
|
|
68
67
|
*
|
|
69
68
|
* @default "RESTful"
|
|
70
69
|
*/
|
|
71
|
-
accessor serviceMode:
|
|
70
|
+
accessor serviceMode: WMTSLayerServiceMode;
|
|
72
71
|
/** A collection of [WMTSSublayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-WMTSSublayer.html) objects. */
|
|
73
72
|
get sublayers(): Collection<WMTSSublayer> | null | undefined;
|
|
74
73
|
set sublayers(value: ReadonlyArrayOrCollection<WMTSSublayerProperties> | null | undefined);
|
|
@@ -109,4 +108,4 @@ export default class WMTSLayer extends WMTSLayerSuperclass {
|
|
|
109
108
|
*/
|
|
110
109
|
findSublayerById(id: string): WMTSSublayer | null | undefined;
|
|
111
110
|
}
|
|
112
|
-
declare const WMTSLayerSuperclass: typeof Layer & typeof
|
|
111
|
+
declare const WMTSLayerSuperclass: typeof Layer & typeof PortalLayer & typeof OperationalLayer & typeof ScaleRangeLayer & typeof RefreshableLayer & typeof BlendLayer
|
package/layers/WebTileLayer.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type SpatialReference from "../geometry/SpatialReference.js";
|
|
2
2
|
import type Layer from "./Layer.js";
|
|
3
3
|
import type TileInfo from "./support/TileInfo.js";
|
|
4
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../core/MultiOriginJSONSupport.js";
|
|
5
4
|
import type { AbortOptions } from "../core/promiseUtils.js";
|
|
6
5
|
import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js";
|
|
7
6
|
import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js";
|
|
@@ -11,7 +10,7 @@ import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleR
|
|
|
11
10
|
import type { TileInfoProperties } from "./support/TileInfo.js";
|
|
12
11
|
import type { LayerProperties } from "./Layer.js";
|
|
13
12
|
|
|
14
|
-
export interface WebTileLayerProperties extends LayerProperties,
|
|
13
|
+
export interface WebTileLayerProperties extends LayerProperties, PortalLayerProperties, OperationalLayerProperties, ScaleRangeLayerProperties, RefreshableLayerProperties, BlendLayerProperties, Partial<Pick<WebTileLayer, "copyright" | "subDomains" | "urlTemplate">> {
|
|
15
14
|
/** The tiling scheme information for the layer. */
|
|
16
15
|
tileInfo?: TileInfoProperties;
|
|
17
16
|
}
|
|
@@ -137,4 +136,4 @@ export default class WebTileLayer extends WebTileLayerSuperclass {
|
|
|
137
136
|
*/
|
|
138
137
|
getTileUrl(level: number, row: number, col: number): string;
|
|
139
138
|
}
|
|
140
|
-
declare const WebTileLayerSuperclass: typeof Layer & typeof
|
|
139
|
+
declare const WebTileLayerSuperclass: typeof Layer & typeof PortalLayer & typeof OperationalLayer & typeof ScaleRangeLayer & typeof RefreshableLayer & typeof BlendLayer
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type Accessor from "../../core/Accessor.js";
|
|
1
2
|
import type { IdentifiableMixin, IdentifiableMixinProperties } from "../../core/Identifiable.js";
|
|
2
|
-
import type { MultiOriginJSONSupport, MultiOriginJSONMixinProperties } from "../../core/MultiOriginJSONSupport.js";
|
|
3
3
|
|
|
4
|
-
export interface BuildingSublayerProperties extends
|
|
4
|
+
export interface BuildingSublayerProperties extends IdentifiableMixinProperties, Partial<Pick<BuildingSublayer, "opacity" | "title" | "visible">> {}
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* BuildingSublayer is the base class for sublayers of a BuildingSceneLayer.
|
|
@@ -62,4 +62,4 @@ export default class BuildingSublayer extends BuildingSublayerSuperclass {
|
|
|
62
62
|
*/
|
|
63
63
|
accessor visible: boolean;
|
|
64
64
|
}
|
|
65
|
-
declare const BuildingSublayerSuperclass: typeof
|
|
65
|
+
declare const BuildingSublayerSuperclass: typeof Accessor & typeof IdentifiableMixin
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{IdentifiableMixin as
|
|
5
|
+
import{__decorate as e}from"tslib";import o from"../../core/Accessor.js";import{IdentifiableMixin as r}from"../../core/Identifiable.js";import{MultiOriginJSONMixin as t}from"../../core/MultiOriginJSONSupport.js";import{property as i,subclass as s}from"../../core/accessorSupport/decorators.js";import{Integer as p}from"../../core/accessorSupport/ensureType.js";import{readOnlyService as l}from"../support/commonProperties.js";import{reader as n}from"../../core/accessorSupport/decorators/reader.js";let a=class extends(r(t(o))){constructor(e){super(e),this.title="",this.id=-1,this.modelName=null,this.isEmpty=null,this.legendEnabled=!0,this.visible=!0,this.opacity=1}readTitle(e,o){return"string"==typeof o.alias?o.alias:"string"==typeof o.name?o.name:""}readIdOnlyOnce(e){return-1!==this.id?this.id:"number"==typeof e?e:-1}};e([i({type:String,json:{origins:{"web-scene":{write:!0},"portal-item":{write:!0}}}})],a.prototype,"title",void 0),e([n("service","title",["alias","name"])],a.prototype,"readTitle",null),e([i()],a.prototype,"layer",void 0),e([i({type:p,readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,isRequired:!0}}})],a.prototype,"id",void 0),e([n("service","id")],a.prototype,"readIdOnlyOnce",null),e([i(l(String))],a.prototype,"modelName",void 0),e([i(l(Boolean))],a.prototype,"isEmpty",void 0),e([i({type:Boolean,nonNullable:!0})],a.prototype,"legendEnabled",void 0),e([i({type:Boolean,json:{name:"visibility",write:!0}})],a.prototype,"visible",void 0),e([i({type:Number,json:{write:!0}})],a.prototype,"opacity",void 0),a=e([s("esri.layers.buildingSublayers.BuildingSublayer")],a);export{a as default};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type Collection from "../../core/Collection.js";
|
|
2
2
|
import type Layer from "../Layer.js";
|
|
3
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../../core/MultiOriginJSONSupport.js";
|
|
4
3
|
import type { BlendLayer, BlendLayerProperties } from "../mixins/BlendLayer.js";
|
|
5
4
|
import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "../mixins/ScaleRangeLayer.js";
|
|
6
5
|
import type { LayerProperties } from "../Layer.js";
|
|
7
6
|
|
|
8
|
-
export interface CatalogDynamicGroupLayerProperties extends LayerProperties,
|
|
7
|
+
export interface CatalogDynamicGroupLayerProperties extends LayerProperties, BlendLayerProperties, ScaleRangeLayerProperties, Partial<Pick<CatalogDynamicGroupLayer, "legendEnabled" | "maximumVisibleSublayers">> {}
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
10
|
* CatalogDynamicGroupLayer is a sublayer of the [CatalogLayer](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-CatalogLayer.html) that displays catalog items (layers) in the current view.
|
|
@@ -58,4 +57,4 @@ export default class CatalogDynamicGroupLayer extends CatalogDynamicGroupLayerSu
|
|
|
58
57
|
*/
|
|
59
58
|
get type(): "catalog-dynamic-group";
|
|
60
59
|
}
|
|
61
|
-
declare const CatalogDynamicGroupLayerSuperclass: typeof Layer & typeof
|
|
60
|
+
declare const CatalogDynamicGroupLayerSuperclass: typeof Layer & typeof BlendLayer & typeof ScaleRangeLayer
|
|
@@ -16,7 +16,6 @@ import type Query from "../../rest/support/Query.js";
|
|
|
16
16
|
import type ElevationInfo from "../../symbols/support/ElevationInfo.js";
|
|
17
17
|
import type TimeExtent from "../../time/TimeExtent.js";
|
|
18
18
|
import type TimeInterval from "../../time/TimeInterval.js";
|
|
19
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../../core/MultiOriginJSONSupport.js";
|
|
20
19
|
import type { FeatureLayerCapabilities } from "../types.js";
|
|
21
20
|
import type { BlendLayer, BlendLayerProperties } from "../mixins/BlendLayer.js";
|
|
22
21
|
import type { CustomParameters } from "../mixins/CustomParametersMixin.js";
|
|
@@ -42,7 +41,7 @@ import type { ClassBreaksRendererProperties } from "../../renderers/ClassBreaksR
|
|
|
42
41
|
import type { SimpleRendererProperties } from "../../renderers/SimpleRenderer.js";
|
|
43
42
|
import type { LayerProperties } from "../Layer.js";
|
|
44
43
|
|
|
45
|
-
export interface CatalogFootprintLayerProperties extends LayerProperties,
|
|
44
|
+
export interface CatalogFootprintLayerProperties extends LayerProperties, BlendLayerProperties, FeatureEffectLayerProperties, ScaleRangeLayerProperties, Partial<Pick<CatalogFootprintLayer, "charts" | "labelsVisible" | "legendEnabled" | "popupEnabled">> {
|
|
46
45
|
/**
|
|
47
46
|
* Specifies how features are placed on the vertical axis (z). This property may only be used
|
|
48
47
|
* in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/)
|
|
@@ -705,4 +704,4 @@ export default class CatalogFootprintLayer extends CatalogFootprintLayerSupercla
|
|
|
705
704
|
*/
|
|
706
705
|
queryObjectIds(query?: QueryProperties | null | undefined, options?: RequestOptions): Promise<ObjectId[]>;
|
|
707
706
|
}
|
|
708
|
-
declare const CatalogFootprintLayerSuperclass: typeof Layer & typeof
|
|
707
|
+
declare const CatalogFootprintLayerSuperclass: typeof Layer & typeof BlendLayer & typeof FeatureEffectLayer & typeof ScaleRangeLayer
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{clone as e}from"../../../core/lang.js";import{polygonCentroid as t,extentCentroid as i}from"../../../geometry/support/centroid.js";import{getPolygonExtent as s,getGeometryExtent as a}from"../../../geometry/support/extentUtils.js";import{toQuantizationTransform as r}from"../../../geometry/support/quantizationUtils.js";import{isValid as n,equals as o}from"../../../geometry/support/spatialReferenceUtils.js";import{closestPointOnCurve as l}from"../../../geometry/support/curves/closestPointOnCurve.js";import{getEndpoint as u}from"../../../geometry/support/curves/curveUtils.js";import c from"./AttributesBuilder.js";import{cleanFromGeometryEngine as m,getGeometry as d,transformCentroid as f}from"./geometryUtils.js";import{project as p}from"./projectionSupport.js";import{getDateInNumber as h}from"./queryUtils.js";import{SnappingCandidateEdge as y,SnappingCandidateVertex as g}from"./SnappingCandidate.js";import{isDateField as x,isDateOnlyField as T,isTimestampOffsetField as F,isStringField as I,isTimeOnlyField as _}from"../../support/fieldUtils.js";import v from"../../../rest/support/AutoIntervalBinParameters.js";import S from"../../../rest/support/DateBinParameters.js";import{unitsDict as V}from"../../../rest/support/DateBinUtils.js";import b from"../../../rest/support/FixedBoundariesBinParameters.js";import R from"../../../rest/support/FixedIntervalBinParameters.js";import{isNullCountSupported as z,calculateStringStatistics as B,calculateStatistics as M,processSummaryStatisticsResult as A,calculateUniqueValuesCount as w,createUVResult as N,calculateClassBreaks as P,resolveCBResult as D,calculateHistogram as q,getAttributeComparator as j,calculatePercentile as C,binIndex as Z,getBinParams as G}from"../../../statistics/utils.js";import{utc as O}from"../../../time/constants.js";import{DateTime as E}from"luxon";const H="bin";class U{constructor(e,t,i){this.items=e,this.query=t,this.geometryType=i.geometryType,this.hasM=i.hasM,this.hasZ=i.hasZ,this.fieldsIndex=i.fieldsIndex,this.objectIdField=i.objectIdField,this.spatialReference=i.spatialReference,this.featureAdapter=i.featureAdapter}get size(){return this.items.length}createQueryResponseForCount(){const e=new c(this.query,this.featureAdapter,this.fieldsIndex);if(!this.query.outStatistics)return e.countDistinctValues(this.items);const{groupByFieldsForStatistics:t,having:i,outStatistics:s}=this.query,a=t?.length;if(!!!a)return 1;const r=new Map,n=new Map,o=new Set;for(const l of s){const{statisticType:s}=l,a="exceedslimit"!==s?l.onStatisticField:void 0;if(!n.has(a)){const i=[];for(const s of t){const t=this._getAttributeValues(e,s,this.items,r);i.push(t)}n.set(a,this._calculateUniqueValues(i,this.items,e.returnDistinctValues))}const u=n.get(a);for(const t in u){const{data:s,items:a}=u[t],r=s.join(",");i&&!e.validateItems(a,i)||o.add(r)}}return o.size}async createQueryResponse(){let e;if(this.query.outStatistics){e=this.query.outStatistics.some(e=>"exceedslimit"===e.statisticType)?this._createExceedsLimitQueryResponse():await this._createStatisticsQueryResponse(this.query,this.items)}else e=this._createFeatureQueryResponse(this.query);if(this.query.returnQueryGeometry){const t=this.query.geometry;n(this.query.outSR)&&!o(t.spatialReference,this.query.outSR)?e.queryGeometry=m({spatialReference:this.query.outSR,...p(t,t.spatialReference,this.query.outSR)}):e.queryGeometry=m({spatialReference:this.query.outSR,...t})}return e}createSnappingResponse(e,t,i){const s=this.featureAdapter,a=J(this.hasZ,this.hasM),{point:r,mode:n}=e,o="number"==typeof e.distance?e.distance:e.distance.x,c="number"==typeof e.distance?e.distance:e.distance.y;function m(e,t){const i=(e-r.x)/o,s=(t-r.y)/c;return i*i+s*s}const d={candidates:[]},f="esriGeometryPolygon"===this.geometryType,p="esriGeometryPolyline"===this.geometryType||"esriGeometryPoint"===this.geometryType,h=this._getPointCreator(n,t,this.spatialReference,i),x=new k(null,0),T=new k(null,0),F={x:0,y:0,z:0};for(const l of this.items){const e=s.getObjectId(l),t=s.getGeometryWithCurves?.(l);if(null!=t){_(t,e);continue}const i=s.getGeometry(l);null==i||I(i,e)}return d.candidates.sort((e,t)=>e.distance-t.distance),d;function I(t,i){const{coords:s}=t,n=t.isPoint?Y:t.lengths;if(x.coords=s,T.coords=s,e.returnEdge){let e=0;for(let t=0;t<n.length;t++){const s=n[t],o=e;for(let t=0;t<s;t++,e+=a){if(!f&&t===s-1)continue;if(x.coordsIndex=e,T.coordsIndex=t===s-1?o:e+a,!Q(F,r,x,T))continue;const n=m(F.x,F.y);n<=1&&d.candidates.push(new y(i,h(F),Math.sqrt(n),h(x),h(T)))}}}if("all"===e.vertexMode){let e=0;for(let t=0;t<n.length;t++){const s=n[t],r=e,o=T;o.coordsIndex=r;for(let t=0;t<s;t++,e+=a){if(x.coordsIndex=e,f&&t===s-1&&x.x===o.x&&x.y===o.y)continue;const a=m(x.x,x.y);a<=1&&d.candidates.push(new g(i,h(x),Math.sqrt(a)))}}}else if(p&&"ends"===e.vertexMode){let e=0;const t=[];for(let i=0;i<n.length;i++){t.push(e);const s=n[i];e+=s*a,s>1&&t.push(e-a)}for(const s of t){x.coordsIndex=s;const e=m(x.x,x.y);e<=1&&d.candidates.push(new g(i,h(x),Math.sqrt(e)))}}}function _(t,i){const{candidates:s}=d,a={x:0,y:0,z:0};if(e.returnEdge){const e=[r.x,r.y],n={x:0,y:0,z:0},o={x:0,y:0,z:0};for(const{segments:r}of t.parts)for(const{start:t,curve:c}of r){const r=l(t,c,e);if(null==r)continue;const d=m(...r.curvePoint);d>1||([n.x,n.y]=t,[a.x,a.y]=r.curvePoint,[o.x,o.y]=u(c),s.push(new y(i,h(a),Math.sqrt(d),h(n),h(o))))}}function n(e){a.x=t.vertexXY[2*e],a.y=t.vertexXY[2*e+1];const r=m(a.x,a.y);r>1||(a.z=t.vertexZ?.[e]??0,s.push(new g(i,h(a),Math.sqrt(r))))}if("all"===e.vertexMode){const{vertexCount:e}=t;for(let t=0;t<e;++t)n(t);return}if("ends"===e.vertexMode)switch(t.type){case"point":n(0);break;case"polyline":for(let e=0;e<t.partCount;++e){const i=t.partOffsets[e],s=t.partOffsets[e+1];n(i),s!==i&&n(s)}}}}_getPointCreator(e,t,i,s){const a=null==s||o(i,s)?e=>e:e=>p(e,i,s),{hasZ:r}=this,n=0;return"3d"===e?r&&t?({x:e,y:t,z:i})=>a({x:e,y:t,z:i}):({x:e,y:t})=>a({x:e,y:t,z:n}):({x:e,y:t})=>a({x:e,y:t})}async createSummaryStatisticsResponse(e){const{field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:r,minValue:n,maxValue:o,scale:l,timeZone:u,outStatisticTypes:c}=e,m=this.fieldsIndex.get(t),d=x(m)||T(m)||F(m),f=await this._getDataValues({field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:r,scale:l,timeZone:u},this.items),p=z({normalizationType:a,normalizationField:s,minValue:n,maxValue:o}),h={value:.5,fieldType:m?.type},y=I(m)?B({values:f,supportsNullCount:p,percentileParams:h,outStatisticTypes:c}):M({values:f,minValue:n,maxValue:o,useSampleStdDev:!a,supportsNullCount:p,percentileParams:h,outStatisticTypes:c});return A(y,c,d)}async createUniqueValuesResponse(e){const{field:t,valueExpression:i,domains:s,returnAllCodedValues:a,scale:r,timeZone:n}=e,o=await this._getDataValues({field:t,field2:e.field2,field3:e.field3,fieldDelimiter:e.fieldDelimiter,valueExpression:i,scale:r,timeZone:n},this.items,!1),l=w(o);return N(l,s,a,e.fieldDelimiter)}async createClassBreaksResponse(e){const{field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:r,classificationMethod:n,standardDeviationInterval:o,minValue:l,maxValue:u,numClasses:c,scale:m,timeZone:d}=e,f=await this._getDataValues({field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:r,scale:m,timeZone:d},this.items),p=P(f,{field:t,normalizationField:s,normalizationType:a,normalizationTotal:r,classificationMethod:n,standardDeviationInterval:o,minValue:l,maxValue:u,numClasses:c});return D(p,n)}async createHistogramResponse(e){const{field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:r,classificationMethod:n,standardDeviationInterval:o,minValue:l,maxValue:u,numBins:c,scale:m,timeZone:d}=e,f=await this._getDataValues({field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:r,scale:m,timeZone:d},this.items);return q(f,{field:t,normalizationField:s,normalizationType:a,normalizationTotal:r,classificationMethod:n,standardDeviationInterval:o,minValue:l,maxValue:u,numBins:c})}_sortFeatures(e,t,i){if(e.length>1&&t?.length)for(const s of t.slice().reverse()){const t=s.split(" "),a=t[0],r=this.fieldsIndex.get(a),n=!!t[1]&&"desc"===t[1].toLowerCase(),o=j(r?.type,n,"case-sensitive");e.sort((e,t)=>{const s=i(e,a,r),n=i(t,a,r);return o(s,n)})}}_createFeatureQueryResponse(e){const{items:t,geometryType:i,hasM:s,hasZ:a,objectIdField:n,spatialReference:o}=this,{outFields:l,outSR:u,quantizationParameters:c,resultRecordCount:d,resultOffset:f,returnZ:p,returnM:h}=e,y=null!=d&&t.length>(f||0)+d,g=l&&(l.includes("*")?[...this.fieldsIndex.fields]:l.map(e=>this.fieldsIndex.get(e)));return{exceededTransferLimit:y,features:this._createFeatures(e,t),fields:g,geometryType:i,hasM:s&&h,hasZ:a&&p,objectIdFieldName:n,spatialReference:m(u||o),transform:c&&r(c)||null}}_createFeatures(e,t){const i=new c(e,this.featureAdapter,this.fieldsIndex),{hasM:s,hasZ:a}=this,{orderByFields:n,quantizationParameters:o,returnGeometry:l,returnCentroid:u,maxAllowableOffset:m,resultOffset:p,resultRecordCount:h,returnZ:y=!1,returnM:g=!1}=e,x=a&&y,T=s&&g;let F=[],I=0;const _=[...t];if(this._sortFeatures(_,n,(e,t,s)=>i.getFieldValue(e,t,s)),this.geometryType&&(l||u)){const e=r(o)??void 0,t="esriGeometryPolygon"===this.geometryType||"esriGeometryPolyline"===this.geometryType;if(l&&!u)for(const s of _){const a=this.featureAdapter.getGeometry(s),r=this._addFeatureJSONMetadata(s,{attributes:i.getAttributes(s),geometry:d(this.geometryType,a,m,e,x,T)});t&&a&&!r.geometry&&(r.centroid=f(this,this.featureAdapter.getCentroid(s,this),e)),F[I++]=r}else if(!l&&u)for(const s of _)F[I++]=this._addFeatureJSONMetadata(s,{attributes:i.getAttributes(s),centroid:f(this,this.featureAdapter.getCentroid(s,this),e)});else for(const s of _)F[I++]=this._addFeatureJSONMetadata(s,{attributes:i.getAttributes(s),centroid:f(this,this.featureAdapter.getCentroid(s,this),e),geometry:d(this.geometryType,this.featureAdapter.getGeometry(s),m,e,x,T)})}else for(const r of _){const e=i.getAttributes(r);e&&(F[I++]=this._addFeatureJSONMetadata(r,{attributes:e}))}const v=p||0;if(null!=h){const e=v+h;F=F.slice(v,Math.min(F.length,e))}return F}_addFeatureJSONMetadata(e,t){const i=this.featureAdapter.getMetadata?.(e);return void 0!==i&&(t.metadata=i),t}_createExceedsLimitQueryResponse(){let e=!1,t=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;for(const a of this.query.outStatistics??[])if("exceedslimit"===a.statisticType){t=null!=a.maxPointCount?a.maxPointCount:Number.POSITIVE_INFINITY,i=null!=a.maxRecordCount?a.maxRecordCount:Number.POSITIVE_INFINITY,s=null!=a.maxVertexCount?a.maxVertexCount:Number.POSITIVE_INFINITY;break}if("esriGeometryPoint"===this.geometryType)e=this.items.length>t;else if(this.items.length>i)e=!0;else{const t=J(this.hasZ,this.hasM),i=this.featureAdapter;e=this.items.reduce((e,t)=>{const s=i.getGeometry(t);return e+(null!=s&&s.coords.length||0)},0)/t>s}return{fields:[{name:"exceedslimit",type:"esriFieldTypeInteger",alias:"exceedslimit",sqlType:"sqlTypeInteger",domain:null,defaultValue:null}],features:[{attributes:{exceedslimit:Number(e)}}]}}async _createStatisticsQueryResponse(e,t,i={attributes:{}}){const s=[],a=new Map,r=new Map,n=new Map,o=new Map,l=new c(e,this.featureAdapter,this.fieldsIndex),u=e.outStatistics,{groupByFieldsForStatistics:m,having:d,orderByFields:f,resultRecordCount:p}=e,h=m?.length,y=!!h,g=y?m[0]:null,x=y&&!this.fieldsIndex.get(g);for(const c of u??[]){const{outStatisticFieldName:e,statisticType:u}=c,f=c,p="exceedslimit"!==u?c.onStatisticField:void 0,T="percentile_disc"===u||"percentile_cont"===u,F="EnvelopeAggregate"===u||"CentroidAggregate"===u||"ConvexHullAggregate"===u,_=y&&1===h&&(p===g||x)&&"count"===u;if(y){if(!n.has(p)){const e=[];for(const i of m){const s=this._getAttributeValues(l,i,t,a);e.push(s)}n.set(p,this._calculateUniqueValues(e,t,!F&&l.returnDistinctValues))}const i=n.get(p);if(!i)continue;const s=Object.keys(i);for(const r of s){const{count:s,data:n,items:u,itemPositions:c}=i[r],h=n.join(",");if(!d||l.validateItems(u,d)){const i=o.get(h)||{attributes:{}};if(F){i.aggregateGeometries||(i.aggregateGeometries={});const{aggregateGeometries:e,outStatisticFieldName:t}=await this._getAggregateGeometry(f,u);i.aggregateGeometries[t]=e}else{let r=null;if(_)r=s;else{const e=this._getAttributeValues(l,p,t,a),i=c.map(t=>e[t]);r=T&&"statisticParameters"in f?this._getPercentileValue(f,i):this._getStatisticValue(f,i,null,l.returnDistinctValues)}i.attributes[e]=r}let r=0;m.forEach((e,t)=>i.attributes[this.fieldsIndex.get(e)?e:"EXPR_"+ ++r]=n[t]),o.set(h,i)}}}else if(F){i.aggregateGeometries||(i.aggregateGeometries={});const{aggregateGeometries:e,outStatisticFieldName:s}=await this._getAggregateGeometry(f,t);i.aggregateGeometries[s]=e}else{const s=this._getAttributeValues(l,p,t,a);i.attributes[e]=T&&"statisticParameters"in f?this._getPercentileValue(f,s):this._getStatisticValue(f,s,r,l.returnDistinctValues)}const v="min"!==u&&"max"!==u||!I(this.fieldsIndex.get(p))&&!this._isAnyDateField(p)?null:this.fieldsIndex.get(p)?.type;s.push({name:e,alias:e,type:v||"esriFieldTypeDouble"})}const T=y?Array.from(o.values()):[i];return this._sortFeatures(T,f,(e,t)=>e.attributes[t]),p&&(T.length=Math.min(p,T.length)),{fields:s,features:T}}_isAnyDateField(e){const t=this.fieldsIndex.get(e);return x(t)||T(t)||F(t)||_(t)}async _getAggregateGeometry(e,r){const{convexHull:n,union:o}=await import("../../../geometry/geometryEngineJSON.js"),{statisticType:l,outStatisticFieldName:u}=e,{featureAdapter:c,spatialReference:m,geometryType:f}=this,p=r.map(e=>d(f,c.getGeometry(e))),h=n(m,p,!0)[0],y={aggregateGeometries:null,outStatisticFieldName:null};if("EnvelopeAggregate"===l){const e=h?s(h):a(o(m,p));y.aggregateGeometries={...e,spatialReference:m},y.outStatisticFieldName=u||"extent"}else if("CentroidAggregate"===l){const e=h?t(h):i(a(o(m,p)));y.aggregateGeometries={x:e[0],y:e[1],spatialReference:m},y.outStatisticFieldName=u||"centroid"}else"ConvexHullAggregate"===l&&(y.aggregateGeometries=h,y.outStatisticFieldName=u||"convexHull");return y}_getStatisticValue(e,t,i,s){const{onStatisticField:a,statisticType:r}=e;let n=null;n=i?.has(a)?i.get(a):I(this.fieldsIndex.get(a))||this._isAnyDateField(a)?B({values:t,returnDistinct:s}):M({values:s?[...new Set(t)]:t,minValue:null,maxValue:null,useSampleStdDev:!0}),i&&i.set(a,n);return n["var"===r?"variance":r]}_getPercentileValue(e,t){const{onStatisticField:i,statisticParameters:s,statisticType:a}=e,{value:r,orderBy:n}=s,o=this.fieldsIndex.get(i);return C(t,{value:r,orderBy:n,fieldType:o?.type,isDiscrete:"percentile_disc"===a})}_getAttributeValues(e,t,i,s){if(s.has(t))return s.get(t);const a=this.fieldsIndex.get(t),r=i.map(i=>e.getFieldValue(i,t,a));return s.set(t,r),r}_calculateUniqueValues(e,t,i){const s={},a=t.length;for(let r=0;r<a;r++){const a=t[r],n=[];for(const t of e)n.push(t[r]);const o=n.join(",");null==s[o]?s[o]={count:1,data:n,items:[a],itemPositions:[r]}:(i||s[o].count++,s[o].items.push(a),s[o].itemPositions.push(r))}return s}async _getDataValues(t,i,s=!0){const a=new c(this.query,this.featureAdapter,this.fieldsIndex),{valueExpression:r,scale:n,timeZone:o}=t;return r?a.getExpressionValues(i,r,{viewingMode:"map",scale:n,spatialReference:this.query.outSR||this.spatialReference},{geometryType:this.geometryType,hasZ:this.hasZ,hasM:this.hasM},o):a.getDataValues(i,e(t),s)}_calculateHistogramBins(e,t,i){if(null==t.min&&null==t.max)return[];const s=t.intervals,a=t.min??0,r=t.max??0,n=s.map(([e,t])=>({minValue:e,maxValue:t,count:0,items:[]}));for(let o=0;o<e.length;o++){const t=e[o],l=i[o];if(null!=t&&t>=a&&t<=r){const e=Z(s,t);e>-1&&(n[e].count++,n[e].items.push(l))}}return n}async createQueryBinsResponse(e){const t=e.bin?.splitBy;if(!t)return this._createBinsResponse(e);const{value:i,outAlias:s,valueType:a}=t,r=[],n=[{name:s??i,alias:s??i,type:a??"esriFieldTypeString"},{name:H,alias:H,type:"esriFieldTypeInteger"}],o=new c(e,this.featureAdapter,this.fieldsIndex),l=new Map,u=[...this.items];this._sortFeatures(u,[i],(e,t,i)=>o.getFieldValue(e,t,i));const m=this._getAttributeValues(o,i,u,l),d=this._calculateUniqueValues([m],u,o.returnDistinctValues);for(const c in d){const{items:t}=d[c],a=await this._createBinsResponse(e,t);if(r.push(...a.features.map(e=>({...e,attributes:{...e.attributes,[s??i]:c}}))),a.fields)for(const e of a.fields)n.some(t=>t.name===e.name)||n.push(e)}return{fields:n,features:r}}async _createBinsResponse(e,t){const i=e.bin;switch(t=t??this.items,i.type){case"autoIntervalBin":return this._createAutoIntervalBinsResponse(v.fromJSON(i),e,t);case"dateBin":return this._createDateBinsResponse(S.fromJSON(i),e,t);case"fixedBoundariesBin":return this._createFixedBoundariesBinsResponse(b.fromJSON(i),e,t);case"fixedIntervalBin":return this._createFixedIntervalBinsResponse(R.fromJSON(i),e,t)}}async _createAutoIntervalBinsResponse(e,t,i){const{field:s,normalizationField:a,numBins:r,normalizationType:n,normalizationTotal:o,start:l,end:u}=e,c=await this._getDataValues({field:e.field,normalizationField:e.normalizationField,normalizationType:e.normalizationType,normalizationTotal:e.normalizationTotal,timeZone:t.outTimeReference?.ianaTimeZone},i),m=G(c,{field:s,normalizationField:a,normalizationType:n,normalizationTotal:o,numBins:r,minValue:h(l,!1),maxValue:h(u,!1)}),d=this._calculateHistogramBins(c,m,i);return this._createFeaturesFromHistogramBins(d,t)}async _createDateBinsResponse(e,t,i){const{field:s,interval:a,start:r,end:n,snapToData:o,returnFullIntervalBin:l}=e,u=a.unit,c=await this._getDataValues({field:e.field,timeZone:t.outTimeReference?.ianaTimeZone},i),m=_(this.fieldsIndex.get(s)),d=V.toJSON(u),f=c.filter(Boolean).sort((e,t)=>e-t),p=null!=r?h(r,m):f[0],y=null!=n?h(n,m):f[f.length-1],g=[];if(null!=p&&null!=y){const e={zone:t.outTimeReference?.ianaTimeZone??O},i=E.fromMillis(p,e),s=E.fromMillis(y,e);if("last"===o){let e=s;for(;e>i;){const t=e.minus({[d]:a.value});if(t<i){g.unshift([l?t.toMillis():i.toMillis(),e.toMillis()]);break}g.unshift([t.toMillis(),e.toMillis()]),e=t}}else{let e="first"===o?i:i.startOf(d);for(;e<=s;){const t=e.plus({[d]:a.value});if(t>s){g.push([e.toMillis(),l?t.toMillis():s.toMillis()]);break}g.push([e.toMillis(),t.toMillis()]),e=t}}}const x=this._calculateHistogramBins(c,{intervals:g,min:p,max:y},i);return this._createFeaturesFromHistogramBins(x,t)}async _createFixedBoundariesBinsResponse(e,t,i){const{field:s}=e,a=await this._getDataValues({field:s,timeZone:t.outTimeReference?.ianaTimeZone},i),r=_(this.fieldsIndex.get(s)),n=e.boundaries.map(e=>h(e,r)).sort((e,t)=>e-t),o=[];for(let c=0;c<n.length-1;c++)o.push([n[c],n[c+1]]);const l={intervals:o,min:n.at(0),max:n.at(-1)},u=this._calculateHistogramBins(a,l,i);return this._createFeaturesFromHistogramBins(u,t)}async _createFixedIntervalBinsResponse(e,t,i){const{field:s,interval:a,start:r,end:n}=e,o=await this._getDataValues({field:e.field,normalizationField:e.normalizationField,normalizationType:e.normalizationType,normalizationTotal:e.normalizationTotal,timeZone:t.outTimeReference?.ianaTimeZone},i),l=_(this.fieldsIndex.get(s)),u=G(o,{field:s,classificationMethod:"defined-interval",definedInterval:a,minValue:h(r,l),maxValue:h(n,l)},!0),c=this._calculateHistogramBins(o,u,i);return this._createFeaturesFromHistogramBins(c,t)}async _createFeaturesFromHistogramBins(e,t){const{upperBoundaryAlias:i,lowerBoundaryAlias:s}=t,a=s||"lowerBoundary",r=i||"upperBoundary",n=[],o=[{name:a,alias:a,type:"esriFieldTypeDouble"},{name:r,alias:r,type:"esriFieldTypeDouble"}],l=t.bin?.stackBy?.value,u=t.bin?.stackBy?.outAlias;l&&o.push({name:H,alias:H,type:"esriFieldTypeInteger"},{name:u??l,alias:u??l,type:"esriFieldTypeString"});let c=0;const m="dateBin"===t.bin.type,d=t.outTimeReference?.ianaTimeZone;for(const f of e){const{minValue:e,maxValue:i,items:s}=f,p={attributes:{}};let h;if(p.attributes[a]=m&&d&&null!=e?E.fromMillis(e,{zone:d}).toISO():e,p.attributes[r]=m&&d&&null!=i?E.fromMillis(i,{zone:d}).toISO():i,l?(h=await this._createStatisticsQueryResponse({...t,groupByFieldsForStatistics:[l],orderByFields:[l]},s),p.attributes[H]=++c,"flat"===t.bin.jsonStyle?n.push(...h.features.map(({attributes:{EXPR_1:e,...t},...i})=>({...i,attributes:u??e?{...t,[u??e]:e,...p.attributes}:{...t,...p.attributes}}))):(p.stackedAttributes=h.features.map(({attributes:{EXPR_1:e,...t}})=>u??e?{...t,[u??e]:e}:t),n.push(p))):(t.bin?.splitBy&&(p.attributes[H]=++c),h=await this._createStatisticsQueryResponse(t,s,p),n.push(p)),h.fields)for(const t of h.fields)o.some(e=>e.name===t.name)||o.push(t)}return"desc"===t.binOrder&&n.reverse(),{fields:o,features:n}}}function Q(e,t,i,s){const a=s.x-i.x,r=s.y-i.y,n=t.x-i.x,o=t.y-i.y,l=a*a+r*r;if(0===l)return!1;const u=n*a+o*r,c=Math.min(1,Math.max(0,u/l));return e.x=i.x+a*c,e.y=i.y+r*c,!0}function J(e,t){return e?t?4:3:t?3:2}class k{constructor(e,t){this.coords=e,this.coordsIndex=t}get x(){return this.coords[this.coordsIndex]}get y(){return this.coords[this.coordsIndex+1]}get z(){return this.coords[this.coordsIndex+2]}}const Y=[1];export{U as QueryEngineResult};
|
|
5
|
+
import{clone as e}from"../../../core/lang.js";import{polygonCentroid as t,extentCentroid as i}from"../../../geometry/support/centroid.js";import{getPolygonExtent as s,getGeometryExtent as a}from"../../../geometry/support/extentUtils.js";import{toQuantizationTransform as n}from"../../../geometry/support/quantizationUtils.js";import{isValid as r,equals as o}from"../../../geometry/support/spatialReferenceUtils.js";import{closestPointOnCurve as l}from"../../../geometry/support/curves/closestPointOnCurve.js";import{getEndpoint as u}from"../../../geometry/support/curves/curveUtils.js";import c from"./AttributesBuilder.js";import{cleanFromGeometryEngine as m,getGeometry as d,transformCentroid as p}from"./geometryUtils.js";import{project as f}from"./projectionSupport.js";import{getDateInNumber as h}from"./queryUtils.js";import{SnappingCandidateEdge as y,SnappingCandidateVertex as g}from"./SnappingCandidate.js";import{isDateField as x,isDateOnlyField as T,isTimestampOffsetField as F,isStringField as I,isTimeOnlyField as v}from"../../support/fieldUtils.js";import _ from"../../../rest/support/AutoIntervalBinParameters.js";import V from"../../../rest/support/DateBinParameters.js";import{unitsDict as S}from"../../../rest/support/DateBinUtils.js";import b from"../../../rest/support/FixedBoundariesBinParameters.js";import z from"../../../rest/support/FixedIntervalBinParameters.js";import{isNullCountSupported as R,calculateStringStatistics as B,calculateStatistics as M,processSummaryStatisticsResult as A,calculateUniqueValuesCount as w,createUVResult as N,calculateClassBreaks as P,resolveCBResult as D,calculateHistogram as q,getAttributeComparator as j,calculatePercentile as C,binIndex as O,getBinParams as Z}from"../../../statistics/utils.js";import{utc as G}from"../../../time/constants.js";import{DateTime as E}from"luxon";const H="bin";class U{constructor(e,t,i){this.items=e,this.query=t,this.geometryType=i.geometryType,this.hasM=i.hasM,this.hasZ=i.hasZ,this.fieldsIndex=i.fieldsIndex,this.objectIdField=i.objectIdField,this.spatialReference=i.spatialReference,this.featureAdapter=i.featureAdapter}get size(){return this.items.length}createQueryResponseForCount(){const e=new c(this.query,this.featureAdapter,this.fieldsIndex);if(!this.query.outStatistics)return e.countDistinctValues(this.items);const{groupByFieldsForStatistics:t,having:i,outStatistics:s}=this.query,a=t?.length;if(!!!a)return 1;const n=new Map,r=new Map,o=new Set;for(const l of s){const{statisticType:s}=l,a="exceedslimit"!==s?l.onStatisticField:void 0;if(!r.has(a)){const i=[];for(const s of t){const t=this._getAttributeValues(e,s,this.items,n);i.push(t)}r.set(a,this._calculateUniqueValues(i,this.items,e.returnDistinctValues))}const u=r.get(a);for(const t in u){const{data:s,items:a}=u[t],n=s.join(",");i&&!e.validateItems(a,i)||o.add(n)}}return o.size}async createQueryResponse(){let e;if(this.query.outStatistics){e=this.query.outStatistics.some(e=>"exceedslimit"===e.statisticType)?this._createExceedsLimitQueryResponse():await this._createStatisticsQueryResponse(this.query,this.items)}else e=this._createFeatureQueryResponse(this.query);if(this.query.returnQueryGeometry){const t=this.query.geometry;r(this.query.outSR)&&!o(t.spatialReference,this.query.outSR)?e.queryGeometry=m({spatialReference:this.query.outSR,...f(t,t.spatialReference,this.query.outSR)}):e.queryGeometry=m({spatialReference:this.query.outSR,...t})}return e}createSnappingResponse(e,t,i){const s=this.featureAdapter,a=J(this.hasZ,this.hasM),{point:n,mode:r}=e,o="number"==typeof e.distance?e.distance:e.distance.x,c="number"==typeof e.distance?e.distance:e.distance.y;function m(e,t){const i=(e-n.x)/o,s=(t-n.y)/c;return i*i+s*s}const d={candidates:[]},p="esriGeometryPolygon"===this.geometryType,f="esriGeometryPolyline"===this.geometryType||"esriGeometryPoint"===this.geometryType,h=this._getPointCreator(r,t,this.spatialReference,i),x=new Q(null,0),T=new Q(null,0),F={x:0,y:0,z:0};for(const l of this.items){const e=s.getObjectId(l),t=s.getGeometryWithCurves?.(l);if(null!=t){v(t,e);continue}const i=s.getGeometry(l);null==i||I(i,e)}return d.candidates.sort((e,t)=>e.distance-t.distance),d;function I(t,i){const{coords:s}=t,r=t.isPoint?Y:t.lengths;if(x.coords=s,T.coords=s,e.returnEdge){let e=0;for(let t=0;t<r.length;t++){const s=r[t],o=e;for(let t=0;t<s;t++,e+=a){if(!p&&t===s-1)continue;if(x.coordsIndex=e,T.coordsIndex=t===s-1?o:e+a,!k(F,n,x,T))continue;const r=m(F.x,F.y);r<=1&&d.candidates.push(new y(i,h(F),Math.sqrt(r),h(x),h(T)))}}}if("all"===e.vertexMode){let e=0;for(let t=0;t<r.length;t++){const s=r[t],n=e,o=T;o.coordsIndex=n;for(let t=0;t<s;t++,e+=a){if(x.coordsIndex=e,p&&t===s-1&&x.x===o.x&&x.y===o.y)continue;const a=m(x.x,x.y);a<=1&&d.candidates.push(new g(i,h(x),Math.sqrt(a)))}}}else if(f&&"ends"===e.vertexMode){let e=0;const t=[];for(let i=0;i<r.length;i++){t.push(e);const s=r[i];e+=s*a,s>1&&t.push(e-a)}for(const s of t){x.coordsIndex=s;const e=m(x.x,x.y);e<=1&&d.candidates.push(new g(i,h(x),Math.sqrt(e)))}}}function v(t,i){const{candidates:s}=d,a={x:0,y:0,z:0};if(e.returnEdge){const e=[n.x,n.y],r={x:0,y:0,z:0},o={x:0,y:0,z:0};for(const{segments:n}of t.parts)for(const{start:t,curve:c}of n){const n=l(t,c,e);if(null==n)continue;const d=m(...n.curvePoint);d>1||([r.x,r.y]=t,[a.x,a.y]=n.curvePoint,[o.x,o.y]=u(c),s.push(new y(i,h(a),Math.sqrt(d),h(r),h(o))))}}function r(e){a.x=t.vertexXY[2*e],a.y=t.vertexXY[2*e+1];const n=m(a.x,a.y);n>1||(a.z=t.vertexZ?.[e]??0,s.push(new g(i,h(a),Math.sqrt(n))))}if("all"===e.vertexMode){const{vertexCount:e}=t;for(let t=0;t<e;++t)r(t);return}if("ends"===e.vertexMode)switch(t.type){case"point":r(0);break;case"polyline":for(let e=0;e<t.partCount;++e){const i=t.partOffsets[e],s=t.partOffsets[e+1];r(i),s!==i&&r(s)}}}}_getPointCreator(e,t,i,s){const a=null==s||o(i,s)?e=>e:e=>f(e,i,s),{hasZ:n}=this,r=0;return"3d"===e?n&&t?({x:e,y:t,z:i})=>a({x:e,y:t,z:i}):({x:e,y:t})=>a({x:e,y:t,z:r}):({x:e,y:t})=>a({x:e,y:t})}async createSummaryStatisticsResponse(e){const{field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:n,minValue:r,maxValue:o,scale:l,timeZone:u,outStatisticTypes:c}=e,m=this.fieldsIndex.get(t),d=x(m)||T(m)||F(m),p=await this._getDataValues({field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:n,scale:l,timeZone:u},this.items),f=R({normalizationType:a,normalizationField:s,minValue:r,maxValue:o}),h={value:.5,fieldType:m?.type},y=I(m)?B({values:p,supportsNullCount:f,percentileParams:h,outStatisticTypes:c}):M({values:p,minValue:r,maxValue:o,useSampleStdDev:!a,supportsNullCount:f,percentileParams:h,outStatisticTypes:c});return A(y,c,d)}async createUniqueValuesResponse(e){const{field:t,valueExpression:i,domains:s,returnAllCodedValues:a,scale:n,timeZone:r}=e,o=await this._getDataValues({field:t,field2:e.field2,field3:e.field3,fieldDelimiter:e.fieldDelimiter,valueExpression:i,scale:n,timeZone:r},this.items,!1),l=w(o);return N(l,s,a,e.fieldDelimiter)}async createClassBreaksResponse(e){const{field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:n,classificationMethod:r,standardDeviationInterval:o,minValue:l,maxValue:u,numClasses:c,scale:m,timeZone:d}=e,p=await this._getDataValues({field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:n,scale:m,timeZone:d},this.items),f=P(p,{field:t,normalizationField:s,normalizationType:a,normalizationTotal:n,classificationMethod:r,standardDeviationInterval:o,minValue:l,maxValue:u,numClasses:c});return D(f,r)}async createHistogramResponse(e){const{field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:n,classificationMethod:r,standardDeviationInterval:o,minValue:l,maxValue:u,numBins:c,scale:m,timeZone:d}=e,p=await this._getDataValues({field:t,valueExpression:i,normalizationField:s,normalizationType:a,normalizationTotal:n,scale:m,timeZone:d},this.items);return q(p,{field:t,normalizationField:s,normalizationType:a,normalizationTotal:n,classificationMethod:r,standardDeviationInterval:o,minValue:l,maxValue:u,numBins:c})}_sortFeatures(e,t,i){if(e.length>1&&t?.length)for(const s of t.slice().reverse()){const t=s.split(" "),a=t[0],n=this.fieldsIndex.get(a),r=!!t[1]&&"desc"===t[1].toLowerCase(),o=j(n?.type,r,"case-sensitive");e.sort((e,t)=>{const s=i(e,a,n),r=i(t,a,n);return o(s,r)})}}_createFeatureQueryResponse(e){const{items:t,geometryType:i,hasM:s,hasZ:a,objectIdField:r,spatialReference:o}=this,{outFields:l,outSR:u,quantizationParameters:c,resultRecordCount:d,resultOffset:p,returnZ:f,returnM:h}=e,y=null!=d&&t.length>(p||0)+d,g=l&&(l.includes("*")?[...this.fieldsIndex.fields]:l.map(e=>this.fieldsIndex.get(e)));return{exceededTransferLimit:y,features:this._createFeatures(e,t),fields:g,geometryType:i,hasM:s&&h,hasZ:a&&f,objectIdFieldName:r,spatialReference:m(u||o),transform:c&&n(c)||null}}_createFeatures(e,t){const i=new c(e,this.featureAdapter,this.fieldsIndex),{hasM:s,hasZ:a}=this,{orderByFields:r,quantizationParameters:o,returnGeometry:l,returnCentroid:u,maxAllowableOffset:m,resultOffset:f,resultRecordCount:h,returnZ:y=!1,returnM:g=!1}=e,x=a&&y,T=s&&g;let F=[],I=0;const v=[...t];if(this._sortFeatures(v,r,(e,t,s)=>i.getFieldValue(e,t,s)),this.geometryType&&(l||u)){const e=n(o)??void 0,t="esriGeometryPolygon"===this.geometryType||"esriGeometryPolyline"===this.geometryType;if(l&&!u)for(const s of v){const a=this.featureAdapter.getGeometry(s),n=this._addFeatureJSONMetadata(s,{attributes:i.getAttributes(s),geometry:d(this.geometryType,a,m,e,x,T)});t&&a&&!n.geometry&&(n.centroid=p(this,this.featureAdapter.getCentroid(s,this),e)),F[I++]=n}else if(!l&&u)for(const s of v)F[I++]=this._addFeatureJSONMetadata(s,{attributes:i.getAttributes(s),centroid:p(this,this.featureAdapter.getCentroid(s,this),e)});else for(const s of v)F[I++]=this._addFeatureJSONMetadata(s,{attributes:i.getAttributes(s),centroid:p(this,this.featureAdapter.getCentroid(s,this),e),geometry:d(this.geometryType,this.featureAdapter.getGeometry(s),m,e,x,T)})}else for(const n of v){const e=i.getAttributes(n);e&&(F[I++]=this._addFeatureJSONMetadata(n,{attributes:e}))}const _=f||0;if(null!=h){const e=_+h;F=F.slice(_,Math.min(F.length,e))}return F}_addFeatureJSONMetadata(e,t){const i=this.featureAdapter.getMetadata?.(e);return void 0!==i&&(t.metadata=i),t}_createExceedsLimitQueryResponse(){let e=!1,t=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;for(const a of this.query.outStatistics??[])if("exceedslimit"===a.statisticType){t=null!=a.maxPointCount?a.maxPointCount:Number.POSITIVE_INFINITY,i=null!=a.maxRecordCount?a.maxRecordCount:Number.POSITIVE_INFINITY,s=null!=a.maxVertexCount?a.maxVertexCount:Number.POSITIVE_INFINITY;break}if("esriGeometryPoint"===this.geometryType)e=this.items.length>t;else if(this.items.length>i)e=!0;else{const t=J(this.hasZ,this.hasM),i=this.featureAdapter;e=this.items.reduce((e,t)=>{const s=i.getGeometry(t);return e+(null!=s&&s.coords.length||0)},0)/t>s}return{fields:[{name:"exceedslimit",type:"esriFieldTypeInteger",alias:"exceedslimit",sqlType:"sqlTypeInteger",domain:null,defaultValue:null}],features:[{attributes:{exceedslimit:Number(e)}}]}}async _createStatisticsQueryResponse(e,t,i={attributes:{}}){const s=[],a=new Map,n=new Map,r=new Map,o=new Map,l=new c(e,this.featureAdapter,this.fieldsIndex),u=e.outStatistics,{groupByFieldsForStatistics:m,having:d,orderByFields:p,resultRecordCount:f}=e,h=m?.length,y=!!h,g=y?m[0]:null,x=y&&!this.fieldsIndex.get(g);for(const c of u??[]){const{outStatisticFieldName:e,statisticType:u}=c,p=c,f="exceedslimit"!==u?c.onStatisticField:void 0,T="percentile_disc"===u||"percentile_cont"===u,F="EnvelopeAggregate"===u||"CentroidAggregate"===u||"ConvexHullAggregate"===u,v=y&&1===h&&(f===g||x)&&"count"===u;if(y){if(!r.has(f)){const e=[];for(const i of m){const s=this._getAttributeValues(l,i,t,a);e.push(s)}r.set(f,this._calculateUniqueValues(e,t,!F&&l.returnDistinctValues))}const i=r.get(f);if(!i)continue;const s=Object.keys(i);for(const n of s){const{count:s,data:r,items:u,itemPositions:c}=i[n],h=r.join(",");if(!d||l.validateItems(u,d)){const i=o.get(h)||{attributes:{}};if(F){i.aggregateGeometries||(i.aggregateGeometries={});const{aggregateGeometries:e,outStatisticFieldName:t}=await this._getAggregateGeometry(p,u);i.aggregateGeometries[t]=e}else{let n=null;if(v)n=s;else{const e=this._getAttributeValues(l,f,t,a),i=c.map(t=>e[t]);n=T&&"statisticParameters"in p?this._getPercentileValue(p,i):this._getStatisticValue(p,i,null,l.returnDistinctValues)}i.attributes[e]=n}let n=0;m.forEach((e,t)=>i.attributes[this.fieldsIndex.get(e)?e:"EXPR_"+ ++n]=r[t]),o.set(h,i)}}}else if(F){i.aggregateGeometries||(i.aggregateGeometries={});const{aggregateGeometries:e,outStatisticFieldName:s}=await this._getAggregateGeometry(p,t);i.aggregateGeometries[s]=e}else{const s=this._getAttributeValues(l,f,t,a);i.attributes[e]=T&&"statisticParameters"in p?this._getPercentileValue(p,s):this._getStatisticValue(p,s,n,l.returnDistinctValues)}const _="min"!==u&&"max"!==u||!I(this.fieldsIndex.get(f))&&!this._isAnyDateField(f)?null:this.fieldsIndex.get(f)?.type;s.push({name:e,alias:e,type:_||"esriFieldTypeDouble"})}const T=y?Array.from(o.values()):[i];return this._sortFeatures(T,p,(e,t)=>e.attributes[t]),f&&(T.length=Math.min(f,T.length)),{fields:s,features:T}}_isAnyDateField(e){const t=this.fieldsIndex.get(e);return x(t)||T(t)||F(t)||v(t)}async _getAggregateGeometry(e,n){const{convexHull:r,union:o}=await import("../../../geometry/geometryEngineJSON.js"),{statisticType:l,outStatisticFieldName:u}=e,{featureAdapter:c,spatialReference:m,geometryType:p}=this,f=n.map(e=>d(p,c.getGeometry(e))),h=r(m,f,!0)[0],y={aggregateGeometries:null,outStatisticFieldName:null};if("EnvelopeAggregate"===l){const e=h?s(h):a(o(m,f));y.aggregateGeometries={...e,spatialReference:m},y.outStatisticFieldName=u||"extent"}else if("CentroidAggregate"===l){const e=h?t(h):i(a(o(m,f)));y.aggregateGeometries={x:e[0],y:e[1],spatialReference:m},y.outStatisticFieldName=u||"centroid"}else"ConvexHullAggregate"===l&&(y.aggregateGeometries=h,y.outStatisticFieldName=u||"convexHull");return y}_getStatisticValue(e,t,i,s){const{onStatisticField:a,statisticType:n}=e;let r=null;r=i?.has(a)?i.get(a):I(this.fieldsIndex.get(a))||this._isAnyDateField(a)?B({values:t,returnDistinct:s}):M({values:s?[...new Set(t)]:t,minValue:null,maxValue:null,useSampleStdDev:!0}),i&&i.set(a,r);return r["var"===n?"variance":n]}_getPercentileValue(e,t){const{onStatisticField:i,statisticParameters:s,statisticType:a}=e,{value:n,orderBy:r}=s,o=this.fieldsIndex.get(i);return C(t,{value:n,orderBy:r,fieldType:o?.type,isDiscrete:"percentile_disc"===a})}_getAttributeValues(e,t,i,s){if(s.has(t))return s.get(t);const a=this.fieldsIndex.get(t),n=i.map(i=>e.getFieldValue(i,t,a));return s.set(t,n),n}_calculateUniqueValues(e,t,i){const s={},a=t.length;for(let n=0;n<a;n++){const a=t[n],r=[];for(const t of e)r.push(t[n]);const o=r.join(",");null==s[o]?s[o]={count:1,data:r,items:[a],itemPositions:[n]}:(i||s[o].count++,s[o].items.push(a),s[o].itemPositions.push(n))}return s}async _getDataValues(t,i,s=!0){const a=new c(this.query,this.featureAdapter,this.fieldsIndex),{valueExpression:n,scale:r,timeZone:o}=t;return n?a.getExpressionValues(i,n,{viewingMode:"map",scale:r,spatialReference:this.query.outSR||this.spatialReference},{geometryType:this.geometryType,hasZ:this.hasZ,hasM:this.hasM},o):a.getDataValues(i,e(t),s)}_calculateHistogramBins(e,t,i){if(null==t.min&&null==t.max)return[];const s=t.intervals,a=t.min??0,n=t.max??0,r=s.map(([e,t])=>({minValue:e,maxValue:t,count:0,items:[]}));for(let o=0;o<e.length;o++){const t=e[o],l=i[o];if(null!=t&&t>=a&&t<=n){const e=O(s,t);e>-1&&(r[e].count++,r[e].items.push(l))}}return r}async createQueryBinsResponse(e){const t=e.bin?.splitBy;if(!t)return this._createBinsResponse(e);const{value:i,outAlias:s,valueType:a}=t,n=[],r=[{name:s??i,alias:s??i,type:a??"esriFieldTypeString"},{name:H,alias:H,type:"esriFieldTypeInteger"}],o=new c(e,this.featureAdapter,this.fieldsIndex),l=new Map,u=[...this.items];this._sortFeatures(u,[i],(e,t,i)=>o.getFieldValue(e,t,i));const m=this._getAttributeValues(o,i,u,l),d=this._calculateUniqueValues([m],u,o.returnDistinctValues);for(const c in d){const{items:t}=d[c],a=await this._createBinsResponse(e,t);if(n.push(...a.features.map(e=>({...e,attributes:{...e.attributes,[s??i]:c}}))),a.fields)for(const e of a.fields)r.some(t=>t.name===e.name)||r.push(e)}return{fields:r,features:n}}async _createBinsResponse(e,t){const i=e.bin;switch(t=t??this.items,i.type){case"autoIntervalBin":return this._createAutoIntervalBinsResponse(_.fromJSON(i),e,t);case"dateBin":return this._createDateBinsResponse(V.fromJSON(i),e,t);case"fixedBoundariesBin":return this._createFixedBoundariesBinsResponse(b.fromJSON(i),e,t);case"fixedIntervalBin":return this._createFixedIntervalBinsResponse(z.fromJSON(i),e,t)}}async _createAutoIntervalBinsResponse(e,t,i){const{field:s,normalizationField:a,numBins:n,normalizationType:r,normalizationTotal:o,start:l,end:u}=e,c=await this._getDataValues({field:e.field||e.expression,normalizationField:e.normalizationField,normalizationType:e.normalizationType,normalizationTotal:e.normalizationTotal,timeZone:t.outTimeReference?.ianaTimeZone},i),m=Z(c,{field:s,normalizationField:a,normalizationType:r,normalizationTotal:o,numBins:n,minValue:h(r?e.normalizationMinValue:l,!1),maxValue:h(r?e.normalizationMaxValue:u,!1)}),d=this._calculateHistogramBins(c,m,i);return this._createFeaturesFromHistogramBins(d,t)}async _createDateBinsResponse(e,t,i){const{field:s,interval:a,start:n,end:r,snapToData:o,returnFullIntervalBin:l,offset:u,firstDayOfWeek:c}=e,m=a.unit,d=await this._getDataValues({field:e.field,timeZone:t.outTimeReference?.ianaTimeZone},i),p=v(this.fieldsIndex.get(s)),f=S.toJSON(m),y=d.filter(Boolean).sort((e,t)=>e-t),g=null!=n?h(n,p):y[0],x=null!=r?h(r,p):y[y.length-1],T=[];if(null!=g&&null!=x){const e={zone:t.outTimeReference?.ianaTimeZone??G},i=u?.unit?S.toJSON(u.unit):"milliseconds",s={[i]:u?.value||0},n=E.fromMillis(g,e).minus(s),r=E.fromMillis(x,e).minus(s),m="number"==typeof c&&c>=1&&c<=7?c:7,d=(e,t)=>{const i=(e.weekday-t+7)%7;return e.minus({days:i}).startOf("day")};if("last"===o){let e="week"===f?((e,t)=>d(e,t).plus({days:7}))(r,m):r;for(;e>n;){const t=e.minus({[f]:a.value});if(t<n){T.unshift([l?t.plus(s).toMillis():n.plus(s).toMillis(),e.plus(s).toMillis()]);break}T.unshift([t.plus(s).toMillis(),e.plus(s).toMillis()]),e=t}}else{let e="first"===o?n:"week"===f?d(n,m):n.startOf(f);for(;e<=r;){const t=e.plus({[f]:a.value});if(t>r){T.push([e.plus(s).toMillis(),l?t.plus(s).toMillis():r.plus(s).toMillis()]);break}T.push([e.plus(s).toMillis(),t.plus(s).toMillis()]),e=t}}}const F=this._calculateHistogramBins(d,{intervals:T,min:g,max:x},i);return this._createFeaturesFromHistogramBins(F,t)}async _createFixedBoundariesBinsResponse(e,t,i){const{field:s}=e,a=await this._getDataValues({field:s,timeZone:t.outTimeReference?.ianaTimeZone},i),n=v(this.fieldsIndex.get(s)),r=e.boundaries.map(e=>h(e,n)).sort((e,t)=>e-t),o=[];for(let c=0;c<r.length-1;c++)o.push([r[c],r[c+1]]);const l={intervals:o,min:r.at(0),max:r.at(-1)},u=this._calculateHistogramBins(a,l,i);return this._createFeaturesFromHistogramBins(u,t)}async _createFixedIntervalBinsResponse(e,t,i){const{field:s,interval:a,normalizationType:n,start:r,end:o}=e,l=await this._getDataValues({field:e.field,normalizationField:e.normalizationField,normalizationType:n,normalizationTotal:e.normalizationTotal,timeZone:t.outTimeReference?.ianaTimeZone},i),u=v(this.fieldsIndex.get(s)),c=Z(l,{field:s,classificationMethod:"defined-interval",definedInterval:a,minValue:h(n?e.normalizationMinValue:r,u),maxValue:h(n?e.normalizationMaxValue:o,u)},!0),m=this._calculateHistogramBins(l,c,i);return this._createFeaturesFromHistogramBins(m,t)}async _createFeaturesFromHistogramBins(e,t){const{upperBoundaryAlias:i,lowerBoundaryAlias:s}=t,a=s||"lowerBoundary",n=i||"upperBoundary",r=[],o=[{name:a,alias:a,type:"esriFieldTypeDouble"},{name:n,alias:n,type:"esriFieldTypeDouble"}],l=t.bin?.stackBy?.value,u=t.bin?.stackBy?.outAlias;l&&o.push({name:H,alias:H,type:"esriFieldTypeInteger"},{name:u??l,alias:u??l,type:"esriFieldTypeString"});let c=0;const m="dateBin"===t.bin.type,d=t.outTimeReference?.ianaTimeZone;for(const p of e){const{minValue:e,maxValue:i,items:s}=p,f={attributes:{}};let h;if(f.attributes[a]=m&&d&&null!=e?E.fromMillis(e,{zone:d}).toISO():e,t.bin.hideUpperBound||(f.attributes[n]=m&&d&&null!=i?E.fromMillis(i,{zone:d}).toISO():i),l?(h=await this._createStatisticsQueryResponse({...t,groupByFieldsForStatistics:[l],orderByFields:[l]},s),f.attributes[H]=++c,"flat"===t.bin.jsonStyle?r.push(...h.features.map(({attributes:{EXPR_1:e,...t},...i})=>({...i,attributes:u??e?{...t,[u??e]:e,...f.attributes}:{...t,...f.attributes}}))):(f.stackedAttributes=h.features.map(({attributes:{EXPR_1:e,...t}})=>u??e?{...t,[u??e]:e}:t),r.push(f))):(t.bin?.splitBy&&(f.attributes[H]=++c),h=await this._createStatisticsQueryResponse(t,s,f),r.push(f)),h.fields)for(const t of h.fields)o.some(e=>e.name===t.name)||o.push(t)}return"desc"===t.binOrder&&r.reverse(),{fields:o,features:r}}}function k(e,t,i,s){const a=s.x-i.x,n=s.y-i.y,r=t.x-i.x,o=t.y-i.y,l=a*a+n*n;if(0===l)return!1;const u=r*a+o*n,c=Math.min(1,Math.max(0,u/l));return e.x=i.x+a*c,e.y=i.y+n*c,!0}function J(e,t){return e?t?4:3:t?3:2}class Q{constructor(e,t){this.coords=e,this.coordsIndex=t}get x(){return this.coords[this.coordsIndex]}get y(){return this.coords[this.coordsIndex+1]}get z(){return this.coords[this.coordsIndex+2]}}const Y=[1];export{U as QueryEngineResult};
|
|
@@ -12,10 +12,8 @@ import type GraphObjectType from "../../rest/knowledgeGraph/GraphObjectType.js";
|
|
|
12
12
|
import type FeatureSet from "../../rest/support/FeatureSet.js";
|
|
13
13
|
import type Query from "../../rest/support/Query.js";
|
|
14
14
|
import type ElevationInfo from "../../symbols/support/ElevationInfo.js";
|
|
15
|
-
import type { MultiOriginJSONMixin, MultiOriginJSONMixinProperties } from "../../core/MultiOriginJSONSupport.js";
|
|
16
15
|
import type { FeatureGeometryType } from "../../geometry/types.js";
|
|
17
16
|
import type { FeatureLayerCapabilities } from "../types.js";
|
|
18
|
-
import type { KnowledgeGraphSublayerBase, KnowledgeGraphSublayerBaseProperties } from "./KnowledgeGraphSublayerBase.js";
|
|
19
17
|
import type { BlendLayer, BlendLayerProperties } from "../mixins/BlendLayer.js";
|
|
20
18
|
import type { DisplayFilteredLayer, DisplayFilteredLayerProperties } from "../mixins/DisplayFilteredLayer.js";
|
|
21
19
|
import type { FeatureEffectLayer, FeatureEffectLayerProperties } from "../mixins/FeatureEffectLayer.js";
|
|
@@ -25,7 +23,7 @@ import type { RefreshableLayer, RefreshableLayerProperties } from "../mixins/Ref
|
|
|
25
23
|
import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "../mixins/ScaleRangeLayer.js";
|
|
26
24
|
import type { TemporalLayer, TemporalLayerProperties } from "../mixins/TemporalLayer.js";
|
|
27
25
|
import type { FieldDomainOptions } from "../mixins/properties/ILayerWithGetField.js";
|
|
28
|
-
import type {
|
|
26
|
+
import type { DomainUnion } from "../support/types.js";
|
|
29
27
|
import type { RendererUnion } from "../../renderers/types.js";
|
|
30
28
|
import type { RequestOptions } from "../../request/types.js";
|
|
31
29
|
import type { QueryProperties } from "../../rest/support/Query.js";
|
|
@@ -45,7 +43,7 @@ import type { SimpleRendererProperties } from "../../renderers/SimpleRenderer.js
|
|
|
45
43
|
import type { FeatureTemplateProperties } from "../support/FeatureTemplate.js";
|
|
46
44
|
import type { LayerProperties } from "../Layer.js";
|
|
47
45
|
|
|
48
|
-
export interface KnowledgeGraphSublayerProperties extends LayerProperties,
|
|
46
|
+
export interface KnowledgeGraphSublayerProperties extends LayerProperties, RefreshableLayerProperties, ScaleRangeLayerProperties, TemporalLayerProperties, OrderedLayerProperties, BlendLayerProperties, FeatureEffectLayerProperties, FeatureReductionLayerProperties, DisplayFilteredLayerProperties, Partial<Pick<KnowledgeGraphSublayer, "definitionExpression" | "graphType" | "labelsVisible" | "legendEnabled" | "objectIdField" | "objectType" | "parentCompositeLayer" | "popupEnabled">> {
|
|
49
47
|
/**
|
|
50
48
|
* Specifies how features are placed on the vertical axis (z). This property may only be used
|
|
51
49
|
* in a [SceneView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/)
|
|
@@ -610,7 +608,7 @@ export default class KnowledgeGraphSublayer extends KnowledgeGraphSublayerSuperc
|
|
|
610
608
|
* console.log("domain", domain)
|
|
611
609
|
* });
|
|
612
610
|
*/
|
|
613
|
-
getFieldDomain(fieldName: string, options?: FieldDomainOptions):
|
|
611
|
+
getFieldDomain(fieldName: string, options?: FieldDomainOptions): DomainUnion | null | undefined;
|
|
614
612
|
/**
|
|
615
613
|
* Executes a [Query](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-Query.html) against the knowledge graph service and
|
|
616
614
|
* returns the [Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) of features that satisfy the query. If no
|
|
@@ -792,4 +790,4 @@ export default class KnowledgeGraphSublayer extends KnowledgeGraphSublayerSuperc
|
|
|
792
790
|
*/
|
|
793
791
|
queryObjectIds(query?: QueryProperties | null | undefined, options?: RequestOptions): Promise<ObjectId[]>;
|
|
794
792
|
}
|
|
795
|
-
declare const KnowledgeGraphSublayerSuperclass: typeof Layer & typeof
|
|
793
|
+
declare const KnowledgeGraphSublayerSuperclass: typeof Layer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof TemporalLayer & typeof OrderedLayer & typeof BlendLayer & typeof FeatureEffectLayer & typeof FeatureReductionLayer & typeof DisplayFilteredLayer
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type ControlPointsGeoreference from "
|
|
2
|
-
import type CornersGeoreference from "
|
|
3
|
-
import type ExtentAndRotationGeoreference from "
|
|
4
|
-
import type ImageElement from "
|
|
5
|
-
import type VideoElement from "
|
|
1
|
+
import type ControlPointsGeoreference from "../support/ControlPointsGeoreference.js";
|
|
2
|
+
import type CornersGeoreference from "../support/CornersGeoreference.js";
|
|
3
|
+
import type ExtentAndRotationGeoreference from "../support/ExtentAndRotationGeoreference.js";
|
|
4
|
+
import type ImageElement from "../support/ImageElement.js";
|
|
5
|
+
import type VideoElement from "../support/VideoElement.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Represents animation options, a collection of properties that apply when the [ImageElement#image](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-ImageElement.html#image) is an animated GIF or APNG.
|
|
@@ -30,10 +30,10 @@ export type MediaElement = ImageElement | VideoElement;
|
|
|
30
30
|
|
|
31
31
|
export type Georeference = CornersGeoreference | ExtentAndRotationGeoreference | ControlPointsGeoreference;
|
|
32
32
|
|
|
33
|
-
export type
|
|
33
|
+
export type HTMLImageContainer = HTMLImageElement | HTMLCanvasElement;
|
|
34
34
|
|
|
35
|
-
export type
|
|
35
|
+
export type ImageBinarySource = HTMLImageContainer | ImageData;
|
|
36
36
|
|
|
37
|
-
export type
|
|
37
|
+
export type ImageSource = string | ImageBinarySource;
|
|
38
38
|
|
|
39
|
-
export type
|
|
39
|
+
export type VideoSource = string | HTMLVideoElement | null | undefined;
|
|
@@ -41,7 +41,7 @@ import type MeasureLengthFromImageResult from "../../rest/support/MeasureLengthF
|
|
|
41
41
|
import type { AbortOptions } from "../../core/promiseUtils.js";
|
|
42
42
|
import type { GeometryUnion } from "../../geometry/types.js";
|
|
43
43
|
import type { DynamicFetchRasterOptions, OperationCapabilities, QueryCapabilities } from "../types.js";
|
|
44
|
-
import type { RasterInterpolation, RasterNoDataInterpretation, RasterPixelType, RasterFormats } from "../
|
|
44
|
+
import type { RasterInterpolation, RasterNoDataInterpretation, RasterPixelType, RasterFormats } from "../raster/types.js";
|
|
45
45
|
import type { PixelData, RasterMultidimensionalInfo, RasterFunctionInfo } from "../support/types.js";
|
|
46
46
|
import type { RasterRendererUnion } from "../../renderers/support/raster/types.js";
|
|
47
47
|
import type { RequestOptions } from "../../request/types.js";
|
|
@@ -10,7 +10,7 @@ import type ImageSampleResult from "../../rest/support/ImageSampleResult.js";
|
|
|
10
10
|
import type TimeExtent from "../../time/TimeExtent.js";
|
|
11
11
|
import type TimeInterval from "../../time/TimeInterval.js";
|
|
12
12
|
import type { FetchRasterOptions, RasterIdentifyOptions } from "../types.js";
|
|
13
|
-
import type { RasterInterpolation } from "../
|
|
13
|
+
import type { RasterInterpolation } from "../raster/types.js";
|
|
14
14
|
import type { RasterIdentifyResult } from "../support/types.js";
|
|
15
15
|
import type { RasterRendererUnion } from "../../renderers/support/raster/types.js";
|
|
16
16
|
import type { RequestOptions } from "../../request/types.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type Extent from "../../../geometry/Extent.js";
|
|
2
2
|
import type Polygon from "../../../geometry/Polygon.js";
|
|
3
3
|
import type RasterInfo from "../../support/RasterInfo.js";
|
|
4
|
+
import type { RasterInterpolation } from "../types.js";
|
|
4
5
|
import type { WCSVersion } from "./types.js";
|
|
5
|
-
import type { RasterInterpolation } from "../../support/RasterTypes.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Coverage information associated with a WCS service. It returns information related to coordinate reference systems, spatial and range domains, and formats supported by a service.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { RasterPixelType } from "../../types.js";
|
|
1
2
|
import type { BaseRasterFunctionParameters, RasterArgument, RasterPrimaryArgument, BaseNRasterFunctionParameters } from "../types.js";
|
|
2
|
-
import type { RasterPixelType } from "../../../support/RasterTypes.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* SetNull parameters
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type RasterFunction from "../../support/RasterFunction.js";
|
|
2
|
-
import type { RasterPixelType } from "
|
|
2
|
+
import type { RasterPixelType } from "../types.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Raster argument used to specify raster(s) used in raster processing.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
2
|
export type RasterInterpolation = "nearest" | "bilinear" | "cubic" | "majority";
|
|
3
3
|
|
|
4
|
-
export type
|
|
4
|
+
export type RasterTypedArrayUnion = Int8Array<ArrayBuffer> | Uint8Array<ArrayBuffer> | Uint8ClampedArray<ArrayBuffer> | Int16Array<ArrayBuffer> | Uint16Array<ArrayBuffer> | Int32Array<ArrayBuffer> | Uint32Array<ArrayBuffer> | Float32Array<ArrayBuffer> | Float64Array<ArrayBuffer>;
|
|
5
5
|
|
|
6
|
-
export type RasterNumArray =
|
|
6
|
+
export type RasterNumArray = RasterTypedArrayUnion | number[];
|
|
7
7
|
|
|
8
8
|
/** The output pixel type. */
|
|
9
9
|
export type RasterPixelType = "unknown" | "u1" | "u2" | "u4" | "u8" | "s8" | "u16" | "s16" | "u32" | "s32" | "f32" | "f64" | "c64" | "c128";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type Multipoint from "../../geometry/Multipoint.js";
|
|
2
2
|
import type Point from "../../geometry/Point.js";
|
|
3
3
|
import type Polyline from "../../geometry/Polyline.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { GroundElevationLayerUnion } from "../types.js";
|
|
5
5
|
|
|
6
6
|
/** Supported geometries to query elevation for. */
|
|
7
7
|
export type QueryGeometry = Point | Multipoint | Polyline;
|
|
@@ -31,5 +31,5 @@ export interface SampleInfo {
|
|
|
31
31
|
* The elevation source from which
|
|
32
32
|
* the data for the corresponding coordinate was sampled.
|
|
33
33
|
*/
|
|
34
|
-
source?:
|
|
34
|
+
source?: GroundElevationLayerUnion;
|
|
35
35
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type FeatureTemplate from "./FeatureTemplate.js";
|
|
2
2
|
import type { ClonableMixin, ClonableMixinProperties } from "../../core/Clonable.js";
|
|
3
3
|
import type { JSONSupport, JSONSupportMixinProperties } from "../../core/JSONSupport.js";
|
|
4
|
-
import type {
|
|
4
|
+
import type { DomainUnion } from "./types.js";
|
|
5
5
|
import type { FeatureTemplateProperties } from "./FeatureTemplate.js";
|
|
6
6
|
|
|
7
7
|
export interface FeatureTypeProperties extends JSONSupportMixinProperties, ClonableMixinProperties, Partial<Pick<FeatureType, "domains" | "id" | "name">> {
|
|
@@ -25,7 +25,7 @@ export default class FeatureType extends FeatureTypeSuperclass {
|
|
|
25
25
|
* [CodedValueDomain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-CodedValueDomain.html) or [RangeDomain](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-RangeDomain.html) then the domain is defined
|
|
26
26
|
* specifically for the given feature type.
|
|
27
27
|
*/
|
|
28
|
-
accessor domains: Record<string,
|
|
28
|
+
accessor domains: Record<string, DomainUnion>;
|
|
29
29
|
/** The feature type identifier. */
|
|
30
30
|
accessor id: number | string;
|
|
31
31
|
/** The feature type name. */
|