windows下的QT(mingw版)+GDAL库下载、安装、测试

对于烂大街的vs添加GDAL库就不说了,百度上一搜索一大片。
下面介绍windows下的QT(mingw版)+GDAL。

QT所有版本下载链接:https://download.qt.io/archive/qt/

    1.QT自行下载.
    2.已经编译好的GDAL库下载:https://download.csdn.net/download/carry_qt/10648004
    3.添加GDAL库
       ①右键项目——>添加库——>外部库——>浏览选择对应文件——>完成。
    4.添加完成后在.pro项目文件中会多出几行代码,要删除掉else:win32最后的d字母。
    5.执行qmake,然后将解压的GDAL库文件夹下的bin目录下面的.dll动态链接库添加到Debug文件夹下面即可。

测试代码:
    OGRRegisterAll();

    OGRDataSource *poDS;
    
    poDS = OGRSFDriverRegistrar::Open( "H:\\行政区\\县界.shp", FALSE );
    if( poDS == NULL )
    {
        qDebug()<<"Open failed!";
        exit( 1 );
    }
    
    OGRLayer  *poLayer;
    poLayer = poDS->GetLayerByName( "县界" );
    OGRFeature *poFeature;
    poLayer->ResetReading();
    while( (poFeature = poLayer->GetNextFeature()) != NULL )//获得要素
    {
        OGRFeatureDefn *poFDefn = poLayer->GetLayerDefn();
        int iField;
        poFDefn->GetFieldCount(); //获得字段的数目
    
        for( iField = 0; iField < poFDefn->GetFieldCount(); iField++ )
        {
            OGRFieldDefn *poFieldDefn = poFDefn->GetFieldDefn( iField );
           //根据字段值得类型,选择对应的输出
            if( poFieldDefn->GetType() == OFTInteger )
               qDebug()<<poFeature->GetFieldAsString(iField);
            else if( poFieldDefn->GetType() == OFTReal )
                qDebug()<<poFeature->GetFieldAsString(iField);
            else if( poFieldDefn->GetType() == OFTString )
                qDebug()<<poFeature->GetFieldAsString(iField);
            else
                qDebug()<<poFeature->GetFieldAsString(iField);
        }
    
        OGRGeometry *poGeometry;
        poGeometry = poFeature->GetGeometryRef();
        if( poGeometry != NULL
            && wkbFlatten(poGeometry->getGeometryType()) == wkbPoint )
        {
            OGRPoint *poPoint = (OGRPoint *) poGeometry;
            qDebug()<<poPoint->getX();
            qDebug()<<poPoint->getY();
        }
        else
        {
            qDebug()<<"no point geometry!";
        }
        OGRFeature::DestroyFeature( poFeature );
    }
    OGRDataSource::DestroyDataSource( poDS );
    return;
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

搓搓程序狗

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

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

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

打赏作者

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

抵扣说明:

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

余额充值