GDAL地理与投影坐标系

原创 2015年07月06日 22:51:03
#include "ogr_p.h"
int main()
{
	int a=0;

	/**************定义地理坐标系**************/
	OGRSpatialReference oSRS;
	oSRS.SetGeogCS("My GCS",//设置定义的地理坐标系的名字
		"WGS_1984",
		"My WGS84 Sopheroid",
		SRS_WGS84_SEMIMAJOR,SRS_WGS84_INVFLATTENING,
		"Greenwich",0.0,
		"degree",0.0174532925199433);

	oSRS.SetWellKnownGeogCS("WGS84");

	//oSRS.SetWellKnownGeogCS("EPSG:4326");

	//为了方便和其他库进行交互,OGRSpatialReference提供了与OpenGIS的WKT格式的相互转换
	//OGRSpatialReference可以使用一个WKT来进行初始化(importFromWKT()),或者将里面的信息导出为WKT格式(exportToWkt)

	char * pszWKT=NULL;
	char * pszTemp=NULL;
	oSRS.exportToWkt(&pszWKT);
	oSRS.exportToWkt(&pszTemp);

	oSRS.importFromWkt(&pszTemp);

	char* pszPrettyWKT=NULL;
	oSRS.exportToPrettyWkt(&pszPrettyWKT);

	printf("普通WKT:\n%s\n\n",pszWKT);
	printf("漂亮WKT:\n%s\n\n",pszPrettyWKT);

	/**************定义投影坐标系**************/
	OGRSpatialReference projSRS;
	projSRS.SetProjCS("UTM 17(WGS84) in northern hemisphere");//设置投影坐标系的名称
	projSRS.SetWellKnownGeogCS("WGS84");//定义该投影坐标系所在的地理坐标系
	projSRS.SetUTM(17,TRUE);//设置投影坐标系的投影参数信息
	//一般来说,应该先设置地理坐标系,再设置投影坐标系

	char *pszProjWKT=NULL;
	char *pszProjPrettyWKT=NULL;
	projSRS.exportToWkt(&pszProjWKT);
	projSRS.exportToPrettyWkt(&pszProjPrettyWKT);

	printf("普通WKT:\n%s\n\n",pszProjWKT);
	printf("漂亮WKT:\n%s\n",pszProjPrettyWKT);


	/**************解析空间参考信息**************/
	/*
	OGRSpatialReference::IsProjected()  
	OGRSpatialReference::IsGeographic()判断该空间参考是地理坐标系还是投影坐标系

	OGRSpatialReference::GetSemiMajor()获取参考椭球的长半轴
	OGRSpatialReference::GetSemiMinor()获取参考椭球的短半轴
	OGRSpatialReference::GetInvFlattening()获取参考椭球的扁率的倒数

	OGRSpatialReference::GetAttrValue()方法获取PROJCS、GEOGCS、DATUM、SPHEROID和PROJECTION的名称字符串
	OGRSpatialReference::GetProjParm()获取投影参数信息
	OGRSpatialReference::GetLinearUnits()获取长度单位类型并将其转换为米

	*/
	scanf("%d",&a);
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

GDAL影像投影转换

GDAL影像投影转换 又有一段时间没有写博客了,今天就把影像(DEM/遥感影像等)投影转换的经验和大家分享下。那么关于GDAL影像投影转换的文章在网上可以说是有很多,如果你还不清楚地图投影那么我建议你...

GDAL创建坐标系与坐标转换

using OSGeo.GDAL; using OSGeo.OSR; using System; using System.Collections.Generic; using System.Linq...

使用GDAL进行影像投影坐标、地理坐标、图上坐标的转换

我使用GDAL库写了四个函数分别进行投影坐标与地理坐标(经纬度)之间的转换,投影坐标和图上坐标(行列号)之间的转换。有需要的朋友可以参考。 直接上代码吧,因为代码很简单(Python版本)。# -*...

GIS理论(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing Maps Tile System)

墨卡托投影(Mercator Projection),又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地...

Arcgis中地理坐标系和投影坐标区别及操作

(一)两种坐标系 坐标系(Coordinate System)的概念为:“In geometry, a coordinate system is a system which uses one ...
  • XLSMN
  • XLSMN
  • 2017-07-30 16:54
  • 221

地图投影系列介绍(二) 地理坐标系

3、地理坐标系   地球的形状与大小确定之后,还必须确定椭球体与大地水准面的相对关系,这项工作称为椭球定位与定向。与大地水准面符合得最好的一个地球椭球体,称为参考椭球体,是地球形体三级逼近。   ...

GIS理论(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing Maps Tile System)

墨卡托投影(Mercator Projection),又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地...

GIS理论(墨卡托投影、地理坐标系、地面分辨率、地图比例尺、Bing Maps Tile System)

墨卡托投影(Mercator Projection),又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地...

地图投影系列介绍(二)_ 地理坐标系

3、地理坐标系         地球的形状与大小确定之后,还必须确定椭球体与大地水准面的相对关系,这项工作称为椭球定位与定向。与大地水准面符合得最好的一个地球椭球体,称为参考椭球体,是地球形体三级逼...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)