首先是自定义的空间投影坐标,可以在在ArcGIS中自定义空间投影坐标,导出得到ESRI标准的.prj后缀的文件,该格式为 Well-Known Text (WKT) 文本。
而在Python的gdal包中,所采用的空间投影坐标的格式为EPSG code或者是proj4格式的字符串,标准格式的EPSG代码可以从https://epsg.io/这个网址查找,而自定义的WKT格式则需要单独转换。
解决方法:采用Python包pycrs进行转换,具体代码如下
import pycrs
# wkt text可以直接从ArcGIS导出
wkt_text = 'PROJCS["China_Lambert",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,' '298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION[' '"Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],' 'PARAMETER["Central_Meridian",105.0],PARAMETER["Standard_Parallel_1",25.0],PARAMETER[' '"Standard_Parallel_2",47.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]'
srs_proj4 = pycrs.parse.from_esri_wkt(wkt_text).to_proj4()
此后,srs_proj4 就可以用在gdal.Warp中的 dstSRS 参数中了。
pycrs的官方文档为:https://karimbahgat.github.io/PyCRS/,可以查看更多投影坐标格式的转换。