extract by mask出现的问题总结

来源:互联网 发布:喀秋莎软件 课堂教学 编辑:程序博客网 时间:2024/06/09 18:07

用一SHP区文件做为MASK裁剪一DEM栅格影像。裁剪后发现结果DEM与原DEM的某些像素值不同。

extract <wbr>by <wbr>mask出现的问题总结

原因为裁切后两个栅格的象元并不一定是完全重叠的,有可能错位,也就是说对应象元的中心点不是一个点,如下图所示,这时裁切后象元的值可能是原来图上相邻象元的值,所以值就可能不一致,尤其在高程变化比较大的地方更是明显。是正常现象。
extract <wbr>by <wbr>mask出现的问题总结 

解决方法为:在用extract by mask时,在环境设置中将snap raster设置成裁剪前的数据
完了之后用identity并没有发现你说的情况,在同一点pixel value值并没有变,变的只是stretched value值,即拉伸值,查看拉伸值的话,在图层-右击-symbology-stretch下即可在用extract by mask时,在环境设置中将snap raster设置成裁剪前的数据

extract <wbr>by <wbr>mask出现的问题总结

extract <wbr>by <wbr>mask出现的问题总结

extract <wbr>by <wbr>mask出现的问题总结

extract <wbr>by <wbr>mask出现的问题总结

另外的问题就是用shp裁剪时发现,裁剪后的pixel depth由原来的8bit变成了16bit,每一百张里大概有十几张会出现这种问题,原因为Unsigned 8 bit栅格的值的范围是0~255,当你用不规则polygon裁切时会在polygon外的部分生成nodata区域,而nodata在栅格里是以某个数值存储的。当你裁切部分的值已经占满0~255的所有值时,nodata的值只能是255以外的某个值了,系统自动会将你的栅格改为Unsigned 16 bit。

解决方法为那只能牺牲掉裁切的部分中个数最少的那类象元值做nodata了。用arctoolbox里的setnull工具,将选定(个数最少的那类象元值)的值设为nodata,然后再裁剪。

0 0
原创粉丝点击