本文是来填坑的,之前写的RPC的基本原理,从底层写RPC校正还是很有难度的,目前为了快速的工程化,先写了一个基于arcpy中RPC校正的脚本。
核心代码如下:
import os
import arcpy
def OrthoCorrected(in_ras, out_ras_path):
'''
Incorporates elevation data and image metadata to accurately line up imagery.
:param in_ras: Select the raster dataset that you want to orthorectify.
The raster must have rational polynomial coefficients (RPCs) in its metadata.
:param out_ras_path: The output path
:return: None
'''
script_path = os.path.split(os.path.realpath(__file__))[0]
dem_path = os.path.join(script_path,"GMTED2km.tif")
in_ras_path = os.path.split(in_ras)
out_ras = os.path.join(out_ras_path, in_ras_path[1][:-5]+'_rpc.tif')
arcpy.CreateOrthoCorrectedRasterDataset_management(in_ras, out_ras, "DEM", "#", dem_path, "#", "#", "GEOID")
前文:RPC基础原理