@arcgis/core 5.0.0-next.70 → 5.0.0-next.72
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.js +1 -1
- package/analysis/Dimension/types.d.ts +5 -1
- package/analysis/DistanceMeasurementAnalysis.d.ts +22 -3
- package/analysis/ElevationProfile/types.d.ts +10 -2
- package/analysis/ShadowCast/DiscreteOptions.d.ts +4 -0
- package/analysis/ShadowCast/MinDurationOptions.d.ts +7 -0
- package/analysis/ShadowCast/TotalDurationOptions.d.ts +4 -0
- package/analysis/ShadowCastAnalysis.d.ts +51 -8
- package/analysis/Slice/types.d.ts +5 -1
- package/analysis/VolumeMeasurement/types.d.ts +5 -1
- package/analysis/VolumeMeasurement/volumeMeasurementConfiguration.js +1 -1
- package/analysis/types.d.ts +39 -7
- package/applications/Components/QuantityFormatter.js +1 -1
- package/applications/Components/analysisUtils.d.ts +1 -2
- package/applications/Components/analysisUtils.js +1 -1
- package/applications/Components/imageryUtils.d.ts +2 -2
- package/applications/Components/testUtils.d.ts +2 -0
- package/applications/KnowledgeStudio/dataModelVisualization.d.ts +1 -0
- package/applications/KnowledgeStudio/generalSdkInternalAccess.d.ts +59 -13
- package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +1 -1
- package/applications/PortalApp/layerUtils.d.ts +1 -0
- package/applications/Urban/LineImagePattern3D.d.ts +2 -0
- package/applications/Urban/imagePatternUtils.d.ts +4 -0
- package/arcade.d.ts +20 -11
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/00631252e8bd4a456253.js +1 -0
- package/assets/esri/core/workers/chunks/{322085d63719da6e443c.js → 0c02b084ae30ba138c5d.js} +1 -1
- package/assets/esri/core/workers/chunks/0f2f1731543ed21db0a8.js +1 -0
- package/assets/esri/core/workers/chunks/1b201d83e9ba7d8615c0.js +1 -0
- package/assets/esri/core/workers/chunks/1b284a6f32effe28aafc.js +1 -0
- package/assets/esri/core/workers/chunks/1bd5b421152fb0f46aa5.js +37 -0
- package/assets/esri/core/workers/chunks/{2e2c47f8a80ee9234350.js → 1d8fc0239c907ff5d1e8.js} +1 -1
- package/assets/esri/core/workers/chunks/{b4f944ef6c174b20b619.js → 23545a9adc75564ecf6e.js} +1 -1
- package/assets/esri/core/workers/chunks/261b5a5db022ef580a1b.js +1 -0
- package/assets/esri/core/workers/chunks/2bd59ece927b5c1c9f80.js +1 -0
- package/assets/esri/core/workers/chunks/{37e46461da3000949a26.js → 2d8b8880e6bff4414e95.js} +1 -1
- package/assets/esri/core/workers/chunks/2fba74bae99ece15706c.js +1 -0
- package/assets/esri/core/workers/chunks/2fc64404bc42b7250086.js +1 -0
- package/assets/esri/core/workers/chunks/33cbfc34d5e2fc1a1a4f.js +1 -0
- package/assets/esri/core/workers/chunks/35887be3e4a218268d99.js +1 -0
- package/assets/esri/core/workers/chunks/3596ae4cb2bd2f3f35d9.js +1 -0
- package/assets/esri/core/workers/chunks/37814bf052ab59a5fb9e.js +1 -0
- package/assets/esri/core/workers/chunks/4e0d299054da075e5103.js +1 -0
- package/assets/esri/core/workers/chunks/50186162cd6d7c2ef0f9.js +1 -0
- package/assets/esri/core/workers/chunks/543ea1a0e7a6f1d267d1.js +1 -0
- package/assets/esri/core/workers/chunks/{dbfb00fb28b8b9f687a1.js → 5bbf20135c87a1cc8a18.js} +1 -1
- package/assets/esri/core/workers/chunks/5ed31ec0f53c1d55c4ea.js +1 -0
- package/assets/esri/core/workers/chunks/{c448540065690cac0744.js → 6087d5dc40bb62ec48c8.js} +1 -1
- package/assets/esri/core/workers/chunks/6309e8beedf5e7f2a50f.js +1 -0
- package/assets/esri/core/workers/chunks/{1a45b4b4803337f4b99f.js → 64985e9b6e2edb3ceb37.js} +38 -38
- package/assets/esri/core/workers/chunks/65475370cc4ebe2aa657.js +1 -0
- package/assets/esri/core/workers/chunks/65d9f3bc88472008443a.js +1 -0
- package/assets/esri/core/workers/chunks/6ab0f16f5c8806855c47.js +1 -0
- package/assets/esri/core/workers/chunks/7e37a3005f2ad2c0a918.js +1 -0
- package/assets/esri/core/workers/chunks/7f2496a59379e1a61ee5.js +1 -0
- package/assets/esri/core/workers/chunks/88379cd8e8e1c7ae3c7c.js +1 -0
- package/assets/esri/core/workers/chunks/{244006d4b0547d574401.js → 935a6dccb88557f98189.js} +143 -140
- package/assets/esri/core/workers/chunks/{a808be466812db51813d.js → 9382af94bf6bf1b09c8c.js} +1 -1
- package/assets/esri/core/workers/chunks/{8e83c133b201b9b61e70.js → 979bc762ccc0d3fc2467.js} +1 -1
- package/assets/esri/core/workers/chunks/9c417f4dfb19e4c4bd71.js +1 -0
- package/assets/esri/core/workers/chunks/a554ad74be03b1ed1a72.js +1 -0
- package/assets/esri/core/workers/chunks/{e6e837e43b9348050832.js → a67c86f4254807eb6a05.js} +1 -1
- package/assets/esri/core/workers/chunks/{1ec1a1997b5577619040.js → b211b53aa7616a093b90.js} +1 -1
- package/assets/esri/core/workers/chunks/{866477acdf03b8a40bc9.js → bd1d159dce4094694c93.js} +1 -1
- package/assets/esri/core/workers/chunks/c31babdb59382b6bc007.js +1 -0
- package/assets/esri/core/workers/chunks/c8182c2cbb0ead202af6.js +1 -0
- package/assets/esri/core/workers/chunks/ce218c10b209b58e04fd.js +1 -0
- package/assets/esri/core/workers/chunks/ceef586d8cc8adc4d249.js +1 -0
- package/assets/esri/core/workers/chunks/d13e8ce9270dc0662b87.js +1 -0
- package/assets/esri/core/workers/chunks/db28d00171240b4fffac.js +1 -0
- package/assets/esri/core/workers/chunks/{8d6641d0f7c93f83c414.js → db9c7182847e8f96ffe3.js} +1 -1
- package/assets/esri/core/workers/chunks/dbd382546837aa7709e2.js +1 -0
- package/assets/esri/core/workers/chunks/{6c9dac4a869742cc2718.js → e246b256347a281c13fd.js} +1 -1
- package/assets/esri/core/workers/chunks/ea6f897f21b4f30e8e99.js +1 -0
- package/assets/esri/core/workers/chunks/{a10c6dd3bb8b3602de68.js → ee175fd4ec706f7878c0.js} +1 -1
- package/assets/esri/core/workers/chunks/{e8a3ad00936f2ccaf362.js → f0a667d8d33bc51c795d.js} +1 -1
- package/assets/esri/core/workers/chunks/f65b27fc0bc2f242aac7.js +1 -0
- package/assets/esri/core/workers/chunks/{29b09db309ff75fb3e97.js → f65d26588d2d80680a26.js} +1 -1
- package/assets/esri/core/workers/chunks/f72e6c903f55ce95a6c5.js +1 -0
- package/assets/esri/core/workers/chunks/{5dd5be91038df8902dc4.js → f7dfbf24859f4ac2421b.js} +1 -1
- package/assets/esri/core/workers/chunks/f893e10d660e819cca45.js +1 -0
- package/assets/esri/core/workers/chunks/{878010ca23da0bca9405.js → fb1ed5ef2f95ab093346.js} +1 -1
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/chunks/lyr3DMain.js +1 -1
- package/config.js +1 -1
- package/core/Version.d.ts +11 -2
- package/core/accessorSupport/types.d.ts +35 -5
- package/core/quantityFormatUtils.js +1 -1
- package/core/sql/types.d.ts +226 -31
- package/core/types.d.ts +24 -4
- package/core/workers/registry.js +1 -1
- package/editing/sharedTemplates/types.d.ts +1 -0
- package/editing/types.d.ts +2 -0
- package/effects/types.d.ts +1 -0
- package/form/ExpressionInfo.d.ts +1 -1
- package/form/FormTemplate.d.ts +4 -4
- package/form/elements/GroupElement.d.ts +1 -1
- package/form/elements/RelationshipElement.d.ts +3 -3
- package/form/elements/inputs/attachments/AttachmentInput.d.ts +2 -1
- package/form/elements/inputs/attachments/AudioInput.d.ts +1 -0
- package/form/elements/inputs/attachments/DocumentInput.d.ts +1 -0
- package/form/elements/inputs/attachments/ImageInput.d.ts +1 -0
- package/form/elements/inputs/attachments/Input.d.ts +5 -1
- package/form/elements/inputs/attachments/SignatureInput.d.ts +1 -0
- package/form/elements/inputs/attachments/VideoInput.d.ts +1 -0
- package/form/elements/inputs/attachments/types.d.ts +12 -3
- package/form/elements/inputs.d.ts +2 -2
- package/form/types.d.ts +3 -0
- package/geometry/geometryEngineTypes.d.ts +49 -9
- package/geometry/operators/types.d.ts +29 -4
- package/geometry/spatialReferenceEllipsoidUtils.js +1 -1
- package/geometry/support/MeshVertexAttributes.d.ts +21 -2
- package/geometry/support/meshUtils/types.d.ts +126 -18
- package/geometry/types.d.ts +37 -6
- package/ground/NavigationConstraint.d.ts +3 -0
- package/identity/IdentityManagerBase.d.ts +153 -27
- package/interfaces.d.ts +27 -27
- package/intl/date.d.ts +5 -0
- package/intl/locale.d.ts +1 -0
- package/intl/messages.d.ts +12 -2
- package/intl/number.d.ts +5 -0
- package/intl/substitute.d.ts +28 -5
- package/intl/t9n.d.ts +13 -2
- package/kernel.js +1 -1
- package/layers/GaussianSplatLayer.d.ts +87 -6
- package/layers/ImageryTileLayer.d.ts +8 -8
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/LinkChartLayer.d.ts +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/RouteLayer.d.ts +3 -3
- package/layers/buildingSublayers/utils.d.ts +1 -0
- package/layers/effects/types.d.ts +12 -2
- package/layers/graphics/editingSupport.d.ts +202 -38
- package/layers/graphics/sources/ParquetSource.d.ts +23 -4
- package/layers/knowledgeGraph/IdTypePair.d.ts +15 -3
- package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.d.ts +61 -9
- package/layers/knowledgeGraph/LayoutMode.d.ts +1 -0
- package/layers/knowledgeGraph/dataModelVisualizationUtils.d.ts +6 -0
- package/layers/media/types.d.ts +25 -4
- package/layers/mixins/ArcGISImageService.d.ts +8 -9
- package/layers/mixins/ArcGISMapService.d.ts +5 -1
- package/layers/mixins/EditBusLayer.d.ts +3 -5
- package/layers/mixins/ImageryTileMixin.d.ts +2 -4
- package/layers/mixins/RasterJobHandlerMixin.js +1 -1
- package/layers/mixins/ScaleRange.d.ts +11 -2
- package/layers/mixins/properties/ILayerWithGetFeatureTitle.d.ts +11 -2
- package/layers/mixins/properties/ILayerWithGetField.d.ts +6 -1
- package/layers/ogc/ogcFeatureUtils.d.ts +2 -0
- package/layers/ogc/types.d.ts +55 -10
- package/layers/ogc/wcsUtils.d.ts +1 -0
- package/layers/ogc/wfsUtils.d.ts +8 -17
- package/layers/orientedImagery/core/ElevationSourceDefinitions.d.ts +6 -1
- package/layers/orientedImagery/transformations/types.d.ts +117 -21
- package/layers/orientedImagery/types.d.ts +37 -6
- package/layers/pointCloudFilters/typeUtils.d.ts +1 -0
- package/layers/raster/datasets/TIFFRaster.js +1 -1
- package/layers/raster/datasets/pixelReader.d.ts +2 -0
- package/layers/raster/datasets/types.d.ts +1 -0
- package/layers/raster/datasets/wcsCapabilitiesParser.d.ts +86 -17
- package/layers/raster/datasets/wcsCoverageParser.d.ts +601 -115
- package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
- package/layers/raster/formats/JpgPlus.js +1 -1
- package/layers/raster/formats/RasterCodec.js +1 -1
- package/layers/raster/formats/Raw.js +1 -1
- package/layers/raster/formats/TiffDecoder.js +1 -1
- package/layers/raster/functions/changeDetectionUtils.d.ts +1 -0
- package/layers/raster/functions/creators/createAppearenceFunctions.d.ts +82 -15
- package/layers/raster/functions/creators/createBandIndexFunctions.d.ts +380 -70
- package/layers/raster/functions/creators/createChangeFunctions.d.ts +11 -2
- package/layers/raster/functions/creators/createConversionFunctions.d.ts +18 -3
- package/layers/raster/functions/creators/createDataManagementFunctions.d.ts +179 -35
- package/layers/raster/functions/creators/createLocalFunctions.d.ts +47 -9
- package/layers/raster/functions/creators/createMultiRasterAnalysisFunctions.d.ts +47 -9
- package/layers/raster/functions/creators/createStatisticsFunctions.d.ts +42 -8
- package/layers/raster/functions/creators/createSurfaceFunctions.d.ts +72 -11
- package/layers/raster/functions/focalStatUtils.d.ts +1 -0
- package/layers/raster/functions/rasterProjectionHelper.js +1 -1
- package/layers/raster/functions/types.d.ts +29 -5
- package/layers/raster/types.d.ts +498 -6
- package/layers/support/BuildingFilterBlock.d.ts +19 -3
- package/layers/support/BuildingFilterMode.d.ts +1 -0
- package/layers/support/BuildingFilterModeSolid.d.ts +7 -1
- package/layers/support/BuildingFilterModeWireFrame.d.ts +17 -3
- package/layers/support/BuildingFilterModeXRay.d.ts +7 -1
- package/layers/support/CodedValue.d.ts +16 -3
- package/layers/support/ControlPoint.d.ts +17 -3
- package/layers/support/EditFieldsInfo.d.ts +21 -4
- package/layers/support/EditingCapabilities.d.ts +36 -7
- package/layers/support/ElevationQuery.js +1 -1
- package/layers/support/ElevationTileData.d.ts +25 -5
- package/layers/support/FieldFormat.d.ts +1 -0
- package/layers/support/GeometryDescriptor.js +1 -1
- package/layers/support/GeoreferenceBase.d.ts +1 -0
- package/layers/support/KMLMapImage.d.ts +13 -2
- package/layers/support/LabelExpressionInfo.d.ts +9 -1
- package/layers/support/MosaicRule.d.ts +41 -1
- package/layers/support/ParquetGeometryEncodingLocation.d.ts +13 -2
- package/layers/support/ParquetGeometryEncodingWkb.d.ts +7 -0
- package/layers/support/PixelBlock.d.ts +9 -4
- package/layers/support/PurgeOptions.d.ts +15 -2
- package/layers/support/RasterInfo.d.ts +1 -2
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/SpriteSource.d.ts +28 -6
- package/layers/support/layerUtils.d.ts +4 -0
- package/layers/support/rasterFunctionConstants.d.ts +39 -0
- package/layers/support/types.d.ts +423 -227
- package/layers/types.d.ts +771 -196
- package/layers/video/types.d.ts +72 -14
- package/layers/voxel/VoxelColorStop.d.ts +17 -3
- package/layers/voxel/VoxelFormat.d.ts +15 -2
- package/layers/voxel/VoxelIsosurface.d.ts +17 -2
- package/layers/voxel/VoxelOpacityStop.d.ts +8 -1
- package/layers/voxel/VoxelRangeFilter.d.ts +12 -2
- package/layers/voxel/VoxelUniqueValue.d.ts +19 -3
- package/layers/wms/types.d.ts +104 -19
- package/layers/wmts/types.d.ts +1 -0
- package/linkChart/ChronologicalLayoutSettings.d.ts +1 -1
- package/linkChart/OrganicLayoutSettings.d.ts +1 -1
- package/linkChart/types.d.ts +2 -0
- package/networks/UtilityNetworkTraceAnalysis.d.ts +61 -10
- package/networks/support/jsonTypes.d.ts +373 -71
- package/networks/support/typeUtils.d.ts +10 -0
- package/networks/support/utils.d.ts +30 -6
- package/package.json +1 -1
- package/popup/content/types.d.ts +1 -0
- package/popup/types.d.ts +33 -5
- package/portal/jsonTypes.d.ts +231 -39
- package/portal/support/resourceUtils.d.ts +49 -9
- package/portal/types.d.ts +98 -14
- package/renderers/FlowRenderer.js +1 -1
- package/renderers/RasterStretchRenderer.d.ts +1 -1
- package/renderers/support/AuthoringInfoClassBreakInfo.d.ts +4 -0
- package/renderers/support/AuthoringInfoFieldInfo.d.ts +15 -2
- package/renderers/support/DotDensityLegendOptions.d.ts +4 -0
- package/renderers/support/HeatmapLegendOptions.d.ts +8 -0
- package/renderers/support/OthersCategory.d.ts +6 -0
- package/renderers/support/RendererLegendOptions.d.ts +14 -2
- package/renderers/support/pointCloud/ColorClassBreakInfo.d.ts +13 -1
- package/renderers/support/pointCloud/ColorModulation.d.ts +6 -0
- package/renderers/support/pointCloud/ColorUniqueValueInfo.d.ts +19 -3
- package/renderers/support/pointCloud/PointSizeAlgorithm.d.ts +1 -0
- package/renderers/support/pointCloud/PointSizeFixedSizeAlgorithm.d.ts +14 -2
- package/renderers/support/pointCloud/PointSizeSplatAlgorithm.d.ts +9 -1
- package/renderers/support/pointCloud/types.d.ts +7 -1
- package/renderers/support/raster/types.d.ts +22 -2
- package/renderers/support/types.d.ts +29 -2
- package/renderers/types.d.ts +47 -4
- package/renderers/visualVariables/support/SizeVariableLegendOptions.d.ts +4 -0
- package/renderers/visualVariables/support/VisualVariableLegendOptions.d.ts +9 -1
- package/request/types.d.ts +152 -24
- package/rest/featureService/FeatureService.d.ts +1 -1
- package/rest/featureService/types.d.ts +426 -80
- package/rest/geometryService/types.d.ts +23 -1
- package/rest/geoprocessor/GPOptions.d.ts +5 -5
- package/rest/geoprocessor/execute.d.ts +6 -0
- package/rest/imageService.d.ts +5 -5
- package/rest/knowledgeGraph/DataModel.d.ts +2 -2
- package/rest/knowledgeGraph/GraphAnyValue.d.ts +1 -0
- package/rest/knowledgeGraph/GraphDataModelSingletonOperationResult.d.ts +12 -2
- package/rest/knowledgeGraph/GraphDeleteNamedTypeResult.d.ts +1 -1
- package/rest/knowledgeGraph/GraphDeletePropertyResult.d.ts +1 -1
- package/rest/knowledgeGraph/GraphQuery.d.ts +1 -1
- package/rest/knowledgeGraph/GraphSearch.d.ts +3 -3
- package/rest/knowledgeGraph/GraphSearchStreaming.d.ts +3 -3
- package/rest/knowledgeGraph/SearchIndex.d.ts +1 -1
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +3 -3
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsResultJSON.d.ts +151 -29
- package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +1 -1
- package/rest/knowledgeGraph/wasmInterface/KnowledgeWasmInterface.d.ts +1 -0
- package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.d.ts +9 -0
- package/rest/knowledgeGraphService.d.ts +4 -4
- package/rest/lastMileDelivery/types.d.ts +5 -0
- package/rest/layerSources/DynamicDataLayer.d.ts +14 -2
- package/rest/layerSources/DynamicMapLayer.d.ts +14 -2
- package/rest/layerSources/JoinTableDataSource.d.ts +21 -2
- package/rest/layerSources/QueryTableDataSource.d.ts +33 -6
- package/rest/layerSources/RasterDataSource.d.ts +17 -3
- package/rest/layerSources/TableDataSource.d.ts +22 -4
- package/rest/networks/circuits/support/ExportCircuitsParameters.d.ts +8 -1
- package/rest/networks/circuits/support/QueryCircuitsParameters.d.ts +18 -3
- package/rest/networks/support/QueryNamedTraceConfigurationsParameters.d.ts +22 -4
- package/rest/print.d.ts +1 -1
- package/rest/query/support/AttachmentInfo.d.ts +1 -1
- package/rest/support/AddressToLocationsParameters.d.ts +39 -3
- package/rest/support/AddressesToLocationsParameters.d.ts +14 -0
- package/rest/support/BaseImageMeasureResultValue.d.ts +21 -4
- package/rest/support/ClosestFacilityParameters.d.ts +3 -3
- package/rest/support/ClosestFacilitySolveResult.d.ts +2 -2
- package/rest/support/DirectionsString.d.ts +16 -3
- package/rest/support/ImageMeasureResultAngleValue.d.ts +12 -2
- package/rest/support/ImageMeasureResultAreaValue.d.ts +12 -2
- package/rest/support/ImageMeasureResultLengthValue.d.ts +12 -2
- package/rest/support/LocateSetting.d.ts +12 -2
- package/rest/support/LocateSettingBase.d.ts +14 -2
- package/rest/support/LocateSettingSource.d.ts +12 -2
- package/rest/support/LocateSettings.d.ts +22 -4
- package/rest/support/LocateSettingsOverrides.d.ts +42 -8
- package/rest/support/LocationToAddressParameters.d.ts +7 -0
- package/rest/support/NetworkAttribute.d.ts +11 -2
- package/rest/support/NetworkServiceDescription.d.ts +20 -4
- package/rest/support/QuantizationParameters.d.ts +9 -0
- package/rest/support/Query.d.ts +2 -2
- package/rest/support/RouteParameters.d.ts +2 -5
- package/rest/support/RouteResult.d.ts +1 -1
- package/rest/support/ServiceAreaParameters.d.ts +1 -1
- package/rest/support/ServiceAreaSolveResult.d.ts +2 -2
- package/rest/support/SuggestLocationsParameters.d.ts +10 -0
- package/rest/support/SuggestionCandidate.d.ts +14 -2
- package/rest/support/types.d.ts +54 -4
- package/rest/symbolService.d.ts +2 -2
- package/rest/types.d.ts +50 -5
- package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.d.ts +22 -4
- package/rest/versionManagement/gdbVersion/support/PostResult.d.ts +6 -1
- package/rest/versionManagement/gdbVersion/support/ReconcileParameters.d.ts +10 -1
- package/rest/versionManagement/gdbVersion/support/ReconcileResult.d.ts +8 -1
- package/rest/versionManagement/support/CreateVersionParameters.d.ts +13 -2
- package/rest/versionManagement/support/GetVersionInfosParameters.d.ts +8 -1
- package/smartMapping/heuristics/types.d.ts +50 -6
- package/smartMapping/popup/types.d.ts +29 -5
- package/smartMapping/raster/renderers/types.d.ts +12 -1
- package/smartMapping/raster/support/adapters/types.d.ts +1 -0
- package/smartMapping/renderers/color.d.ts +9 -3
- package/smartMapping/renderers/dotDensity.d.ts +3 -1
- package/smartMapping/renderers/heatmap.d.ts +3 -1
- package/smartMapping/renderers/location.d.ts +3 -1
- package/smartMapping/renderers/opacity.d.ts +3 -1
- package/smartMapping/renderers/pieChart.d.ts +3 -1
- package/smartMapping/renderers/predominance.d.ts +3 -1
- package/smartMapping/renderers/relationship.d.ts +3 -1
- package/smartMapping/renderers/size.d.ts +23 -7
- package/smartMapping/renderers/support/rendererUtils.d.ts +3 -1
- package/smartMapping/renderers/type.d.ts +3 -1
- package/smartMapping/renderers/univariateColorSize.d.ts +3 -1
- package/smartMapping/statistics/types.d.ts +16 -4
- package/smartMapping/symbology/type.d.ts +5 -1
- package/smartMapping/symbology/types.d.ts +1303 -241
- package/smartMapping/types.d.ts +5 -0
- package/statistics/types.d.ts +13 -2
- package/support/revision.js +1 -1
- package/symbols/callouts/LineCallout3DBorder.d.ts +4 -0
- package/symbols/cim/types.d.ts +764 -111
- package/symbols/patterns/LinePattern3D.d.ts +1 -0
- package/symbols/patterns/Pattern3D.d.ts +1 -0
- package/symbols/support/IconSymbol3DLayerResource.d.ts +7 -0
- package/symbols/support/ObjectSymbol3DLayerResource.d.ts +7 -0
- package/symbols/support/OccludedVisibility.d.ts +3 -0
- package/symbols/support/Symbol3DAnchorPosition2D.d.ts +4 -0
- package/symbols/support/Symbol3DAnchorPosition3D.d.ts +5 -0
- package/symbols/support/Symbol3DFillMaterial.d.ts +4 -0
- package/symbols/support/Symbol3DHalo.d.ts +10 -0
- package/symbols/support/Symbol3DIconOutline.d.ts +10 -0
- package/symbols/support/Symbol3DMaterial.d.ts +6 -0
- package/symbols/support/Symbol3DOutline.d.ts +21 -2
- package/symbols/support/Symbol3DTextBackground.d.ts +12 -2
- package/symbols/support/symbolUtils.d.ts +5 -1
- package/symbols/support/types.d.ts +4 -0
- package/symbols/types.d.ts +67 -7
- package/tables/AttributeTableTemplate.d.ts +2 -2
- package/tables/elements/AttributeTableAttachmentElement.d.ts +1 -1
- package/tables/elements/AttributeTableElement.d.ts +2 -2
- package/tables/elements/AttributeTableFieldElement.d.ts +1 -1
- package/tables/elements/AttributeTableGroupElement.d.ts +1 -1
- package/tables/elements/AttributeTableRelationshipElement.d.ts +1 -1
- package/tables/support/FieldOrder.d.ts +16 -3
- package/tables/support/tablesUtils.d.ts +1 -0
- package/time/types.d.ts +4 -0
- package/versionManagement/VersionManagementService.d.ts +3 -6
- package/versionManagement/VersionManager.d.ts +126 -23
- package/versionManagement/VersioningState.d.ts +1 -1
- package/versionManagement/support/jsonTypes.d.ts +152 -30
- package/versionManagement/support/type.d.ts +2 -0
- package/versionManagement/versionAdapters/types.d.ts +25 -5
- package/views/2d/MapViewConstraints.d.ts +37 -5
- package/views/2d/analysis/AnalysisView2D.d.ts +5 -1
- package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +28 -4
- package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +28 -4
- package/views/2d/analysis/types.d.ts +5 -1
- package/views/2d/engine/flow/BrushFlow.js +1 -1
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/flow/FlowStrategy.js +1 -1
- package/views/2d/engine/flow/FlowView2D.js +1 -1
- package/views/2d/engine/flow/ProcessingTimeEstimate.js +5 -0
- package/views/2d/engine/flow/animatedValues.js +5 -0
- package/views/2d/engine/flow/dataUtils.js +1 -1
- package/views/2d/engine/flow/flowPathsIO.js +5 -0
- package/views/2d/engine/flow/styles/AFlowResources.js +5 -0
- package/views/2d/engine/flow/styles/Imagery.js +1 -1
- package/views/2d/engine/flow/styles/Particles.js +1 -1
- package/views/2d/engine/flow/styles/Stack.js +1 -1
- package/views/2d/engine/flow/styles/Streamlines.js +1 -1
- package/views/2d/engine/flow/utils.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/support/MediaLayerInteractionOptions.d.ts +1 -0
- package/views/2d/layers/types.d.ts +1 -0
- package/views/2d/types.d.ts +93 -6
- package/views/3d/analysis/AnalysisView3D.d.ts +5 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementController.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/types.d.ts +24 -4
- package/views/3d/analysis/LineOfSight/types.d.ts +1 -0
- package/views/3d/analysis/ShadowCastAnalysisView3D.d.ts +19 -3
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/types.d.ts +5 -1
- package/views/3d/analysis/support/measurementUtils.js +1 -1
- package/views/3d/analysis/types.d.ts +25 -3
- package/views/3d/constraints/AltitudeConstraint.d.ts +5 -0
- package/views/3d/constraints/ClipDistanceConstraint.d.ts +13 -2
- package/views/3d/constraints/Constraints.d.ts +26 -4
- package/views/3d/constraints/TiltConstraint.d.ts +5 -0
- package/views/3d/environment/SceneViewEnvironment.d.ts +9 -0
- package/views/3d/environment/types.d.ts +3 -0
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/support/Segment.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
- package/views/3d/layers/support/MediaLayerInteractionOptions.d.ts +15 -2
- package/views/3d/layers/support/MediaLayerInteractionReshapeOptions.d.ts +3 -0
- package/views/3d/types.d.ts +52 -0
- package/views/3d/webgl/ManagedColorAttachment.d.ts +2 -0
- package/views/3d/webgl/ManagedDepthAttachment.d.ts +2 -0
- package/views/3d/webgl/ManagedFBO.d.ts +4 -0
- package/views/3d/webgl/ManagedFBOAttachment.d.ts +1 -0
- package/views/3d/webgl/ManagedFBOResource.d.ts +5 -0
- package/views/3d/webgl/types.d.ts +32 -6
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +20 -22
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +9 -5
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +8 -6
- package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +9 -8
- package/views/MapViewOrSceneView.d.ts +1 -0
- package/views/SceneView.d.ts +59 -0
- package/views/SceneView.js +1 -1
- package/views/View.d.ts +2 -2
- package/views/View2D.d.ts +37 -0
- package/views/View2D.js +1 -1
- package/views/Viewport2DMixin.d.ts +9 -6
- package/views/analysis/AnalysisView.d.ts +2 -0
- package/views/analysis/AreaMeasurement/types.d.ts +18 -3
- package/views/analysis/DistanceMeasurement/types.d.ts +13 -2
- package/views/analysis/ElevationProfile/ElevationProfileLineGroundComputation.js +1 -1
- package/views/analysis/ElevationProfile/elevationProfileGenerationUtils.js +1 -1
- package/views/analysis/types.d.ts +7 -1
- package/views/animation/easing.js +1 -1
- package/views/animation/types.d.ts +3 -4
- package/views/draw/CursorUpdateEvent.d.ts +24 -4
- package/views/draw/DrawAction.d.ts +4 -6
- package/views/draw/DrawCompleteEvent.d.ts +18 -3
- package/views/draw/VertexAddEvent.d.ts +19 -3
- package/views/draw/VertexRemoveEvent.d.ts +19 -3
- package/views/draw/types.d.ts +4 -0
- package/views/input/types.d.ts +371 -57
- package/views/interactive/sketch/SketchTooltipVisibleElements.d.ts +19 -1
- package/views/interactive/sketch/Units.d.ts +5 -0
- package/views/interactive/tooltip/types.d.ts +2 -0
- package/views/layers/HighlightLayerViewMixin.d.ts +59 -1
- package/views/layers/HighlightLayerViewMixin.js +1 -1
- package/views/layers/ImageryLayerViewMixin.d.ts +60 -2
- package/views/layers/ImageryTileLayerViewMixin.d.ts +2 -0
- package/views/layers/LayerView.d.ts +6 -0
- package/views/layers/MediaLayerViewMixin.d.ts +8 -1
- package/views/layers/types.d.ts +3 -0
- package/views/navigation/types.d.ts +6 -1
- package/views/support/AttributionItem.d.ts +10 -2
- package/views/support/MeasurementWorker.js +5 -0
- package/views/support/MeasurementWorkerHandle.js +5 -0
- package/views/support/automaticAreaMeasurementUtils.js +1 -1
- package/views/support/geodesicAreaMeasurementUtils.js +1 -1
- package/views/support/geodesicLengthMeasurementUtils.js +1 -1
- package/views/types.d.ts +306 -53
- package/views/ui/types.d.ts +42 -6
- package/webdoc/Widgets.d.ts +26 -5
- package/webdoc/geotriggersInfo/support/typeUtils.d.ts +3 -0
- package/webdoc/support/SlideThumbnail.d.ts +4 -0
- package/webdoc/support/types.d.ts +11 -2
- package/webdoc/support/webdocSaveUtils.d.ts +6 -0
- package/webdoc/widgets/FloorFilter.d.ts +25 -4
- package/webmap/Version.d.ts +1 -0
- package/webscene/Version.d.ts +1 -0
- package/webscene/support/Description.d.ts +3 -0
- package/webscene/support/SlideEnvironment.d.ts +6 -0
- package/webscene/support/SlideGround.d.ts +7 -1
- package/webscene/support/SlideVisibleLayer.d.ts +5 -0
- package/webscene/support/Title.d.ts +3 -0
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/Attachments/types.d.ts +32 -6
- package/widgets/BasemapGallery/types.d.ts +3 -0
- package/widgets/BasemapLayerList/BasemapLayerListVisibleElements.d.ts +14 -0
- package/widgets/BasemapLayerList/types.d.ts +1 -0
- package/widgets/BatchAttributeForm/VisibleElements.d.ts +7 -1
- package/widgets/BatchAttributeForm/inputs/SingleFeatureInput.d.ts +2 -0
- package/widgets/BatchAttributeForm/inputs/TextElementInput.d.ts +14 -2
- package/widgets/BatchAttributeForm/inputs/types.d.ts +2 -0
- package/widgets/BatchAttributeForm/types.d.ts +75 -14
- package/widgets/BatchAttributeForm.d.ts +2 -2
- package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +30 -9
- package/widgets/Bookmarks/types.d.ts +32 -10
- package/widgets/CatalogLayerList/CatalogLayerListVisibleElements.d.ts +11 -0
- package/widgets/CatalogLayerList/types.d.ts +1 -0
- package/widgets/Daylight/VisibleElements.d.ts +11 -1
- package/widgets/Daylight/types.d.ts +8 -2
- package/widgets/DirectionalPad/VisibleElements.d.ts +6 -0
- package/widgets/DirectionalPad/types.d.ts +13 -2
- package/widgets/Directions/DirectionsViewModel.d.ts +2 -2
- package/widgets/Directions/DirectionsVisibleElements.d.ts +8 -0
- package/widgets/Editor/CreateFeaturesWorkflowData.d.ts +3 -3
- package/widgets/Editor/EditorViewModel.d.ts +2 -3
- package/widgets/Editor/Edits.d.ts +1 -2
- package/widgets/Editor/SplitFeatureWorkflow.d.ts +2 -2
- package/widgets/Editor/VisibleElements.d.ts +46 -13
- package/widgets/Editor/support/EditorEditingCapabilities.d.ts +46 -9
- package/widgets/Editor/types.d.ts +149 -24
- package/widgets/ElevationProfile/ElevationProfileVisibleElements.d.ts +13 -1
- package/widgets/ElevationProfile/types.d.ts +87 -14
- package/widgets/Expand.d.ts +2 -2
- package/widgets/Feature/types.d.ts +105 -18
- package/widgets/FeatureForm/GroupInput.d.ts +1 -1
- package/widgets/FeatureForm/RelationshipInput.d.ts +1 -1
- package/widgets/FeatureForm/TextElementInput.d.ts +3 -5
- package/widgets/FeatureForm/UtilityNetworkAssociationInput.d.ts +1 -1
- package/widgets/FeatureForm/VisibleElements.d.ts +7 -1
- package/widgets/FeatureForm/types.d.ts +3 -0
- package/widgets/FeatureForm.d.ts +1 -1
- package/widgets/FeatureTable/ColumnMenuVisibleElements.d.ts +4 -0
- package/widgets/FeatureTable/FeatureTableViewModel.d.ts +14 -4
- package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.d.ts +2 -0
- package/widgets/FeatureTable/Grid/types.d.ts +137 -24
- package/widgets/FeatureTable/TableMenuVisibleElements.d.ts +10 -0
- package/widgets/FeatureTable/VisibleElements.d.ts +16 -2
- package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
- package/widgets/FeatureTable/support/types.d.ts +155 -27
- package/widgets/FeatureTable.d.ts +3 -3
- package/widgets/FeatureTemplates/VisibleElements.d.ts +4 -0
- package/widgets/FeatureTemplates/types.d.ts +17 -2
- package/widgets/Features/FeaturesVisibleElements.d.ts +12 -0
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/Histogram/types.d.ts +14 -2
- package/widgets/HistogramRangeSlider/types.d.ts +1 -0
- package/widgets/LayerList/LayerListVisibleElements.d.ts +10 -0
- package/widgets/LayerList/types.d.ts +8 -0
- package/widgets/Legend/styles/card/CardView.d.ts +13 -2
- package/widgets/Legend/styles/classic/ClassicView.d.ts +11 -2
- package/widgets/Measurement/types.d.ts +3 -0
- package/widgets/OrientedImageryViewer/types.d.ts +15 -3
- package/widgets/Popup/PopupVisibleElements.d.ts +11 -0
- package/widgets/Popup/types.d.ts +64 -7
- package/widgets/Print/FileLink.d.ts +36 -6
- package/widgets/Print/types.d.ts +77 -13
- package/widgets/ScaleRangeSlider/types.d.ts +4 -0
- package/widgets/ScaleRangeSlider.d.ts +5 -1
- package/widgets/Search/SearchResultRenderer.d.ts +0 -2
- package/widgets/Search/SearchSource.d.ts +2 -2
- package/widgets/Search/SearchViewModel.d.ts +6 -7
- package/widgets/Search/types.d.ts +4 -4
- package/widgets/ShadowCast/ShadowCastVisibleElements.d.ts +15 -1
- package/widgets/ShadowCast/types.d.ts +8 -2
- package/widgets/Sketch/CreateToolVisibilityMap.d.ts +19 -4
- package/widgets/Sketch/SelectionToolVisibilityMap.d.ts +4 -0
- package/widgets/Sketch/VisibleElements.d.ts +38 -6
- package/widgets/Sketch/types.d.ts +364 -60
- package/widgets/Slider/types.d.ts +249 -46
- package/widgets/Swipe/types.d.ts +6 -0
- package/widgets/TableList/TableListVisibleElements.d.ts +11 -0
- package/widgets/TableList/types.d.ts +5 -0
- package/widgets/TimeSlider/types.d.ts +45 -7
- package/widgets/Track/types.d.ts +4 -1
- package/widgets/UtilityNetworkAssociations/VisibleElements.d.ts +23 -4
- package/widgets/UtilityNetworkAssociations/VisibleElementsSettingsPane.d.ts +7 -0
- package/widgets/UtilityNetworkTrace/types.d.ts +26 -5
- package/widgets/ValuePicker/ValuePickerBaseComponent.d.ts +2 -0
- package/widgets/ValuePicker/ValuePickerSliderVisibleElements.d.ts +7 -1
- package/widgets/ValuePicker/ValuePickerVisibleElements.d.ts +9 -1
- package/widgets/ValuePicker/types.d.ts +8 -0
- package/widgets/Weather/VisibleElements.d.ts +6 -1
- package/widgets/Weather/types.d.ts +1 -0
- package/widgets/smartMapping/types.d.ts +63 -6
- package/widgets/support/GridControls/VisibleElements.d.ts +11 -0
- package/widgets/support/GridControls/types.d.ts +1 -0
- package/widgets/support/SnappingControls/VisibleElements.d.ts +26 -4
- package/widgets/support/forms/types.d.ts +2 -0
- package/widgets/support/types.d.ts +19 -3
- package/widgets/types.d.ts +549 -89
- package/assets/esri/core/workers/chunks/0367a8580fede8f804f9.js +0 -1
- package/assets/esri/core/workers/chunks/14f4f5b7549cea7b5a6a.js +0 -1
- package/assets/esri/core/workers/chunks/1b475593c80d7bccdda5.js +0 -1
- package/assets/esri/core/workers/chunks/27ec8688f72130239b98.js +0 -1
- package/assets/esri/core/workers/chunks/2dd347aa2a061d536e69.js +0 -1
- package/assets/esri/core/workers/chunks/2f6fa33692478e99d24b.js +0 -1
- package/assets/esri/core/workers/chunks/329b10897c6965948b84.js +0 -1
- package/assets/esri/core/workers/chunks/35593a9790818b689455.js +0 -1
- package/assets/esri/core/workers/chunks/3e7ea06b342e33bc48a5.js +0 -1
- package/assets/esri/core/workers/chunks/401ce5cb98fa14c1a725.js +0 -1
- package/assets/esri/core/workers/chunks/4387aaf9d5e8f6d1833d.js +0 -1
- package/assets/esri/core/workers/chunks/668a868fe2dcb6384ac9.js +0 -1
- package/assets/esri/core/workers/chunks/6acfa51b81e6f4255118.js +0 -1
- package/assets/esri/core/workers/chunks/6f8098f9fe233833245a.js +0 -1
- package/assets/esri/core/workers/chunks/76dbaef0d0794913f36f.js +0 -1
- package/assets/esri/core/workers/chunks/7c5218eae13d3bd30598.js +0 -1
- package/assets/esri/core/workers/chunks/7fc09382f934e9223a9b.js +0 -1
- package/assets/esri/core/workers/chunks/822ef6a043c7e147b4b6.js +0 -1
- package/assets/esri/core/workers/chunks/980313a6c35e79812d17.js +0 -1
- package/assets/esri/core/workers/chunks/98d68b145226e7527c84.js +0 -33
- package/assets/esri/core/workers/chunks/9c157c0eeadb824ad01e.js +0 -1
- package/assets/esri/core/workers/chunks/a39ac9127a215d14d412.js +0 -1
- package/assets/esri/core/workers/chunks/a893f8db2477cf677ac8.js +0 -1
- package/assets/esri/core/workers/chunks/a95e28ade258b144cbb5.js +0 -1
- package/assets/esri/core/workers/chunks/abcee7cfd53cfe1d91e9.js +0 -1
- package/assets/esri/core/workers/chunks/b9f0d313f59fc7c43560.js +0 -1
- package/assets/esri/core/workers/chunks/bbe2eaef7edfa33b6eea.js +0 -1
- package/assets/esri/core/workers/chunks/bfdf646d4c8f175a4236.js +0 -1
- package/assets/esri/core/workers/chunks/d749aa62ad694147aebe.js +0 -1
- package/assets/esri/core/workers/chunks/d7d9656b990ce8be2152.js +0 -1
- package/assets/esri/core/workers/chunks/df92239eefff04471a0b.js +0 -1
- package/assets/esri/core/workers/chunks/ee2ca25048a920e43743.js +0 -1
- package/assets/esri/core/workers/chunks/eeb24a4ab4993f1f4e8e.js +0 -1
- package/assets/esri/core/workers/chunks/fe5d2735f057c7789f4b.js +0 -1
- package/views/2d/engine/flow/FlowDisplayData.js +0 -5
- package/views/support/GeodesicMeasurementWorker.js +0 -5
- package/views/support/GeodesicMeasurementWorkerHandle.js +0 -5
|
@@ -3,67 +3,116 @@ import type MultipartColorRamp from "../../../../rest/support/MultipartColorRamp
|
|
|
3
3
|
import type { BaseRasterFunctionParameters } from "../types.js";
|
|
4
4
|
import type { RasterColorRampName } from "../../../../renderers/support/raster/types.js";
|
|
5
5
|
|
|
6
|
+
/** @since 5.0 */
|
|
6
7
|
export interface SlopeParameters extends BaseRasterFunctionParameters {
|
|
7
8
|
/**
|
|
8
9
|
* Pixel size factor accounts for changes in scale as the viewer zooms in and out on the map display. It controls the rate at which the zFactor changes.
|
|
9
10
|
* This parameter is only valid when the `slopeType` is `adjusted`.
|
|
11
|
+
*
|
|
12
|
+
* @since 5.0
|
|
10
13
|
*/
|
|
11
14
|
pixelSizePower?: number;
|
|
12
15
|
/**
|
|
13
16
|
* Pixel Size Power accounts for the altitude changes (or scale) as the viewer zooms in and out on the map display. It is the exponent applied to the pixel
|
|
14
17
|
* size term in the equation that controls the rate at which the zFactor changes to avoid significant loss of relief.
|
|
15
18
|
* This parameter is only valid when the `slopeType` is `adjusted`.
|
|
19
|
+
*
|
|
20
|
+
* @since 5.0
|
|
16
21
|
*/
|
|
17
22
|
pixelSizeZFactor?: number;
|
|
18
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Remove edge effect when true
|
|
25
|
+
*
|
|
26
|
+
* @since 5.0
|
|
27
|
+
*/
|
|
19
28
|
removeEdgeEffect?: boolean;
|
|
20
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* The slope type
|
|
31
|
+
*
|
|
32
|
+
* @since 5.0
|
|
33
|
+
*/
|
|
21
34
|
slopeType: "degree" | "percent-rise" | "adjusted";
|
|
22
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* A ratio of z unit / xy unit, with optional exaggeration factored in.
|
|
37
|
+
*
|
|
38
|
+
* @since 5.0
|
|
39
|
+
*/
|
|
23
40
|
zFactor: number;
|
|
24
41
|
}
|
|
25
42
|
|
|
43
|
+
/** @since 5.0 */
|
|
26
44
|
export interface CurvatureParameters extends BaseRasterFunctionParameters {
|
|
27
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* The curvature type
|
|
47
|
+
*
|
|
48
|
+
* @since 5.0
|
|
49
|
+
*/
|
|
28
50
|
curvatureType: "standard" | "planform" | "profile";
|
|
29
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* A ratio of z unit / xy unit, with optional exaggeration factored in.
|
|
53
|
+
*
|
|
54
|
+
* @since 5.0
|
|
55
|
+
*/
|
|
30
56
|
zFactor: number;
|
|
31
57
|
}
|
|
32
58
|
|
|
59
|
+
/** @since 5.0 */
|
|
33
60
|
export interface HillshadeParameters extends BaseRasterFunctionParameters {
|
|
34
61
|
/**
|
|
35
62
|
* Altitude is the sun's angle of elevation above the horizon and ranges from 0 to 90 degrees.
|
|
36
63
|
* A value of 0 degrees indicates that the sun is on the horizon, that is, on the same horizontal plane as the frame of reference.
|
|
37
64
|
* A value of 90 degrees indicates that the sun is directly overhead. This parameter is only valid when `hillshadeType` is `traditional`.
|
|
65
|
+
*
|
|
66
|
+
* @since 5.0
|
|
38
67
|
*/
|
|
39
68
|
altitude?: number;
|
|
40
69
|
/**
|
|
41
70
|
* Azimuth is the sun's relative position along the horizon (in degrees).
|
|
42
71
|
* This position is indicated by the angle of the sun measured clockwise from due north. An azimuth of 0 degrees indicates north,
|
|
43
72
|
* east is 90 degrees, south is 180 degrees, and west is 270 degrees. This parameter is only valid when `hillshadeType` is `traditional`.
|
|
73
|
+
*
|
|
74
|
+
* @since 5.0
|
|
44
75
|
*/
|
|
45
76
|
azimuth?: number;
|
|
46
|
-
/**
|
|
77
|
+
/**
|
|
78
|
+
* The hillshade type. Controls the illumination source for the hillshade.
|
|
79
|
+
*
|
|
80
|
+
* @since 5.0
|
|
81
|
+
*/
|
|
47
82
|
hillshadeType: "traditional" | "multi-directional";
|
|
48
83
|
/**
|
|
49
84
|
* It accounts for the altitude changes (or scale) as the viewer zooms in and out on the map display.
|
|
50
85
|
* It is the exponent applied to the pixel size term in the equation that controls the rate at which the zFactor changes to avoid significant
|
|
51
86
|
* loss of relief. This parameter is only valid when the `scalingType` is `adjusted`.
|
|
87
|
+
*
|
|
88
|
+
* @since 5.0
|
|
52
89
|
*/
|
|
53
90
|
pixelSizePower?: number;
|
|
54
91
|
/**
|
|
55
92
|
* It accounts for changes in scale as the viewer zooms in and out on the map display. It controls
|
|
56
93
|
* the rate at which the zFactor changes. This parameter is only valid when the `scalingType` is `adjusted`.
|
|
94
|
+
*
|
|
95
|
+
* @since 5.0
|
|
57
96
|
*/
|
|
58
97
|
pixelSizeZFactor?: number;
|
|
59
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Use to avoid any resampling artifacts that may occur along the edges of a raster. The output pixels along the edge of a raster or beside NoData pixels will be populated with NoData.
|
|
100
|
+
*
|
|
101
|
+
* @since 5.0
|
|
102
|
+
*/
|
|
60
103
|
removeEdgeEffect?: boolean;
|
|
61
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* The shaded result is scaled dynamically by adjusting the zFactor.
|
|
106
|
+
*
|
|
107
|
+
* @since 5.0
|
|
108
|
+
*/
|
|
62
109
|
scalingType?: "none" | "adjusted";
|
|
63
110
|
/**
|
|
64
111
|
* The zFactor is a scaling factor used to convert the elevation values for two purposes:
|
|
65
112
|
* 1. Convert the elevation units (such as meters or feet) to the horizontal coordinate units of the data, which may be feet, meters, or degrees.
|
|
66
113
|
* 2. Add vertical exaggeration for visual effect.
|
|
114
|
+
*
|
|
115
|
+
* @since 5.0
|
|
67
116
|
*/
|
|
68
117
|
zFactor: number;
|
|
69
118
|
}
|
|
@@ -74,7 +123,11 @@ export interface HillshadeParameters extends BaseRasterFunctionParameters {
|
|
|
74
123
|
* @since 4.31
|
|
75
124
|
*/
|
|
76
125
|
export interface ShadedReliefWithColorRampParameters extends HillshadeParameters {
|
|
77
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* The color ramp used to generate the shaded relief.
|
|
128
|
+
*
|
|
129
|
+
* @since 5.0
|
|
130
|
+
*/
|
|
78
131
|
colorRamp: AlgorithmicColorRamp | MultipartColorRamp;
|
|
79
132
|
}
|
|
80
133
|
|
|
@@ -84,7 +137,11 @@ export interface ShadedReliefWithColorRampParameters extends HillshadeParameters
|
|
|
84
137
|
* @since 4.31
|
|
85
138
|
*/
|
|
86
139
|
export interface ShadedReliefWithColormapParameters extends HillshadeParameters {
|
|
87
|
-
/**
|
|
140
|
+
/**
|
|
141
|
+
* The color map used to generate the shaded relief.
|
|
142
|
+
*
|
|
143
|
+
* @since 5.0
|
|
144
|
+
*/
|
|
88
145
|
colormap: number[][];
|
|
89
146
|
}
|
|
90
147
|
|
|
@@ -94,6 +151,10 @@ export interface ShadedReliefWithColormapParameters extends HillshadeParameters
|
|
|
94
151
|
* @since 4.31
|
|
95
152
|
*/
|
|
96
153
|
export interface ShadedReliefWithColorRampNameParameters extends HillshadeParameters {
|
|
97
|
-
/**
|
|
154
|
+
/**
|
|
155
|
+
* The color ramp name used to generate the shaded relief.
|
|
156
|
+
*
|
|
157
|
+
* @since 5.0
|
|
158
|
+
*/
|
|
98
159
|
colorRampName: RasterColorRampName;
|
|
99
160
|
}
|
|
@@ -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{isSome as e}from"../../../core/arrayUtils.js";import t from"../../../core/Error.js";import{createResolver as n}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as i}from"../../../core/units.js";import o from"../../../geometry/Extent.js";import{P as r,a as s,g as a,h as l,j as c}from"../../../chunks/pe.js";import f from"../../../geometry/Point.js";import u from"../../../geometry/Polygon.js";import{projectWithoutEngine as m}from"../../../geometry/projectionUtils.js";import x from"../../../geometry/SpatialReference.js";import{getInfo as h}from"../../../geometry/support/spatialReferenceUtils.js";function p(){if(!N)throw new t("rasterprojectionhelper-project","projection operator is not loaded")}const g=(e,t,n,i=0)=>{if(1===n[0])return[0,0];let o=1,r=-1,s=1,a=-1;for(let g=0;g<e.length;g+=2)isNaN(e[g])||(o=o>e[g]?e[g]:o,r=r>e[g]?r:e[g],s=s>e[g+1]?e[g+1]:s,a=a>e[g+1]?a:e[g+1]);const{cols:l,rows:c}=t,f=(r-o)/l/n[0],u=(a-s)/c/n[1],m=2*i;let x=0,h=!1,p=[0,0];for(let g=0;g<l-3;g++){for(let t=0;t<c-3;t++){const n=g*c*2+2*t,i=(e[n]+e[n+4]+e[n+4*c]+e[n+4*c+4])/4,o=(e[n+1]+e[n+5]+e[n+4*c+1]+e[n+4*c+5])/4,r=Math.abs((i-e[n+2*c+2])/f),s=Math.abs((o-e[n+2*c+3])/u);if(r+s>x&&(x=r+s,p=[r,s]),m&&x>m){h=!0;break}}if(h)break}return p},y={3395:20037508.342789244,3410:17334193.943686873,3857:20037508.342788905,3975:17367530.445161372,4087:20037508.342789244,4088:20015108.787169147,6933:17367530.445161372,32662:20037508.342789244,53001:20015086.79602057,53002:10007543.39801029,53003:20015086.79602057,53004:20015086.79602057,53016:14152803.599503474,53017:17333573.624304302,53034:20015086.79602057,53079:20015114.352186374,53080:20015114.352186374,54001:20037508.342789244,54002:10018754.171394624,54003:20037508.342789244,54004:20037508.342789244,54016:14168658.027268292,54017:17367530.44516137,54034:20037508.342789244,54079:20037508.342789244,54080:20037508.342789244,54100:20037508.342789244,54101:20037508.342789244},d=32,w=4,M=w,R=new Map,P=new Map,S=500,b=39.37,G=96;let k,E,T,N=!1;async function j(){return k||(k=n(),E=await import("../../../geometry/operators/projectOperator.js"),T=await import("../../../geometry/operators/support/geographicTransformationUtils.js"),E.isLoaded()||await E.load(),T.isLoaded()||await T.load(),N=!0,k.resolve()),k.promise}function v(e,t,n){if(p(),n){const n=E.execute(e,t);return T.getTransformation(t,e.spatialReference,n)}return T.getTransformation(e.spatialReference,t,e)}function C(e,t,n,i){const r=e.spatialReference;if(!r||!t||r.equals(t))return e;p();const s=n.center,a=new o({xmin:s.x-e.x/2,xmax:s.x+e.x/2,ymin:s.y-e.y/2,ymax:s.y+e.y/2,spatialReference:r}),l=E.execute(a,t,{geographicTransformation:i}),c=$(t);return null==l||null!=c&&l.width>=c?_(e,r,t):{x:l.width,y:l.height}}function _(e,t,n){const o=i(t)/i(n);return{x:e.x*o,y:e.y*o}}function z(e,n,o){const{spatialReference:r}=o;if(!r||!n||r.equals(n))return e;if(r.isGeographic&&n.isGeographic)return _(e,r,n);if(p(),!N)throw new t("raster-projection-helper:project-dataset-resolution","geometry engine is not loaded");let{x:s,y:a}=e;const l=(s+a)/2*i(r);let c=1;l>30&&(c=30/l,s*=c,a*=c);const f=256,m=s*f/2,x=a*f/2,{x:h,y:g}=o.center,y=[];for(let t=0;t<=f;t++)y.push([h-m,g-x+t*a]);for(let t=1;t<=f;t++)y.push([h-m+t*s,g+x]);for(let t=1;t<=f;t++)y.push([h+m,g+x-t*a]);for(let t=1;t<f;t++)y.push([h+m-t*s,g-x]);y.push(y[0]);const d=new u({rings:[y],spatialReference:r}),w=E.execute(d,n);if(!w)return _(e,r,n);const M=w.extent,R=$(n);if(null==M||null!=R&&M.width>=R)return _(e,r,n);const P=xe(w.rings),S=s*a*f*f,b=Math.sqrt(P/S)/c,G={x:M.width/c/f,y:M.height/c/f},k={x:s*b,y:a*b},T=G.x*G.y;return Math.abs(T-k.x*k.y)/T<.1?G:k}function L(e,t){return("number"==typeof e?e:(e.x+e.y)/2)*i(t)*G*b}function I(e,t){const{pixelSize:n,extent:i}=e;return L(z(n,t,i),t)}function O(e,t=.01){return i(e)?t/i(e):0}function W(e,t,n,i=!0){const o=e.spatialReference;if(o.equals(t))return e;p();const r=E.execute(e,t,{geographicTransformation:n});return i&&r?(A([e],[r],o,t),r):r}function A(e,t,n,i){const o=ee(n,!0),r=ee(i,!0),s=O(n,S),a=O(i,S);if(s&&null!=o&&null!=r)for(let l=0;l<e.length;l++){const n=t[l];if(!n)continue;const{x:i}=e[l],{x:c}=n;c>=r[1]-a&&Math.abs(i-o[0])<s?n.x-=r[1]-r[0]:c<=r[0]+a&&Math.abs(i-o[1])<s&&(n.x+=r[1]-r[0])}}function F(e){const{inSR:t,outSR:n,preferPE:i}=e;if(t.equals(n)){const{points:t}=X(e,null);return t}if(t.isWebMercator&&n.isWGS84||t.isWGS84&&n.isWebMercator)return B(e);if(i){if(t.isGeographic)return Y(e);if(null!=U(t))return Y(e)}return q(e)}function q(e){const{points:t}=X(e,null),{inSR:n,outSR:i,datumTransformation:o}=e,r=t.map(e=>new f(e[0],e[1],n)),s=E.executeMany(r,i,{geographicTransformation:o});return o&&A(r,s,n,i),s.map(e=>e?[e.x,e.y]:[NaN,NaN])}function Y(e){const{inSR:t,outSR:n,datumTransformation:i}=e,o=U(t),{points:a,mask:f}=X(e,o);if(!t.isGeographic){const e=t.wkid?r.coordsys(t.wkid):r.fromString(t.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,t.wkt2||t.wkt);l.projToGeog(e,a.length,a)}if(null!=i&&i.steps.length){let e;const t=179.9955;if(n.isGeographic&&(e=a.map(([e])=>e>t?1:e<-t?-1:0)),i.steps.forEach(e=>{const t=e.wkid?r.geogtran(e.wkid):r.fromString(s.PE_TYPE_GEOGTRAN,e.wkt);c.geogToGeog(t,a.length,a,null,e.isInverse?s.PE_TRANSFORM_2_TO_1:s.PE_TRANSFORM_1_TO_2)}),e)for(let n=0;n<a.length;n++){const i=e[n],o=a[n][0],r=o>t?1:o<-t?-1:0;i&&r&&i!==r&&(a[n][0]=i>0?o+360:o-360)}}if(!n.isGeographic){const e=U(n,!0),t=null!=e&&e.isEnvelope?[e.bbox[1],e.bbox[3]]:[-90,90];K(a,t);const i=n.wkid?r.coordsys(n.wkid):r.fromString(n.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,n.wkt2||n.wkt);l.geogToProj(i,a.length,a)}let u=a;if(f&&a.length!==f.length){u=[];for(let e=0,t=0;e<f.length;e++)f[e]?u.push(a[t++]):u.push([NaN,NaN])}return u}function B(e){const{cols:t,rows:n,xres:i,yres:o,usePixelCenter:r,inSR:s,outSR:a}=e;let{xmin:l,ymax:c}=e;r&&(l+=i/2,c-=o/2);const u=[],x=[],h=Math.max(t,n);for(let g=0;g<h;g++){const e=l+i*Math.min(t,g),r=c-o*Math.min(n,g),h=m(new f({x:e,y:r,spatialReference:s}),s,a);g<=t&&u.push(h.x),g<=n&&x.push(h.y)}const p=[];for(let f=0;f<t;f++)for(let e=0;e<n;e++)p.push([u[f],x[e]]);return p}function U(e,t=!1){let n=e.wkid||e.wkt2||e.wkt;if(!n||e.isGeographic)return null;if(n=String(n),R.has(n)){const e=R.get(n);return t?e?.gcs:e?.pcs}const i=e.wkid?r.coordsys(e.wkid):r.fromString(e.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,e.wkt2||e.wkt),o=J(i,O(e,1e-4)),a=J(i,0,!0);return R.set(n,{pcs:o,gcs:a}),t?a:o}function J(e,t=0,n=!1){const i=a.generate(e),o=n?e.horizonGcsGenerate():e.horizonPcsGenerate();if(!i||!o?.length)return null;let r=!1,s=o.find(e=>1===e.getInclusive()&&1===e.getKind());if(!s){if(s=o.find(e=>1===e.getInclusive()&&0===e.getKind()),!s)return null;r=!0}const l=n?0:(2===i.getNorthPoleLocation()?1:0)|(2===i.getSouthPoleLocation()?2:0),c=i.isPannableRectangle(),f=s.getCoord();if(r)return{isEnvelope:r,isPannable:c,vertices:f,coef:null,bbox:[f[0][0]-t,f[0][1]-t,f[1][0]+t,f[1][1]+t],poleLocation:l};let u=0;const m=[];let[x,h]=f[0],[p,g]=f[0];for(let a=0,y=f.length;a<y;a++){u++,u===y&&(u=0);const[e,t]=f[a],[n,i]=f[u];if(i===t)m.push([e,n,t,i,2]);else{const o=(n-e)/(i-t||1e-4),r=e-o*t;t<i?m.push([o,r,t,i,0]):m.push([o,r,i,t,1])}x=x<e?x:e,h=h<t?h:t,p=p>e?p:e,g=g>t?g:t}return{isEnvelope:!1,isPannable:c,vertices:f,coef:m,bbox:[x,h,p,g],poleLocation:l}}function X(e,t){const n=[],{cols:i,rows:o,xres:r,yres:s,usePixelCenter:a}=e;let{xmin:l,ymax:c}=e;if(a&&(l+=r/2,c-=s/2),null==t){for(let e=0;e<i;e++)for(let t=0;t<o;t++)n.push([l+r*e,c-s*t]);return{points:n}}const f=new Uint8Array(i*o);if(t.isEnvelope){const{bbox:[e,a,u,m]}=t;for(let x=0,h=0;x<i;x++){const i=l+r*x,p=t.isPannable||i>=e&&i<=u;for(let e=0;e<o;e++,h++){const t=c-s*e;p&&t>=a&&t<=m&&(n.push([i,t]),f[h]=1)}}return{points:n,mask:f}}const u=t.coef,m=[];for(let x=0;x<o;x++){const e=c-s*x,t=[],n=[];for(let o=0;o<u.length;o++){const[i,r,s,a,l]=u[o];if(e===s&&s===a)t.push(i),t.push(r),n.push(2),n.push(2);else if(e>=s&&e<=a){const o=i*e+r;t.push(o),n.push(l)}}let i=t;if(t.length>2){let e=2===n[0]?0:n[0],o=t[0];i=[];for(let r=1;r<n.length;r++)2===n[r]&&r!==n.length-1||(n[r]!==e&&(i.push(0===e?Math.min(o,t[r-1]):Math.max(o,t[r-1])),e=n[r],o=t[r]),r===n.length-1&&i.push(0===n[r]?Math.min(o,t[r]):Math.max(o,t[r])));i.sort((e,t)=>e-t)}else t[0]>t[1]&&(i=[t[1],t[0]]);m.push(i)}for(let x=0,h=0;x<i;x++){const e=l+r*x;for(let t=0;t<o;t++,h++){const i=c-s*t,o=m[t];if(2===o.length)e>=o[0]&&e<=o[1]&&(n.push([e,i]),f[h]=1);else if(o.length>2){let t=!1;for(let n=0;n<o.length;n+=2)if(e>=o[n]&&e<=o[n+1]){t=!0;break}t&&(n.push([e,i]),f[h]=1)}}}return{points:n,mask:f}}function K(e,t){const[n,i]=t;for(let o=0;o<e.length;o++){const t=e[o][1];(t<n||t>i)&&(e[o]=[NaN,NaN])}}function D(e,t){const n=$(e[0].spatialReference);if(e.length<2||null==n)return e[0];if(t=t??O(e[0].spatialReference),1===(e=e.filter(e=>e.width>t)).length)return e[0];let{xmin:i,xmax:r,ymin:s,ymax:a}=e[0];for(let o=1;o<e.length;o++){const t=e[o];r=t.xmax+n*o,s=Math.min(s,t.ymin),a=Math.max(a,t.ymax)}return new o({xmin:i,xmax:r,ymin:s,ymax:a,spatialReference:e[0].spatialReference})}function H(t,n,i=null,r=!0){const s=t.spatialReference;if(s.equals(n)||!n)return t;const a=ne(t),l=$(s,!0),c=$(n);if(0===a||null==l||null==c){const e=Z(t,n,i,r);if(e&&null==l&&null!=c&&Math.abs(e.width-c)<O(n)&&E.isLoaded()){const i=U(s);if(null!=i&&0===i.poleLocation&&t.width<(i.bbox[2]-i.bbox[0])/2)return V(t,n)||e}return e}const f=t.clone().normalize();if(1===f.length&&t.xmax<l&&t.xmax-l/2>O(s)){const{xmin:e,xmax:n}=t;for(let i=0;i<=a;i++){const r=0===i?e:-l/2,c=i===a?n-l*i:l/2;f[i]=new o({xmin:r,xmax:c,ymin:t.ymin,ymax:t.ymax,spatialReference:s})}}const u=f.map(e=>Z(e,n,i,r)).filter(e);return 0===u.length?null:D(u)}function Q(e,t,n){if("extent"===e.type){const{xmin:t,ymin:n,xmax:i,ymax:o,spatialReference:r}=e;e=new u({rings:[[[t,o],[i,o],[i,n],[t,n],[t,o]]],spatialReference:r})}return e.spatialReference.equals(t)?e:(p(),E.execute(e,t,{geographicTransformation:n}))}function V(e,t){const n=$(t);if(null==n)return null;let{xmin:i,ymin:r,xmax:s,ymax:a}=e;const l=e.spatialReference,c=new u({spatialReference:l,rings:[[[i,r],[s,r],[s,a],[i,a],[i,r]]]}),f=E.execute(c,t);if(2!==f.rings.length||!f.rings[0].length||!f.rings[1].length)return null;const{rings:m}=f,x=O(l),h=new o({spatialReference:t});for(let o=0;o<2;o++){i=s=m[o][0][0],r=a=m[o][0][1];for(let e=0;e<m[o].length;e++)i=i>m[o][e][0]?m[o][e][0]:i,s=s<m[o][e][0]?m[o][e][0]:s,r=r>m[o][e][1]?m[o][e][1]:r,a=a<m[o][e][1]?m[o][e][1]:a;if(0===o)h.ymin=r,h.ymax=a,h.xmin=i,h.xmax=s;else if(h.ymin=Math.min(h.ymin,r),h.ymax=Math.max(h.ymax,a),Math.abs(s-n/2)<x)h.xmin=i,h.xmax=h.xmax+n;else{if(!(Math.abs(i+n/2)<x))return null;h.xmax=s+n}}return h}function Z(e,t,n,i=!0,o=!0){const r=e.spatialReference;if(r.equals(t)||!t)return e;p();const s=E.execute(e,t,{geographicTransformation:n});if(o&&t.isWebMercator&&s&&(s.ymax=Math.min(20037508.342787,s.ymax),s.ymin=Math.max(-20037508.342787,s.ymin),s.ymin>=s.ymax))return null;if(!i||!s)return s;const a=ee(r,!0),l=ee(t,!0);if(null==a||null==l)return s;const c=O(r,.001),u=O(r,S),m=O(t,.001);if(Math.abs(s.xmin-l[0])<m&&Math.abs(s.xmax-l[1])<m){const i=Math.abs(e.xmin-a[0]),o=Math.abs(a[1]-e.xmax);if(i<c&&o>u){s.xmin=l[0];const i=[];i.push(new f(e.xmax,e.ymin,r)),i.push(new f(e.xmax,(e.ymin+e.ymax)/2,r)),i.push(new f(e.xmax,e.ymax,r));const o=i.map(e=>W(e,t,n)).filter(e=>!isNaN(e?.x)).map(e=>e.x);s.xmax=Math.max.apply(null,o)}if(o<c&&i>u){s.xmax=l[1];const i=[];i.push(new f(e.xmin,e.ymin,r)),i.push(new f(e.xmin,(e.ymin+e.ymax)/2,r)),i.push(new f(e.xmin,e.ymax,r));const o=i.map(e=>W(e,t,n)).filter(e=>!isNaN(e?.x)).map(e=>e.x);s.xmin=Math.min.apply(null,o)}}else{const e=O(t,.001);Math.abs(s.xmin-l[0])<e&&(s.xmin=l[0]),Math.abs(s.xmax-l[1])<e&&(s.xmax=l[1])}return s}function $(e,t=!1){if(!e)return null;const n=t?20037508.342787:20037508.342788905;return e.isWebMercator?2*n:e.wkid&&e.isGeographic?360:2*y[e.wkid]||null}function ee(e,t=!1){if(e.isGeographic)return[-180,180];const n=$(e,t);return null!=n?[-n/2,n/2]:null}function te(e,t,n,i){let o=(e-t)/n;return o-Math.floor(o)!==0?o=Math.floor(o):i&&(o-=1),o}function ne(e,t=!1){const n=$(e.spatialReference);if(null==n)return 0;const i=t?0:-(n/2),o=O(e.spatialReference),r=!t&&Math.abs(e.xmax-n/2)<o?n/2:e.xmax,s=!t&&Math.abs(e.xmin+n/2)<o?-n/2:e.xmin;return te(r,i,n,!0)-te(s,i,n,!1)}function ie(e){const t=e.storageInfo.origin.x,n=$(e.spatialReference,!0);if(null==n)return{originX:t,halfWorldWidth:null,pyramidsInfo:null};const i=n/2,{nativePixelSize:o,storageInfo:r,extent:s}=e,{maximumPyramidLevel:a,blockWidth:l,pyramidScalingFactor:c}=r;let f=o.x;const u=[],m=null!=e.transform&&"gcs-shift"===e.transform.type,x=t+(m?0:i),h=m?n-t:i-t;for(let p=0;p<=a;p++){const e=(s.xmax-t)/f/l,n=e-Math.floor(e)===0?e:Math.ceil(e),i=h/f/l,o=i-Math.floor(i)===0?i:Math.ceil(i),r=Math.floor(x/f/l),a=Math.round(x/f)%l,m=(l-Math.round(h/f)%l)%l;u.push({resolutionX:f,blockWidth:l,datasetColumnCount:n,worldColumnCountFromOrigin:o,leftMargin:a,rightPadding:m,originColumnOffset:r}),f*=c}return{originX:t,halfWorldWidth:i,pyramidsInfo:u,hasGCSSShiftTransform:m}}function oe(e){if(!e||e.isGeographic)return e;const t=String(e.wkid||e.wkt2||e.wkt);let n;if(P.has(t))n=P.get(t);else{n=(e.wkid?r.coordsys(e.wkid):r.fromString(s.PE_TYPE_PROJCS,e.wkt2||e.wkt)).getGeogcs().getCode(),P.set(t,n)}return new x({wkid:n})}function re(e){const t=e.isAdaptive&&null==e.spacing;let n=e.spacing||[d,d],i=se(e),o={cols:i.size[0]+1,rows:i.size[1]+1};const r=i.outofBoundPointCount>0&&i.outofBoundPointCount<i.offsets.length/2;let s=i.outofBoundPointCount===i.offsets.length/2||t&&r?[0,0]:g(i.offsets,o,n,M);const a=(s[0]+s[1])/2,l=e.projectedExtent.spatialReference,c=e.srcBufferExtent.spatialReference;if(t&&(r||a>M)&&(l.isGeographic||U(l),n=[w,w],i=se({...e,spacing:n}),o={cols:i.size[0]+1,rows:i.size[1]+1},s=g(i.offsets,o,n,M)),i.error=s,n[0]>1&&(i.coefficients=ae(i.offsets,o,r)),e.includeGCSGrid&&!l.isGeographic&&!l.isWebMercator)if(c.isGeographic)i.gcsGrid={offsets:i.offsets,coefficients:i.coefficients,spacing:n};else{const t=U(l);if(null!=t&&!t.isEnvelope){const t=oe(l),s=H(e.projectedExtent,t),{offsets:a}=se({...e,srcBufferExtent:s,spacing:n}),c=ae(a,o,r);i.gcsGrid={offsets:a,coefficients:c,spacing:n}}}return i}function se(e){const{projectedExtent:t,srcBufferExtent:n,pixelSize:i,datumTransformation:o,rasterTransform:r}=e,s=t.spatialReference,a=n.spatialReference;p();const{xmin:l,ymin:c,xmax:u,ymax:m}=t,x=$(a),h=null!=x&&(e.hasWrapAround||"gcs-shift"===r?.type),g=e.spacing||[d,d],y=g[0]*i.x,M=g[1]*i.y,R=1===g[0],P=Math.ceil((u-l)/y-.1/g[0])+(R?0:1),b=Math.ceil((m-c)/M-.1/g[1])+(R?0:1),G=F({cols:P,rows:b,xmin:l,ymax:m,xres:y,yres:M,inSR:s,outSR:a,datumTransformation:o,preferPE:g[0]<=w,usePixelCenter:R}),k=[];let E,T=0;const N=R?-1:NaN,{xmin:j,xmax:v,ymax:C,width:_,height:z}=n,L=O(a,S),I=null!=x&&j>0&&v>x/2,W=U(s),A=null!=W&&W.poleLocation>0;for(let p=0;p<P;p++){const e=[];for(let t=0;t<b;t++){let n=G[p*b+t];if(h&&n[0]>v&&n[0]>x/2-L?n[0]-=x:h&&0===p&&n[0]<0&&I&&!r&&(n[0]+=x),!n||isNaN(n[0])||isNaN(n[1]))k.push(N),k.push(N),e.push(null),T++;else{if(r){const e=r.inverseTransform(new f({x:n[0],y:n[1],spatialReference:a}));n=[e.x,e.y]}e.push(n),p>0&&h&&E[t]&&n[0]<E[t][0]&&(n[0]+=x,A&&n[0]>v&&n[0]>x&&(n[0]-=x)),k.push((n[0]-j)/_),k.push((C-n[1])/z)}}E=e}return{offsets:k,error:null,coefficients:null,outofBoundPointCount:T,spacing:g,size:R?[P,b]:[P-1,b-1]}}function ae(e,t,n){const{cols:i,rows:o}=t,r=new Float32Array((i-1)*(o-1)*2*6),s=new Float32Array([-0,-1,1,-1,1,-0,1,-0,-0]),a=new Float32Array([-1,1,0,0,-1,1,1,0,0]);for(let l=0;l<i-1;l++){for(let t=0;t<o-1;t++){let n=l*o*2+2*t;const c=e[n],f=e[n+1],u=e[n+2],m=e[n+3];n+=2*o;const x=e[n],h=e[n+1],p=e[n+2],g=e[n+3];let y=0,d=12*(t*(i-1)+l);for(let e=0;e<3;e++)r[d++]=s[y++]*c+s[y++]*u+s[y++]*p;y=0;for(let e=0;e<3;e++)r[d++]=s[y++]*f+s[y++]*m+s[y++]*g;y=0;for(let e=0;e<3;e++)r[d++]=a[y++]*c+a[y++]*x+a[y++]*p;y=0;for(let e=0;e<3;e++)r[d++]=a[y++]*f+a[y++]*h+a[y++]*g}if(n)for(let e=0;e<r.length;e++)isNaN(r[e])&&(r[e]=-1)}return r}function le(e,t){const n=e.clone().normalize();return 1===n.length?n[0]:D(n,t)}function ce(e){const{spatialReference:t}=e,n=h(t);if(!n)return e;const[i,r]=n.valid,s=r-i;let a=0;if(e.xmin<i){const t=i-e.xmin;a=Math.ceil(t/s)}else if(e.xmin>r){const t=e.xmin-r;a=-Math.ceil(t/s)}return new o({spatialReference:e.spatialReference,xmin:e.xmin+a*s,ymin:e.ymin,xmax:e.xmax+a*s,ymax:e.ymax})}function fe(e,t,n){const{storageInfo:o,pixelSize:r}=t;let s=0,a=!1;const{pyramidResolutions:l}=o,c="mixed"===o.tileInfo.format?.toLowerCase()?Math.max(1,Math.min(3,o.tileInfo.dpi/96)):1,u=(e.x+e.y)/2/c;if(null!=l&&l.length){const e=l[l.length-1],o=(e.x+e.y)/2,c=(r.x+r.y)/2;if(u<=c)s=0;else if(u>=o)s=l.length,a=u/o>8;else{let e,t=c;for(let i=1;i<=l.length;i++){if(e=(l[i-1].x+l[i-1].y)/2,u<=e){u===e?s=i:"down"===n?(s=i-1,a=u/t>8):s="up"===n||u-t>e-u||u/t>2?i:i-1;break}t=e}}const m=0===s?r:l[s-1];if(a){Math.min(m.x,m.y)*i(t.spatialReference)>19567&&(a=!1)}return{pyramidLevel:s,pyramidResolution:new f({x:m.x,y:m.y,spatialReference:t.spatialReference}),excessiveReading:a}}const m=Math.log(e.x/r.x)/Math.LN2,x=Math.log(e.y/r.y)/Math.LN2,h=t.storageInfo.maximumPyramidLevel||0;s="down"===n?Math.floor(Math.min(m,x)):"up"===n?Math.ceil(Math.max(m,x)):Math.round((m+x)/2),s<0?s=0:s>h&&(a=s>h+3,s=h);const p=2**s;return{pyramidLevel:s,pyramidResolution:new f({x:p*t.nativePixelSize.x,y:p*t.nativePixelSize.y,spatialReference:t.spatialReference}),excessiveReading:a}}function ue(e,t,n=!1){const{pixelSize:i,extent:o}=e,r=v(o,t,!1),s=H(le(o,(i.x+i.y)/16),t,r);return!s||n||0===ne(s)?s:Z(o,t,r)}function me(e,t,n){const i=n?.tileSize??512,o=n?.alignGlobalDatasetWithAGOL??!0,r=!!n?.limitToSrcResolution,{extent:s,spatialReference:a,pixelSize:l}=e,c=z(l,t,s);if(null==c)return{projectedPixelSize:null,scales:null,srcResolutions:null,isCustomTilingScheme:!1};const f=(c.x+c.y)/2,u=L(f,t),m=t.isGeographic?256/i*295828763.7958547:256/i*591657527.591555;let h="vector-magdir"===e.dataType||"vector-uv"===e.dataType;const p=ue(e,t,!0),g=Math.min(Math.ceil(Math.log(Math.min(e.width,e.height)/32)/Math.LN2),Math.ceil(Math.log(m/2/u)/Math.LN2));if(!h&&p&&o&&(t.isGeographic||t.isWebMercator)){const n=$(t);if(h=ne(p)>0||null!=n&&p.width>n/4,!h&&null!=n){let t=-1;if(g<3)t=2**g*f*i;else if(e.storageInfo){const{maximumPyramidLevel:n=0,pyramidScalingFactor:o=2}=e.storageInfo;t=o**n*f*i}const o=Math.ceil(n/t);h=1===o||2===o&&n/2-p.xmax<t}}let y,d=u;const w=1.001,M=Math.min(2,Math.max(1.414,e.storageInfo?.pyramidScalingFactor||2));if(h){d=m;const n=t.isGeographic?1341104507446289e-21:.29858214164761665,i=L(n,t),o=t.isGeographic?4326:3857;y=z({x:n,y:n},a,ue(e,new x({wkid:o}),!0)),y.x*=d/i,y.y*=d/i}else{y={x:l.x,y:l.y};let e=0;for(;d<m*(w/2)&&e<g;)e++,d*=M,y.x*=M,y.y*=M;Math.max(d,m)/Math.min(d,m)<=w&&(d=m)}const R=[d],P=[{x:y.x,y:y.y}],S=70.5310735,b=Math.min(S,u)/w;for(;d>=b;)d/=M,y.x/=M,y.y/=M,R.push(d),P.push({x:y.x,y:y.y});if(r){const e=.001*l.x;let t=P.findIndex(t=>t.x>=l.x-e&&t.x<=l.x+e);t>-1?(P.length=t+1,R.length=t+1):(t=P.findIndex(t=>t.x<=l.x+e),t>0&&(P.length=t,R.length=t))}return{projectedPixelSize:c,scales:R,srcResolutions:P,isCustomTilingScheme:!h}}function xe(e){let t=0;for(const n of e){const e=n.length;let i=n[0][0]*(n[1][1]-n[e-2][1]);for(let t=1;t<e-1;t++)i+=n[t][0]*(n[t+1][1]-n[t-1][1]);t+=i/2}return Math.abs(t)}export{me as computeProjectedScales,d as defaultGridSpacing,M as defaultProjectionToleranceInPixels,v as getDefaultDatumTransformationForDataset,F as getProjectedGridPoints,re as getProjectionOffsetGrid,ie as getRasterDatasetAlignmentInfo,I as getSourceScale,$ as getWorldWidth,ne as getWorldWrapCount,j as load,w as minimumGridSpacing,ue as projectDatasetExtent,z as projectDatasetResolution,H as projectExtent,W as projectPoint,Q as projectPolygon,C as projectResolution,ce as shiftExtent,le as snapExtent,fe as snapPyramid};
|
|
5
|
+
import{isSome as e}from"../../../core/arrayUtils.js";import t from"../../../core/Error.js";import{createResolver as n}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as i}from"../../../core/units.js";import o from"../../../geometry/Extent.js";import{P as r,a as s,g as a,h as l,j as c}from"../../../chunks/pe.js";import f from"../../../geometry/Point.js";import u from"../../../geometry/Polygon.js";import{projectWithoutEngine as x}from"../../../geometry/projectionUtils.js";import m from"../../../geometry/SpatialReference.js";import{getInfo as h}from"../../../geometry/support/spatialReferenceUtils.js";function p(){if(!N)throw new t("rasterprojectionhelper-project","projection operator is not loaded")}const g=(e,t,n,i=0)=>{if(1===n[0])return[0,0];let o=1,r=-1,s=1,a=-1;for(let g=0;g<e.length;g+=2)isNaN(e[g])||(o=o>e[g]?e[g]:o,r=r>e[g]?r:e[g],s=s>e[g+1]?e[g+1]:s,a=a>e[g+1]?a:e[g+1]);const{cols:l,rows:c}=t,f=(r-o)/l/n[0],u=(a-s)/c/n[1],x=2*i;let m=0,h=!1,p=[0,0];for(let g=0;g<l-3;g++){for(let t=0;t<c-3;t++){const n=g*c*2+2*t,i=(e[n]+e[n+4]+e[n+4*c]+e[n+4*c+4])/4,o=(e[n+1]+e[n+5]+e[n+4*c+1]+e[n+4*c+5])/4,r=Math.abs((i-e[n+2*c+2])/f),s=Math.abs((o-e[n+2*c+3])/u);if(r+s>m&&(m=r+s,p=[r,s]),x&&m>x){h=!0;break}}if(h)break}return p},y={3395:20037508.342789244,3410:17334193.943686873,3857:20037508.342788905,3975:17367530.445161372,4087:20037508.342789244,4088:20015108.787169147,6933:17367530.445161372,32662:20037508.342789244,53001:20015086.79602057,53002:10007543.39801029,53003:20015086.79602057,53004:20015086.79602057,53016:14152803.599503474,53017:17333573.624304302,53034:20015086.79602057,53079:20015114.352186374,53080:20015114.352186374,54001:20037508.342789244,54002:10018754.171394624,54003:20037508.342789244,54004:20037508.342789244,54016:14168658.027268292,54017:17367530.44516137,54034:20037508.342789244,54079:20037508.342789244,54080:20037508.342789244,54100:20037508.342789244,54101:20037508.342789244},d=32,w=4,M=w,R=new Map,S=new Map,P=500,b=39.37,G=96;let k,E,T,N=!1;async function j(){return k||(k=n(),E=await import("../../../geometry/operators/projectOperator.js"),T=await import("../../../geometry/operators/support/geographicTransformationUtils.js"),E.isLoaded()||await E.load(),T.isLoaded()||await T.load(),N=!0,k.resolve()),k.promise}function v(e,t,n){if(p(),n){const n=E.execute(e,t);return T.getTransformation(t,e.spatialReference,n)}return T.getTransformation(e.spatialReference,t,e)}function C(e,t,n,i){const r=e.spatialReference;if(!r||!t||r.equals(t))return e;p();const s=n.center,a=new o({xmin:s.x-e.x/2,xmax:s.x+e.x/2,ymin:s.y-e.y/2,ymax:s.y+e.y/2,spatialReference:r}),l=E.execute(a,t,{geographicTransformation:i}),c=$(t);return null==l||null!=c&&l.width>=c?_(e,r,t):{x:l.width,y:l.height}}function _(e,t,n){const o=i(t)/i(n);return{x:e.x*o,y:e.y*o}}function z(e,n,o){const{spatialReference:r}=o;if(!r||!n||r.equals(n))return e;if(r.isGeographic&&n.isGeographic)return _(e,r,n);if(p(),!N)throw new t("raster-projection-helper:project-dataset-resolution","geometry engine is not loaded");let{x:s,y:a}=e;const l=(s+a)/2*i(r);let c=1;l>30&&(c=30/l,s*=c,a*=c);const f=256,x=s*f/2,m=a*f/2,{x:h,y:g}=o.center,y=[];for(let t=0;t<=f;t++)y.push([h-x,g-m+t*a]);for(let t=1;t<=f;t++)y.push([h-x+t*s,g+m]);for(let t=1;t<=f;t++)y.push([h+x,g+m-t*a]);for(let t=1;t<f;t++)y.push([h+x-t*s,g-m]);y.push(y[0]);const d=new u({rings:[y],spatialReference:r}),w=E.execute(d,n);if(!w)return _(e,r,n);const M=w.extent,R=$(n);if(null==M||null!=R&&M.width>=R)return _(e,r,n);const S=he(w.rings),P=s*a*f*f,b=Math.sqrt(S/P)/c,G={x:M.width/c/f,y:M.height/c/f},k={x:s*b,y:a*b},T=G.x*G.y;return Math.abs(T-k.x*k.y)/T<.1?G:k}function L(e,t){return("number"==typeof e?e:(e.x+e.y)/2)*i(t)*G*b}function W(e,t){const{pixelSize:n,extent:i}=e;return L(z(n,t,i),t)}function I(e,t=.01){return i(e)?t/i(e):0}function O(e,t,n,i=!0){const o=e.spatialReference;if(o.equals(t))return e;p();const r=E.execute(e,t,{geographicTransformation:n});return i&&r?(A([e],[r],o,t),r):r}function A(e,t,n,i){const o=ee(n,!0),r=ee(i,!0),s=I(n,P),a=I(i,P);if(s&&null!=o&&null!=r)for(let l=0;l<e.length;l++){const n=t[l];if(!n)continue;const{x:i}=e[l],{x:c}=n;c>=r[1]-a&&Math.abs(i-o[0])<s?n.x-=r[1]-r[0]:c<=r[0]+a&&Math.abs(i-o[1])<s&&(n.x+=r[1]-r[0])}}function F(e){const{inSR:t,outSR:n,preferPE:i}=e;if(t.equals(n)){const{points:t}=X(e,null);return t}if(t.isWebMercator&&n.isWGS84||t.isWGS84&&n.isWebMercator)return B(e);if(i){if(t.isGeographic)return Y(e);if(null!=U(t))return Y(e)}return q(e)}function q(e){const{points:t}=X(e,null),{inSR:n,outSR:i,datumTransformation:o}=e,r=t.map(e=>new f(e[0],e[1],n)),s=E.executeMany(r,i,{geographicTransformation:o});return o&&A(r,s,n,i),s.map(e=>e?[e.x,e.y]:[NaN,NaN])}function Y(e){const{inSR:t,outSR:n,datumTransformation:i}=e,o=U(t),{points:a,mask:f}=X(e,o);if(!t.isGeographic){const e=t.wkid?r.coordsys(t.wkid):r.fromString(t.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,t.wkt2||t.wkt);l.projToGeog(e,a.length,a)}if(null!=i&&i.steps.length){let e;const t=179.9955;if(n.isGeographic&&(e=a.map(([e])=>e>t?1:e<-t?-1:0)),i.steps.forEach(e=>{const t=e.wkid?r.geogtran(e.wkid):r.fromString(s.PE_TYPE_GEOGTRAN,e.wkt);c.geogToGeog(t,a.length,a,null,e.isInverse?s.PE_TRANSFORM_2_TO_1:s.PE_TRANSFORM_1_TO_2)}),e)for(let n=0;n<a.length;n++){const i=e[n],o=a[n][0],r=o>t?1:o<-t?-1:0;i&&r&&i!==r&&(a[n][0]=i>0?o+360:o-360)}}if(!n.isGeographic){const e=U(n,!0),t=null!=e&&e.isEnvelope?[e.bbox[1],e.bbox[3]]:[-90,90];K(a,t);const i=n.wkid?r.coordsys(n.wkid):r.fromString(n.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,n.wkt2||n.wkt);l.geogToProj(i,a.length,a)}let u=a;if(f&&a.length!==f.length){u=[];for(let e=0,t=0;e<f.length;e++)f[e]?u.push(a[t++]):u.push([NaN,NaN])}return u}function B(e){const{cols:t,rows:n,xres:i,yres:o,usePixelCenter:r,inSR:s,outSR:a}=e;let{xmin:l,ymax:c}=e;r&&(l+=i/2,c-=o/2);const u=[],m=[],h=Math.max(t,n);for(let g=0;g<h;g++){const e=l+i*Math.min(t,g),r=c-o*Math.min(n,g),h=x(new f({x:e,y:r,spatialReference:s}),s,a);g<=t&&u.push(h.x),g<=n&&m.push(h.y)}const p=[];for(let f=0;f<t;f++)for(let e=0;e<n;e++)p.push([u[f],m[e]]);return p}function U(e,t=!1){let n=e.wkid||e.wkt2||e.wkt;if(!n||e.isGeographic)return null;if(n=String(n),R.has(n)){const e=R.get(n);return t?e?.gcs:e?.pcs}const i=e.wkid?r.coordsys(e.wkid):r.fromString(e.isGeographic?s.PE_TYPE_GEOGCS:s.PE_TYPE_PROJCS,e.wkt2||e.wkt),o=J(i,I(e,1e-4)),a=J(i,0,!0);return R.set(n,{pcs:o,gcs:a}),t?a:o}function J(e,t=0,n=!1){const i=a.generate(e),o=n?e.horizonGcsGenerate():e.horizonPcsGenerate();if(!i||!o?.length)return null;let r=!1,s=o.find(e=>1===e.getInclusive()&&1===e.getKind());if(!s){if(s=o.find(e=>1===e.getInclusive()&&0===e.getKind()),!s)return null;r=!0}const l=n?0:(2===i.getNorthPoleLocation()?1:0)|(2===i.getSouthPoleLocation()?2:0),c=i.isPannableRectangle(),f=s.getCoord();if(r)return{isEnvelope:r,isPannable:c,vertices:f,coef:null,bbox:[f[0][0]-t,f[0][1]-t,f[1][0]+t,f[1][1]+t],poleLocation:l};let u=0;const x=[];let[m,h]=f[0],[p,g]=f[0];for(let a=0,y=f.length;a<y;a++){u++,u===y&&(u=0);const[e,t]=f[a],[n,i]=f[u];if(i===t)x.push([e,n,t,i,2]);else{const o=(n-e)/(i-t||1e-4),r=e-o*t;t<i?x.push([o,r,t,i,0]):x.push([o,r,i,t,1])}m=m<e?m:e,h=h<t?h:t,p=p>e?p:e,g=g>t?g:t}return{isEnvelope:!1,isPannable:c,vertices:f,coef:x,bbox:[m,h,p,g],poleLocation:l}}function X(e,t){const n=[],{cols:i,rows:o,xres:r,yres:s,usePixelCenter:a}=e;let{xmin:l,ymax:c}=e;if(a&&(l+=r/2,c-=s/2),null==t){for(let e=0;e<i;e++)for(let t=0;t<o;t++)n.push([l+r*e,c-s*t]);return{points:n}}const f=new Uint8Array(i*o);if(t.isEnvelope){const{isPannable:e,bbox:[a,u,x,m]}=t;for(let t=0,h=0;t<i;t++){const i=l+r*t,p=e||i>=a&&i<=x;for(let e=0;e<o;e++,h++){const t=c-s*e;p&&t>=u&&t<=m&&(n.push([i,t]),f[h]=1)}}return{points:n,mask:f}}const u=t.coef,x=[];for(let m=0;m<o;m++){const e=c-s*m,t=[],n=[];for(let o=0;o<u.length;o++){const[i,r,s,a,l]=u[o];if(e===s&&s===a)t.push(i),t.push(r),n.push(2),n.push(2);else if(e>=s&&e<=a){const o=i*e+r;t.push(o),n.push(l)}}let i=t;if(t.length>2){let e=2===n[0]?0:n[0],o=t[0];i=[];for(let r=1;r<n.length;r++)2===n[r]&&r!==n.length-1||(n[r]!==e&&(i.push(0===e?Math.min(o,t[r-1]):Math.max(o,t[r-1])),e=n[r],o=t[r]),r===n.length-1&&i.push(0===n[r]?Math.min(o,t[r]):Math.max(o,t[r])));i.sort((e,t)=>e-t)}else t[0]>t[1]&&(i=[t[1],t[0]]);x.push(i)}for(let m=0,h=0;m<i;m++){const e=l+r*m;for(let t=0;t<o;t++,h++){const i=c-s*t,o=x[t];if(2===o.length)e>=o[0]&&e<=o[1]&&(n.push([e,i]),f[h]=1);else if(o.length>2){let t=!1;for(let n=0;n<o.length;n+=2)if(e>=o[n]&&e<=o[n+1]){t=!0;break}t&&(n.push([e,i]),f[h]=1)}}}return{points:n,mask:f}}function K(e,t){const[n,i]=t;for(let o=0;o<e.length;o++){const t=e[o][1];(t<n||t>i)&&(e[o]=[NaN,NaN])}}function D(e,t){const n=$(e[0].spatialReference);if(e.length<2||null==n)return e[0];if(t=t??I(e[0].spatialReference),1===(e=e.filter(e=>e.width>t)).length)return e[0];let{xmin:i,xmax:r,ymin:s,ymax:a}=e[0];for(let o=1;o<e.length;o++){const t=e[o];r=t.xmax+n*o,s=Math.min(s,t.ymin),a=Math.max(a,t.ymax)}return new o({xmin:i,xmax:r,ymin:s,ymax:a,spatialReference:e[0].spatialReference})}function H(t,n,i=null,r=!0){const s=t.spatialReference;if(s.equals(n)||!n)return t;const a=ne(t),l=$(s,!0),c=$(n);if(0===a||null==l||null==c){const e=Z(t,n,i,r);if(e&&null==l&&null!=c&&Math.abs(e.width-c)<I(n)&&E.isLoaded()){const i=U(s);if(null!=i&&0===i.poleLocation&&t.width<(i.bbox[2]-i.bbox[0])/2)return V(t,n)||e}return e}const f=t.clone().normalize();if(1===f.length&&t.xmax<l&&t.xmax-l/2>I(s)){const{xmin:e,xmax:n}=t;for(let i=0;i<=a;i++){const r=0===i?e:-l/2,c=i===a?n-l*i:l/2;f[i]=new o({xmin:r,xmax:c,ymin:t.ymin,ymax:t.ymax,spatialReference:s})}}const u=f.map(e=>Z(e,n,i,r)).filter(e);return 0===u.length?null:D(u)}function Q(e,t,n){if("extent"===e.type){const{xmin:t,ymin:n,xmax:i,ymax:o,spatialReference:r}=e;e=new u({rings:[[[t,o],[i,o],[i,n],[t,n],[t,o]]],spatialReference:r})}return e.spatialReference.equals(t)?e:(p(),E.execute(e,t,{geographicTransformation:n}))}function V(e,t){const n=$(t);if(null==n)return null;let{xmin:i,ymin:r,xmax:s,ymax:a}=e;const l=e.spatialReference,c=new u({spatialReference:l,rings:[[[i,r],[s,r],[s,a],[i,a],[i,r]]]}),f=E.execute(c,t);if(2!==f.rings.length||!f.rings[0].length||!f.rings[1].length)return null;const{rings:x}=f,m=I(l),h=new o({spatialReference:t});for(let o=0;o<2;o++){i=s=x[o][0][0],r=a=x[o][0][1];for(let e=0;e<x[o].length;e++)i=i>x[o][e][0]?x[o][e][0]:i,s=s<x[o][e][0]?x[o][e][0]:s,r=r>x[o][e][1]?x[o][e][1]:r,a=a<x[o][e][1]?x[o][e][1]:a;if(0===o)h.ymin=r,h.ymax=a,h.xmin=i,h.xmax=s;else if(h.ymin=Math.min(h.ymin,r),h.ymax=Math.max(h.ymax,a),Math.abs(s-n/2)<m)h.xmin=i,h.xmax=h.xmax+n;else{if(!(Math.abs(i+n/2)<m))return null;h.xmax=s+n}}return h}function Z(e,t,n,i=!0,o=!0){const r=e.spatialReference;if(r.equals(t)||!t)return e;p();const s=E.execute(e,t,{geographicTransformation:n});if(o&&t.isWebMercator&&s&&(s.ymax=Math.min(20037508.342787,s.ymax),s.ymin=Math.max(-20037508.342787,s.ymin),s.ymin>=s.ymax))return null;if(!i||!s)return s;const a=ee(r,!0),l=ee(t,!0);if(null==a||null==l)return s;const c=I(r,.001),u=I(r,P),x=I(t,.001);if(Math.abs(s.xmin-l[0])<x&&Math.abs(s.xmax-l[1])<x){const i=Math.abs(e.xmin-a[0]),o=Math.abs(a[1]-e.xmax);if(i<c&&o>u){s.xmin=l[0];const i=[];i.push(new f(e.xmax,e.ymin,r)),i.push(new f(e.xmax,(e.ymin+e.ymax)/2,r)),i.push(new f(e.xmax,e.ymax,r));const o=i.map(e=>O(e,t,n)).filter(e=>!isNaN(e?.x)).map(e=>e.x);s.xmax=Math.max.apply(null,o)}if(o<c&&i>u){s.xmax=l[1];const i=[];i.push(new f(e.xmin,e.ymin,r)),i.push(new f(e.xmin,(e.ymin+e.ymax)/2,r)),i.push(new f(e.xmin,e.ymax,r));const o=i.map(e=>O(e,t,n)).filter(e=>!isNaN(e?.x)).map(e=>e.x);s.xmin=Math.min.apply(null,o)}}else{const e=I(t,.001);Math.abs(s.xmin-l[0])<e&&(s.xmin=l[0]),Math.abs(s.xmax-l[1])<e&&(s.xmax=l[1])}return s}function $(e,t=!1){if(!e)return null;const n=t?20037508.342787:20037508.342788905;return e.isWebMercator?2*n:e.wkid&&e.isGeographic?360:2*y[e.wkid]||null}function ee(e,t=!1){if(e.isGeographic)return[-180,180];const n=$(e,t);return n?[-n/2,n/2]:null}function te(e,t,n,i){let o=(e-t)/n;return o-Math.floor(o)!==0?o=Math.floor(o):i&&(o-=1),o}function ne(e,t=!1){const n=$(e.spatialReference);if(null==n)return 0;const i=t?0:-(n/2),o=I(e.spatialReference),r=!t&&Math.abs(e.xmax-n/2)<o?n/2:e.xmax,s=!t&&Math.abs(e.xmin+n/2)<o?-n/2:e.xmin;return te(r,i,n,!0)-te(s,i,n,!1)}function ie(e){const t=e.storageInfo.origin.x,n=$(e.spatialReference,!0);if(null==n)return{originX:t,halfWorldWidth:null,pyramidsInfo:null};const i=n/2,{nativePixelSize:o,storageInfo:r,extent:s}=e,{maximumPyramidLevel:a,blockWidth:l,pyramidScalingFactor:c}=r;let f=o.x;const u=[],x=null!=e.transform&&"gcs-shift"===e.transform.type,m=t+(x?0:i),h=x?n-t:i-t;for(let p=0;p<=a;p++){const e=(s.xmax-t)/f/l,n=e-Math.floor(e)===0?e:Math.ceil(e),i=h/f/l,o=i-Math.floor(i)===0?i:Math.ceil(i),r=Math.floor(m/f/l),a=Math.round(m/f)%l,x=(l-Math.round(h/f)%l)%l;u.push({resolutionX:f,blockWidth:l,datasetColumnCount:n,worldColumnCountFromOrigin:o,leftMargin:a,rightPadding:x,originColumnOffset:r}),f*=c}return{originX:t,halfWorldWidth:i,pyramidsInfo:u,hasGCSSShiftTransform:x}}function oe(e){if(!e||e.isGeographic)return e;const t=String(e.wkid||e.wkt2||e.wkt);let n;if(S.has(t))n=S.get(t);else{n=(e.wkid?r.coordsys(e.wkid):r.fromString(s.PE_TYPE_PROJCS,e.wkt2||e.wkt)).getGeogcs().getCode(),S.set(t,n)}return new m({wkid:n})}function re(e){const t=e.isAdaptive&&null==e.spacing;let n=e.spacing||[d,d],i=se(e),o={cols:i.size[0]+1,rows:i.size[1]+1};const r=i.outofBoundPointCount>0&&i.outofBoundPointCount<i.offsets.length/2;let s=i.outofBoundPointCount===i.offsets.length/2||t&&r?[0,0]:g(i.offsets,o,n,M);const a=(s[0]+s[1])/2,l=e.projectedExtent.spatialReference,c=e.srcBufferExtent.spatialReference;if(t&&(r||a>M)&&(l.isGeographic||U(l),n=[w,w],i=se({...e,spacing:n}),o={cols:i.size[0]+1,rows:i.size[1]+1},s=g(i.offsets,o,n,M)),i.error=s,n[0]>1&&(i.coefficients=ae(i.offsets,o,r)),e.includeGCSGrid&&!l.isGeographic&&!l.isWebMercator)if(c.isGeographic)i.gcsGrid={offsets:i.offsets,coefficients:i.coefficients,spacing:n};else{const t=U(l);if(null!=t&&!t.isEnvelope){const t=oe(l),s=H(e.projectedExtent,t),{offsets:a}=se({...e,srcBufferExtent:s,spacing:n}),c=ae(a,o,r);i.gcsGrid={offsets:a,coefficients:c,spacing:n}}}return i}function se(e){const{projectedExtent:t,srcBufferExtent:n,pixelSize:i,datumTransformation:o,rasterTransform:r}=e,s=t.spatialReference,a=n.spatialReference;p();const{xmin:l,ymin:c,xmax:u,ymax:x}=t,m=$(a),h=null!=m&&(e.hasWrapAround||"gcs-shift"===r?.type),g=e.spacing||[d,d],y=g[0]*i.x,M=g[1]*i.y,R=1===g[0],S=Math.ceil((u-l)/y-.1/g[0])+(R?0:1),b=Math.ceil((x-c)/M-.1/g[1])+(R?0:1),G=F({cols:S,rows:b,xmin:l,ymax:x,xres:y,yres:M,inSR:s,outSR:a,datumTransformation:o,preferPE:g[0]<=w,usePixelCenter:R}),k=[];let E,T=0;const N=R?-1:NaN,{xmin:j,xmax:v,ymax:C,width:_,height:z}=n,L=I(a,P),W=null!=m&&j>0&&v>m/2,O=U(s),A=null!=O&&O.poleLocation>0;for(let p=0;p<S;p++){const e=[];for(let t=0;t<b;t++){let n=G[p*b+t];if(h&&n[0]>v&&n[0]>m/2-L?n[0]-=m:h&&0===p&&n[0]<0&&W&&!r&&(n[0]+=m),!n||isNaN(n[0])||isNaN(n[1]))k.push(N),k.push(N),e.push(null),T++;else{if(r){const e=r.inverseTransform(new f({x:n[0],y:n[1],spatialReference:a}));n=[e.x,e.y]}e.push(n),p>0&&h&&E[t]&&n[0]<E[t][0]&&(n[0]+=m,A&&n[0]>v&&n[0]>m&&(n[0]-=m)),k.push((n[0]-j)/_),k.push((C-n[1])/z)}}E=e}return{offsets:k,error:null,coefficients:null,outofBoundPointCount:T,spacing:g,size:R?[S,b]:[S-1,b-1]}}function ae(e,t,n){const{cols:i,rows:o}=t,r=new Float32Array((i-1)*(o-1)*2*6),s=new Float32Array([-0,-1,1,-1,1,-0,1,-0,-0]),a=new Float32Array([-1,1,0,0,-1,1,1,0,0]);for(let l=0;l<i-1;l++){for(let t=0;t<o-1;t++){let n=l*o*2+2*t;const c=e[n],f=e[n+1],u=e[n+2],x=e[n+3];n+=2*o;const m=e[n],h=e[n+1],p=e[n+2],g=e[n+3];let y=0,d=12*(t*(i-1)+l);for(let e=0;e<3;e++)r[d++]=s[y++]*c+s[y++]*u+s[y++]*p;y=0;for(let e=0;e<3;e++)r[d++]=s[y++]*f+s[y++]*x+s[y++]*g;y=0;for(let e=0;e<3;e++)r[d++]=a[y++]*c+a[y++]*m+a[y++]*p;y=0;for(let e=0;e<3;e++)r[d++]=a[y++]*f+a[y++]*h+a[y++]*g}if(n)for(let e=0;e<r.length;e++)isNaN(r[e])&&(r[e]=-1)}return r}function le(e,t){const n=e.clone().normalize();return 1===n.length?n[0]:D(n,t)}function ce(e){const{spatialReference:t}=e,n=h(t);if(!n)return e;const[i,r]=n.valid,s=r-i;let a=0;if(e.xmin<i){const t=i-e.xmin;a=Math.ceil(t/s)}else if(e.xmin>r){const t=e.xmin-r;a=-Math.ceil(t/s)}return new o({spatialReference:e.spatialReference,xmin:e.xmin+a*s,ymin:e.ymin,xmax:e.xmax+a*s,ymax:e.ymax})}function fe(e,t,n){const{storageInfo:o,pixelSize:r}=t;let s=0,a=!1;const{pyramidResolutions:l}=o,c="mixed"===o.tileInfo.format?.toLowerCase()?Math.max(1,Math.min(3,o.tileInfo.dpi/96)):1,u=(e.x+e.y)/2/c;if(null!=l&&l.length){const e=l[l.length-1],o=(e.x+e.y)/2,c=(r.x+r.y)/2;if(u<=c)s=0;else if(u>=o)s=l.length,a=u/o>8;else{let e,t=c;for(let i=1;i<=l.length;i++){if(e=(l[i-1].x+l[i-1].y)/2,u<=e){u===e?s=i:"down"===n?(s=i-1,a=u/t>8):s="up"===n||u-t>e-u||u/t>2?i:i-1;break}t=e}}const x=0===s?r:l[s-1];if(a){Math.min(x.x,x.y)*i(t.spatialReference)>19567&&(a=!1)}return{pyramidLevel:s,pyramidResolution:new f({x:x.x,y:x.y,spatialReference:t.spatialReference}),excessiveReading:a}}const x=Math.log(e.x/r.x)/Math.LN2,m=Math.log(e.y/r.y)/Math.LN2,h=t.storageInfo.maximumPyramidLevel||0;s="down"===n?Math.floor(Math.min(x,m)):"up"===n?Math.ceil(Math.max(x,m)):Math.round((x+m)/2),s<0?s=0:s>h&&(a=s>h+3,s=h);const p=2**s;return{pyramidLevel:s,pyramidResolution:new f({x:p*t.nativePixelSize.x,y:p*t.nativePixelSize.y,spatialReference:t.spatialReference}),excessiveReading:a}}function ue(e,t,n=!1){const{pixelSize:i,extent:o}=e,r=v(o,t,!1),s=H(le(o,(i.x+i.y)/16),t,r);return!s||n||0===ne(s)?s:Z(o,t,r)}function xe(e,t,n){const i=n?.tileSize??512,o=n?.alignGlobalDatasetWithAGOL??!0,r=!!n?.limitToSrcResolution,{extent:s,pixelSize:a}=e,l=z(a,t,s);if(null==l)return{projectedPixelSize:null,scales:null,srcResolutions:null,isCustomTilingScheme:!1};const c=(l.x+l.y)/2,f=L(c,t),u=256/i,x=t.isGeographic?295828763.7958547*u:591657527.591555*u,m=(t.isGeographic?.703125:156543.03392800014)*u;let h="vector-magdir"===e.dataType||"vector-uv"===e.dataType;const p=ue(e,t,!0),g=Math.min(Math.ceil(Math.log(Math.min(e.width,e.height)/32)/Math.LN2),Math.ceil(Math.log(x/2/f)/Math.LN2));if(!h&&p&&o&&(t.isGeographic||t.isWebMercator)){const n=$(t);if(h=ne(p)>0||null!=n&&p.width>n/4,!h&&null!=n){let t=-1;if(g<3)t=2**g*c*i;else if(e.storageInfo){const{maximumPyramidLevel:n=0,pyramidScalingFactor:o=2}=e.storageInfo;t=o**n*c*i}const o=Math.ceil(n/t);h=1===o||2===o&&n/2-p.xmax<t}}let y,d=f;const w=1.001,M=Math.min(2,Math.max(1.414,e.storageInfo?.pyramidScalingFactor||2));if(h){d=x;const n=me(e,t);y={x:n.x*m,y:n.y*m}}else{y={x:a.x,y:a.y};let e=0;for(;d<x*(w/2)&&e<g;)e++,d*=M,y.x*=M,y.y*=M;Math.max(d,x)/Math.min(d,x)<=w&&(d=x)}const R=[d],S=[{x:y.x,y:y.y}],P=70.5310735,b=Math.min(P,f)/w;for(;d>=b;)d/=M,y.x/=M,y.y/=M,R.push(d),S.push({x:y.x,y:y.y});if(r){const e=.001*a.x;let t=S.findIndex(t=>t.x>=a.x-e&&t.x<=a.x+e);t>-1?(S.length=t+1,R.length=t+1):(t=S.findIndex(t=>t.x<=a.x+e),t>0&&(S.length=t,R.length=t))}return{projectedPixelSize:l,scales:R,srcResolutions:S,isCustomTilingScheme:!h}}function me(e,t){if(t.isWGS84||t.isWebMercator){const n=t.isGeographic?1341104507446289e-21:.29858214164761665,i=t.isGeographic?4326:3857,o=ue(e,new m({wkid:i}),!0),r=z({x:n,y:n},e.spatialReference,o);return{x:r.x/n,y:r.y/n}}const n=z(e.pixelSize,t,e.extent),i=(n.x+n.y)/2;return{x:e.pixelSize.x/i,y:e.pixelSize.y/i}}function he(e){let t=0;for(const n of e){const e=n.length;let i=n[0][0]*(n[1][1]-n[e-2][1]);for(let t=1;t<e-1;t++)i+=n[t][0]*(n[t+1][1]-n[t-1][1]);t+=i/2}return Math.abs(t)}export{xe as computeProjectedScales,me as computeSrcResolutionRatio,d as defaultGridSpacing,M as defaultProjectionToleranceInPixels,v as getDefaultDatumTransformationForDataset,F as getProjectedGridPoints,re as getProjectionOffsetGrid,ie as getRasterDatasetAlignmentInfo,W as getSourceScale,$ as getWorldWidth,ne as getWorldWrapCount,j as load,w as minimumGridSpacing,ue as projectDatasetExtent,z as projectDatasetResolution,H as projectExtent,O as projectPoint,Q as projectPolygon,C as projectResolution,ce as shiftExtent,le as snapExtent,fe as snapPyramid};
|
|
@@ -27,6 +27,7 @@ export type RasterPrimaryArgument = string | RasterFunction;
|
|
|
27
27
|
*/
|
|
28
28
|
export type RasterArgument = number | RasterPrimaryArgument;
|
|
29
29
|
|
|
30
|
+
/** @since 5.0 */
|
|
30
31
|
export type ChangeMethod = "difference" | "relative-difference" | "categorical" | "euclidean-distance" | "angle-difference" | "band-with-most-change";
|
|
31
32
|
|
|
32
33
|
/**
|
|
@@ -39,9 +40,14 @@ export interface BaseRasterFunctionParameters {
|
|
|
39
40
|
* The output pixel type, default is `unknown`.
|
|
40
41
|
*
|
|
41
42
|
* @default "unknown"
|
|
43
|
+
* @since 5.0
|
|
42
44
|
*/
|
|
43
45
|
outputPixelType?: RasterPixelType;
|
|
44
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* The input raster. Default is the image service.
|
|
48
|
+
*
|
|
49
|
+
* @since 5.0
|
|
50
|
+
*/
|
|
45
51
|
raster?: RasterPrimaryArgument;
|
|
46
52
|
}
|
|
47
53
|
|
|
@@ -51,21 +57,39 @@ export interface BaseRasterFunctionParameters {
|
|
|
51
57
|
* @since 4.28
|
|
52
58
|
*/
|
|
53
59
|
export interface Base2RasterFunctionParameters {
|
|
54
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* The output pixel type, default is unknown.
|
|
62
|
+
*
|
|
63
|
+
* @since 5.0
|
|
64
|
+
*/
|
|
55
65
|
outputPixelType?: RasterPixelType;
|
|
56
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* The first raster (pre changes).
|
|
68
|
+
*
|
|
69
|
+
* @since 5.0
|
|
70
|
+
*/
|
|
57
71
|
raster: RasterArgument;
|
|
58
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* The second raster (post changes).
|
|
74
|
+
*
|
|
75
|
+
* @since 5.0
|
|
76
|
+
*/
|
|
59
77
|
raster2: RasterArgument;
|
|
60
78
|
}
|
|
61
79
|
|
|
80
|
+
/** @since 5.0 */
|
|
62
81
|
export interface BaseNRasterFunctionParameters {
|
|
63
82
|
/**
|
|
64
83
|
* The output pixel type, default is unknown.
|
|
65
84
|
*
|
|
66
85
|
* @default "unknown"
|
|
86
|
+
* @since 5.0
|
|
67
87
|
*/
|
|
68
88
|
outputPixelType?: RasterPixelType;
|
|
69
|
-
/**
|
|
89
|
+
/**
|
|
90
|
+
* The input raster. Default is the image service.
|
|
91
|
+
*
|
|
92
|
+
* @since 5.0
|
|
93
|
+
*/
|
|
70
94
|
rasters: RasterArgument[];
|
|
71
95
|
}
|