要将xian80地理坐标系转换成投影坐标系:
1
2
3
4
5
6
7
|
xian1980 = """ GEOGCS["GCS_Xian_1980", DATUM["Xian_1980", SPHEROID["Xian_1980",6378140.0,298.257]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]]""" prjreference = 'PROJCS["Xian_1980_3_Degree_GK_Zone_37",GEOGCS["GCS_Xian_1980",DATUM["D_Xian_1980",SPHEROID["Xian_1980",6378140.0,298.257]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",37500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",111.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]' |
转换后会报错:
1
2
3
4
5
6
7
8
9
10
11
12
|
latlong = transform.TransformPoint(x,y) File "/usr/lib/python3/dist-packages/osgeo/osr.py" , line 711 , in TransformPoint return _osr.CoordinateTransformation_TransformPoint( self , * args) NotImplementedError: Wrong number or type of arguments for overloaded function 'CoordinateTransformation_TransformPoint' . Possible C / C + + prototypes are: OSRCoordinateTransformationShadow::TransformPoint(double [ 3 ]) OSRCoordinateTransformationShadow::TransformPoint(double [ 3 ],double,double,double) * * 想想之前也没发现过这个问题呀,最后发现之前投影坐标系: * * 'PROJCS["Xian_1980_3_Degree_GK_Zone_37",GEOGCS["GCS_Xian_1980",DATUM["D_Xian_1980",SPHEROID["Xian_1980",6378140.0,298.257]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",37500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",111.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]' * * 不是高斯 - 克吕格投影而是横轴墨卡托,我想原因可能是gdal库里只能支持高斯 - 克吕格投影吧。 * * |
以上这篇解决python gdal投影坐标系转换的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/sinat_36811967/article/details/79126529