(二)GDAL开发&与esri的wkt

2 篇文章 1 订阅
  • 问题来源

最近在使用gdal来处理一些遥感数据,其中我的数据是一个波段的tif高程影像数据。然后在程序中需要判断当然影像数据的投影是否符合要求。我们都知道,如何使用某一个坐标系需要一个约定,而这个公认的,为大家所知wkt算是一个之一。关于wkt,其为空间参考文字描述。我们最为知晓的应该就是编号id为4326和3957这个了。前者为WGS84的空间参考,而3857为一种墨卡托投影参考。而我这里使用的ArcGIS Desktop将我们CGCS2000的椭球坐标定义为WGS84椭球坐标(在精度要求不是非常严格的情况下,可视这两种椭球坐标相当)。

  • 过程处理

于是在ArcGIS Desktop中将上面的数据按照如下图的定义。注意其中的WKT为3857。

接下来就是使用GDAL将投影信息给读取出来了。代码实现非常简单。

const char* projection_wkt = dataset->GetProjectionRef();
if(projection_wkt == NULL){
       
        return false;
}

获取到的projextion_wkt的字符信息为:

PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],
PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0],
EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs"]]

从这里可以看得出,ArcGIS Desktop声明了WGS_1984_Web_Mercator_Auxiliary_Sphere椭球,地理坐标椭球为GCS_WGS_1984,椭球信息SPHEROID长半轴为:6378137.0,短半轴为:298.257223563,起始子午线为格林尼治经线。单位为米。

好了我们现在使用GDAL的OGRSpatialReference类来创建一个参考信息。

	char    *EPSGID_WKT = NULL;
	OGRSpatialReference   myespEPSGIDosr;
	myespEPSGIDosr.importFromEPSG((int)3857);

	myespEPSGIDosr.exportToWkt(&EPSGID_WKT);

来看一下EPSGID_WKT带给我们什么样的信息。

PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs"],AUTHORITY["EPSG","3857"]]

显然,同样这里的WKT是3857,但输出的字符信息包含却是完全不同。主要区别是椭球的标记一个是GCS_WGS_1984,另外一个是WGS_1984。

即便GDAL提供从esri投影转换相关函数。比如说morphToESRI、和morphFromESRI但是,最后的wkt描述字符串还是不完全一致。我这里为了判定两个坐标参考是否相等,只能通过其他逻辑来判定了。


                             更多内容,请微信扫下面二维码关注公众号,或者加入arcpy开发qq学习群:487352121

                                                                    

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 你可以在 GDAL 的官方网站上下载 GDAL 开发手册。GDAL 的官方网站是 http://www.gdal.org 。在这个网站上,你可以找到 GDAL 的最新版本和相关文档。要下载 GDAL 开发手册,你需要找到网站上的文档部分或者手册部分。一旦你进入文档部分,你可以浏览不同的文档和手册选项,并选择下载 GDAL 开发手册的适当版本。下载的手册往往是一个压缩文件,通常以 PDF 或 HTML 的格式提供。你可以选择下载并解压缩这个文件,然后在本地使用。请注意,GDAL 开发手册提供了关于 GDAL 库的详细说明和用法指南,非常适合需要进行 GDAL 开发开发者使用。 ### 回答2: 你可以从GDAL的官方网站上下载GDAL开发手册。GDAL的官方网站是https://gdal.org/。在该网站上,你可以找到GDAL的最新版本和相关文档。在下载页面上,你可以找到GDAL开发手册的链接,并选择相应的版本进行下载。GDAL开发手册提供了详细的文档和指南,帮助开发者使用GDAL进行空间数据处理和分析。它包含了关于GDAL库的详细说明,并提供了实际示例来帮助开发者理解和使用GDAL的功能。无论是初学者还是有经验的开发者,GDAL开发手册都是一个非常有用的参考资源。 ### 回答3: 您可以在 GDAL(Geospatial Data Abstraction Library)的官方网站上下载 GDAL 开发手册。GDAL 的官方网站是:https://gdal.org/ 。 在网站的首页上,您可以找到一个名为 "Documentation"(文档)的链接。点击这个链接,您会被带到一个新的页面,上面列出了多种文档选项。其中,您可以找到名为 "GDAL API Tutorial and Reference Manual"(GDAL API 教程和参考手册)的选项。点击这个选项,您将会找到 GDAL开发手册。 GDAL开发手册是一个非常详细和全面的文档,提供了关于 GDAL API 的使用说明和示例代码。您可以通过阅读这个手册来学习如何使用 GDAL 来读取、处理和写入地理空间数据。 希望这个回答对您有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yGIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值