说在前面的话,我写着写着突然发现,有些东西我看到了,我也知道他有但是我就是不写,不为别的,一个是我可能实在看不懂,一个是好像懂了也不会用到。如果大家极致追求那不妨去看一下官方的文档,可能可以收获更多。
https://gdal.org/doxygen/classGDALDataset.html#a9cb8585d0b3c16726b08e25bcc94274a
矢量处理需要用到的头文件是 ogrsf_frmts.h
一、读矢量文件打开适量文件用到的方法是 GDALOpenEx(文件名,标识,X,X,X)
后面三个 X 表示我不知道三个参数的作用,真是抱歉
标识太多了,我整理成表格再最后面
GDALDataset * ds = (GDALDataset*)GDALOpenEx(linePath, GDAL_OF_VECTOR | GDAL_OF_VERBOSE_ERROR, NULL, NULL, NULL);
打开后可以通过以下方法获取数据内
OGRLayer * lay = ds->GetLayer(n) 获取层,这里是从0开始的,另外这里我不理解为什么layer可以有多层,至少我没接触过确实不能理解,但是作为数据可以理解,展示真的不理解。
ds->GetLayerCount() 获取层数
OGRFeature * feature = lay->GetFeature(n) 获取要素,这个n也是从0开始的
lay->GetFeatureCount() 获取要素的数量
lay->FindFieldInd