Python遥感开发之arcpy批量投影栅格
- 1.投影栅格
- 2.ARCGIS实现
- 3.python_arcpy实现投影栅格
前言:主要介绍ARCGIS中的重投影,以及用python代码实现批量投影栅格。
1.投影栅格
-
作用:将栅格数据从一个投影变换到另一个投影。
-
NEAREST 选项(用于执行最邻近分配法)是四种插值法当中速度最快的插值方法。其主要用于分类数据(如土地利用分类),因为它不会更改像元值。不应对连续数据(如高程表面)使用 NEAREST。
-
BILINEAR 选项使用双线性插值法,可根据四个最近周围像元的加权平均距离确定像元的新值。
-
CUBIC 选项使用三次卷积插值法,可通过拟合穿过周围点的平滑曲线确定新的像元值。这些对于连续数据来说是最适合的选择,但可能会引起平滑处理。请注意,三次卷积插值法可能会导致输出栅格包含输入栅格范围之外的值。不应对分类数据使用这些技术,因为不同的像元值可能会进行不必要的引入。
-
注意1:栅格数据集的各个像元为方形并且在地图坐标空间中显示为面积相等,但在整个栅格中,像元所代表的地球表面上的形状和面积不可能完全一致。这是因为地图投影无法同时保持形状和面积不变。在整个栅格中,各像元所代表的面积各不相同。因此,输出栅格中的像元大小以及行数和列数也可能发生变化。
-
注意2:请务必指定一个输出像元大小,除非您在球面(纬度-经度)坐标和平面坐标系之间进行投影,因为此时无法确定合适的像元大小。
-
注意3:默认的输出栅格像元大小由位于输出栅格中心的经过投影的像元大小所决定。这(通常)也是中央经线与真实比例纬线的交汇处以及形变最小的区域。对输入栅格的边界进行投影时,最小和最大范围值将决定输出栅格的大小。将某像元投影回输入坐标系中可确定该像元的值。
-
注意4:当输入和输出坐标系的基准面相同时,地理(坐标)变换为可选参数。如果输入和输出基准面不同,则必须指定地理(坐标)变换。
2.ARCGIS实现
3.python_arcpy实现投影栅格
注意切换环境
代码实现:
# -*- coding: utf-8 -*-
import arcpy
file = r"D:\fly\研究方向\code\预测合集02"
out = r"D:\fly\研究方向\code\预测汇总_投影坐标02"
out_coor_system = r'D:\fly\Krasovsky_1940_Albers.prj'
file = unicode(file, "utf-8")
out = unicode(out, "utf-8")
out_coor_system = unicode(out_coor_system, "utf-8")
arcpy.env.workspace = file
outDirectory = out
rasters = arcpy.ListRasters("*", "TIF")
for raster in rasters:
arcpy.ProjectRaster_management(raster, outDirectory + "/" + raster, out_coor_system, 'NEAREST', '250', "#", "#", "#")
print(raster, ' project raster has done!')