要将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