GDALOpenEx()

参数

  • pszFilename – 要访问的文件的名称。在特殊驱动程序的情况下,这可能不是指物理文件,而是包含有关驱动程序如何访问数据集的信息。它应该是 UTF-8 编码。

  • eAccess – 所需的访问权限,GA_Update 或 GA_ReadOnly。许多驱动程序仅支持只读访问

返回值

 GDALDatasetH 句柄或失败时为 NULL。对于 C++ 应用程序,此句柄可以转换为GDALDataset *。

GDALOpenEx ( const char * pszFilename , unsigned int nOpenFlags , const char * const * papszAllowedDrivers , const char * const * papszOpenOptions , const char * const * papszSiblingFiles ) 

打开栅格或矢量文件作为GDALDataset

该函数将依次调用每个注册的GDALDriver的 Open 方法来尝试打开传递的文件或虚拟数据集名称。第一次成功打开将导致返回数据集。如果所有驱动程序都失败,则返回 NULL 并发出错误。

参数

  • pszFilename – 要访问的文件的名称。在特殊驱动程序的情况下,这可能不是指物理文件,而是包含有关驱动程序如何访问数据集的信息。它应该是 UTF-8 编码。

  • nOpenFlags – GDAL_OF_ 标志的组合,可以通过逻辑或运算符组合。

    • 驱动程序类型:

      • GDAL_OF_RASTER 用于光栅驱动程序,

      • GDAL_OF_MULTIDIM_RASTER 用于多维光栅驱动程序,

      • GDAL_OF_VECTOR 用于矢量驱动程序,

      • GDAL_OF_GNM 用于地理网络模型驱动程序。

      GDAL_OF_RASTER 和 GDAL_OF_MULTIDIM_RASTER 通常是互斥的。如果没有指定任何值,GDAL_OF_RASTER | GDAL_OF_VECTOR | GDAL_OF_GNM 是隐含的。

    • 访问模式:GDAL_OF_READONLY(独占)或GDAL_OF_UPDATE。

    • 共享模式:GDAL_OF_SHARED。如果设置,它允许与设置了 GDAL_OF_SHARED 的其他调用者共享数据集的GDALDataset句柄。特别是,GDALOpenEx ()将首先查询其当前打开和共享的GDALDataset的列表,如果 GetDescription() 名称与传递给GDALOpenEx ()的 pszFilename 完全匹配,它将被引用并返回,如果GDALOpenEx ()是从同一个线程调用。

    • 详细错误:GDAL_OF_VERBOSE_ERROR。如果设置,尝试打开文件失败将导致报告错误消息。

  • papszAllowedDrivers – NULL 以考虑所有候选驱动程序,或 NULL 终止的字符串列表,其中包含必须考虑的驱动程序短名称。

  • papszOpenOptions– NULL 或以 NULL 结尾的字符串列表,其中包含传递给候选驱动程序的打开选项。所有驱动程序都有一个选项 OVERVIEW_LEVEL=level,用于选择数据集的特定概览级别。级别索引从 0 开始。级别编号可以加上“only”后缀,以指定只有此概览级别必须可见,而不是子级别。默认情况下会验证打开的选项,如果无法识别该选项,则会发出警告。在某些情况下,这可能是不可取的(例如,当不知道哪个驱动程序将打开文件时),因此可以将特殊的打开选项 VALIDATE_OPEN_OPTIONS 设置为 NO 以避免此类警告。或者,从 GDAL 2.1 开始,选项名称前面可以带有 @ 字符,以指示如果驱动程序未声明此选项,它可能不会导致警告。从 GDAL 3.3 开始,

  • papszSiblingFiles – NULL,或作为主文件名辅助文件名的以 NULL 结尾的字符串列表。如果传递了 NULL,则将进行文件系统的探测。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值