ProjNet精度有限,支持的坐标系也有限,用WKT表示的坐标系转换参数远没有proj4表示的清爽和一目了然。于是试试proj.4。
proj.4本身不提供坐标系转换参数,椭球转换参数只保存了几种,在pj_data.c代码文件中。需要用7参数指定椭球转换参数的,可以增加+towgs84参数,7个参数的数值用半角逗号隔开就行了。
在转换前调用
projPJ pj_init_plus(const char* proj4text)
然后调用:
int pj_transform(projPJ from,projPJ to,int count,int offset,double *x,double *y,double *z)
进行坐标转换。下面是一个示例:
// convertor.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "convertor.h"
#include <projects.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 唯一的应用程序对象
void output_coordinates(const double coords[3][3], con