You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ArcGIS Maps SDK for Kotlin:GeoPackage栅格NoData区域显示黑色而非透明问题

GeoPackage栅格NoData区域不透明+Mask函数rasterNames为空问题解决(ArcGIS Maps SDK for Kotlin 200.3)

问题概况

  • 加载本地两个GeoPackage栅格叠加显示时,NoData区域显示为黑色而非透明,上层栅格遮挡下层内容;WMTS栅格的NoData区域可正常透明显示,仅GeoPackage存在此问题。
  • 尝试使用Mask栅格函数修复时,出现rasterNames为空列表的异常。

问题原因

  1. GeoPackage栅格默认未启用NoData值的透明渲染逻辑,需手动配置。
  2. 原Mask函数JSON的变量定义不规范:Raster参数使用$$而非$变量名$的格式,导致栅格函数无法识别输入变量,进而rasterNames为空。

解决方案

方案1:直接配置RasterLayer的NoData透明(更简洁)

无需使用栅格函数,直接给RasterLayer设置NoData值并开启透明属性:

val geoPackage = GeoPackage("file_path")
val loadResult = geoPackage.load()
loadResult.onFailure { throw it }

val geoRaster = geoPackage.geoPackageRaster.first()
val rasterLayer = RasterLayer(geoRaster)

// 配置NoData值为0,开启透明
rasterLayer.renderer?.let { renderer ->
    if (renderer is RasterRenderer) {
        renderer.noDataValues = doubleArrayOf(0.0, 0.0, 0.0)
        renderer.isNoDataTransparent = true
    }
}

arcGISMap.operationalLayers.add(rasterLayer)

方案2:修复Mask栅格函数配置

修正栅格函数JSON的变量定义,确保能正确识别输入栅格:

修正后的raster_function_json

{
  "rasterFunction": "Mask",
  "rasterFunctionArguments": {
    "NoDataValues": [0.0, 0.0, 0.0],
    "IncludedRanges": [1.0, 255.0, 1.0, 255.0, 1.0, 255.0],
    "NoDataInterpretation": 1,
    "Raster": "$Raster$"
  },
  "variableName": "Raster"
}

对应Kotlin代码

val geoPackage = GeoPackage("file_path")
val loadResult = geoPackage.load()
loadResult.onFailure { throw it }

// 加载修正后的栅格函数JSON
val remapFunction = RasterFunction.fromJson(File("raster_function_json_path").readText())

remapFunction?.arguments?.let { args ->
    // 直接通过变量名"Raster"设置输入栅格,避免依赖rasterNames
    args.setRaster("Raster", geoPackage.geoPackageRaster.first())
}

val maskedRaster = Raster.createWithRasterFunction(remapFunction)
val layer = RasterLayer(maskedRaster)

arcGISMap.operationalLayers.add(layer)

关键修正点:

  • 将Raster参数值从$$改为$Raster$,与variableName对应;
  • NoDataValues使用数值类型而非字符串;
  • 代码中直接通过变量名设置输入栅格,规避rasterNames为空的问题。

内容的提问来源于stack exchange,提问作者Lidor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:05:02