GDAL C函数和C++的类方法 使用分析

开头

在第一章驱动程序管理注册中,我在网上看到了很多不同代码写法来实现相同功能

例如GDALCreate()来创造对应驱动的新数据集,也可以使用GDALDataset的Create()方法创建

我询问了GPT再经过代码的验证,得到了结论

代码

GDALAllRegister();
cout <<"GDALGetDriverCount---已注册程序数量"<<GDALGetDriverCount()<<endl;    

GDALDriverManager* driver = GetGDALDriverManager();         //实例化一个驱动管理类
cout<< "GetDriverCount---已注册程序数量"<<drive->GetDriverCount()<<endl;;    
	
GDALDestroyDriverManager();

结果

GDALGetDriverCount---已注册程序数量223
GetDriverCount---已注册程序数量223

结论

原因:GDAL是一个开源的跨平台地理信息数据处理库,可以用C++和C等多种编程语言进行调用和使用。GDALCreate作为一个C函数,也可以在C++中使用。在C++中,可以通过调用GDAL的C++封装类或者直接调用C函数来实现创建新的栅格数据集

GDALGetDriver函数是C++调用了C的函数来实现功能                    类似的还有GDALCreate()、GDALOpen()等

GetDriverCount则是封装在与之对应的类中,通过实例化类,调用对象的方法来实现对应功能                    类似的还有GDALDataset的Create()、GDALDriver的Open()等

意义

在使用GDAL/OGR时,您可以混合使用C和C++代码。根据你的需求和实际情况,选择适合自己的API风格使用即可

GDAL的C++ API中建议使用对象的方式来操作数据。通常是先实例化一个对象,然后使用该对象的方法来操作其内部数据

这种使用对象模式的方式可以提高代码的可读性,并且更符合C++语言的面向对象设计思想。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

场主不吃鍋巴

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

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

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

打赏作者

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

抵扣说明:

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

余额充值