GDAL中,使用的是 WKT 串来表示投影,具体的表示内容可以参考链接,下面用例子简单的介绍一下,#后面表示注释:
PROJCS["WGS 84 / UTM zone 52N", #投影名称
GEOGCS["WGS 84", #地理坐标系统名
DATUM["WGS_1984", #水平基准面
SPHEROID["WGS 84",6378137,298.257223 #椭球体名称、长半轴、反偏率
AUTHORITY["EPSG","7030"]], #外部权威的空间参考系统的编码
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0], #中央经线Greenwich,0度标准子午线
UNIT["degree",0.0174532925199433], #指定测量使用的单位。在地理坐标系下使用角度。
AUTHORITY["EPSG","4326"]],
PROJECTION["Transverse_Mercator"], #投影方法,这里是通用墨卡托投影
PARAMETER["latitude_of_origin",0], #PARAMETER表示投影参数,0表示纬度起点为0度
PARAMETER["central_meridian",129], #投影带的中央经线是东经129度
PARAMETER["scale_factor",0.9996], #中央经线的长度比是0.9996
PARAMETER["false_easting",500000], #坐标纵轴向西移动500km
PARAMETER["false_northing",0], #横轴没有平移
UNIT["metre",1, #指定测量使用的单位,指定米为测量单位。
AUTHORITY["EPSG","9001"]], #外部权威的空间参考系统的编码
AUTHORITY["EPSG","32652"]]
创建方式
//设置投影
OGRSpatialReference oSRS;
char *pszSRS_WKT = NULL;
oSRS.SetUTM( 11, TRUE );
oSRS.SetWellKnownGeogCS( "NAD27" );
oSRS.exportToWkt( &pszSRS_WKT );
poDstDS->SetProjection( pszSRS_WKT );
CPLFree( pszSRS_WKT );//使用完后释放