记录踩的坑:python gdal 重采样+坐标系转换

源数据:1/0 二值数据,30m 分辨率,WGS_1984_UTM_Zone_53N 坐标系,东北区域。

目标:将源数据制成与 MODIS tile 的坐标系(Sinusoidal)、分辨率(463.3127165m)都一致的tif。且尽量保证像元纯度,宁舍勿留,即尽量保证:组成大格子的所有小格子值都是1

原始做法

1、重采样

        使用“min”方法,对源数据进行重采样,保持坐标系不变。

2、边裁切转坐标系

记录踩的坑:python gdal 重采样+坐标系转换_第1张图片

        clip_tif 设为目标 tile 的GTIFF,clipped_tif 为【1】中重采样得到的覆盖多个tile的大tif。

问题

1、裁切前后有偏移

记录踩的坑:python gdal 重采样+坐标系转换_第2张图片

        上图为裁切前后的局部放大图,绿色为裁切前,蓝色为裁切后,红色为度量段。可见:裁切后,影像整体向右上偏移

2、像元纯度较低

记录踩的坑:python gdal 重采样+坐标系转换_第3张图片

记录踩的坑:python gdal 重采样+坐标系转换_第4张图片

        上图为源数据与结果数据的叠加分析,绿色为30m源数据中值为1的像元,粉色为463m结果数据中值为1的像元。可见,重投影之后,结果数据的大格子上,存在许多绿色覆盖率较低的格子。比如右边那个格子,它的右上角和左下角都没有被绿色覆盖。

问题分析

        原始做法的本质是:矢量转栅格+栅格重投影+裁切。其中, 栅格的重投影最可能引起偏移和扭曲 (此处特别鸣谢我的实验室同学【小猪被骑】)。小猪的建议是先把源数据栅格转矢量, 对矢量进行重投影 ,再将矢量转栅格。

新做法

1、栅格转矢量

        如果用 arcgis,记得不要勾选“简化面”。

记录踩的坑:python gdal 重采样+坐标系转换_第5张图片

2、同时进行 重投影+矢量转栅格+裁切

记录踩的坑:python gdal 重采样+坐标系转换_第6张图片

3、使用“min”方法重采样

最终结果

记录踩的坑:python gdal 重采样+坐标系转换_第7张图片

记录踩的坑:python gdal 重采样+坐标系转换_第8张图片

        可见,红格子上绿色覆盖率特别高,只有一点点红色露出来。

你可能感兴趣的:(Python,踩坑记录,算法,python,图像处理)