C++ GPKG未被识别为受支持的文件格式
我尝试读取gpkg文件,以提取街道和建筑物等地理信息 因此,我从以下代码开始:C++ GPKG未被识别为受支持的文件格式,c++,gdal,C++,Gdal,我尝试读取gpkg文件,以提取街道和建筑物等地理信息 因此,我从以下代码开始: #include "gdal_priv.h" #include <iostream> int main() { GDALDataset* poDataset; GDALAllRegister(); std::cout << "driver# " << GetGDALDriverManager()->GetDriverCount()
#include "gdal_priv.h"
#include <iostream>
int main() {
GDALDataset* poDataset;
GDALAllRegister();
std::cout << "driver# " << GetGDALDriverManager()->GetDriverCount()
<< std::endl;
for (int i = 0; i < GetGDALDriverManager()->GetDriverCount(); i++) {
auto driver = GetGDALDriverManager()->GetDriver(i);
auto info = driver->GetDescription();
std::cout << "driver " << i << ": " << info << std::endl;
}
auto driver = GetGDALDriverManager()->GetDriverByName("GPKG");
poDataset = (GDALDataset*)GDALOpen("Building_LoD1.gpkg", GA_ReadOnly);
if (poDataset == NULL) {
// ...;
}
return 0;
}
有人知道为什么gpkg
文件可能被报告为不受支持吗
gdal
版本是2.3.2
我解决了这个问题。产生此消息的原因不是gdal不支持文件格式,而是我使用了错误的函数来打开文件
如果我想读取包含矢量信息的文件,则需要使用:
GDALDataset* poDS;
poDS = (GDALDataset*)GDALOpenEx( "Building_LoD1.gpkg", GDAL_OF_VECTOR, NULL, NULL, NULL);
我解决了这个问题。产生此消息的原因不是gdal不支持文件格式,而是我使用了错误的函数来打开文件 如果我想读取包含矢量信息的文件,则需要使用:
GDALDataset* poDS;
poDS = (GDALDataset*)GDALOpenEx( "Building_LoD1.gpkg", GDAL_OF_VECTOR, NULL, NULL, NULL);