arcgis pro镶嵌至新栅格结果出错,图出现空白0值

本文记录了解决使用ArcGIS Pro拼接LUCC数据时出现的错误过程。通过调整参数设置,最终采用LAST而非MAXIMUM选项成功完成了数据拼接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因:MOSAIC Operator函数的问题,选用last没问题,使用maximum就出错

解决过程:
使用arcgis pro拼接大范围的30m分辨率的LUCC数据时,拼接结果错乱,中间大量的地方时黑色的0值。尝试从以下几个方面解决问题:
1、输入输出路径是否有中文
2、是否是因为修改了输出投影,而不是使用的源数据的投影
3、原数据为0-255,使用的8位,改为16位试一下
在这里插入图片描述

显示的是运行成功,还是会出现上图的问题
在这里插入图片描述
尝试使用python解决问题:

import arcpy
coordinate = r"D:\lunwen4\RUSLE\LUCC\albers_conic_equal_area.prj"
with arcpy.EnvManager(scratchWorkspace=r"D:\LUCC", workspace=r"D:\LUCC"):
    arcpy.management.MosaicToNewRaster("n50_35_2020lc030.tif; n50_30_2020lc030.tif; n49_40_2020lc030.tif;\
                                       n49_35_2020lc030.tif;n49_30_2020lc030.tif;n48_40_2020lc030.tif;\
                                       n48_35_2020lc030.tif;n48_30_2020lc030.tif;n47_30_2020lc030.tif;\
                                       n47_35_2020lc030.tif;n46_35_2020lc030.tif;n46_30_2020lc030.tif",
                                       r"D:\lunwen4\LUCC", "LUCC.tif", coordinate, "8_BIT_UNSIGNED", None, 1,
                                       "MAXIMUM", "FIRST")

结果图也是存在问题,但是python也显示的是完成运行。
在这里插入图片描述
在换了一台电脑后,再次尝试也是出现问题,初步估计是数据的问题,尝试一次只拼接几个影像。
只拼接4个影像也会报错
在这里插入图片描述
怀疑是选用了maximum的问题:再次尝试,将影像排好顺序,使用last,居然成功了
在这里插入图片描述

### 如何在 ArcGIS 中将数据镶嵌栅格文件 在 ArcGIS 中,可以通过 **Mosaic To New Raster** 工具实现多个栅格数据镶嵌操作。以下是关于此过程的关键点以及注意事项: #### 创建空的镶嵌数据集 首先需要创建一个空的镶嵌数据集以便后续添加栅格数据。这一步骤已经在引用中提到:“AmbergOrtho 镶嵌数据集已创建在地理数据库中并已添加到 ArcMap 内容列表。” 这意味着用户已经完成了这一部分工作[^1]。 #### 使用 Mosaic To New Raster 工具 为了完成镶嵌操作,需执行以下设置: - 打开 **Mosaic To New Raster** 工具。 - 输入要参与镶嵌的所有栅格数据作为输入源。 - 设置输出路径和名称以保存最终生成的栅格文件。 重要的是要注意量化位数的一致性问题。“出现该问题的原因是数据量化位数,查看原数据,量化位数是16位。因此,在使用【镶嵌栅格】工具的时候,一定要注意跟原数据量化位数保持一致。” 此处强调了量化位数的重要性,即应确保目标栅格的数据类型与原始栅格匹配[^2]。 #### 修改像素类型 如果遇到错误或者不期望的结果,则可能是因为未正确配置像素类型的缘故。“原因是在像素类型没有修改,如下改为32位有符号即可。(注:可以参考原始tif的属性来确定这里的输入)”。这意味着当处理某些特定情况下的像时,应当依据原始 TIFF 文件的具体属性调整相应的参数设定为适合的形式,比如这里建议采用“32 位有符号”的形式[^3]。 下面提供一段 Python 脚本示例用于自动化上述流程中的部分内容: ```python import arcpy input_rasters = r"C:\path\to\rasters" output_location = r"C:\path\to\output.gdb" output_name = "mosaic_result" arcpy.MosaicToNewRaster_management(input_rasters, output_location, output_name, pixel_type="32_BIT_SIGNED", number_of_bands=1) ``` 以上脚本通过 `arcpy` 库调用了 `MosaicToNewRaster_management` 函数来进行批量镶嵌任务,并指定了合适的像素类型和其他必要选项。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值