博客
关于我
图解VC++2012编译安装GDAL1.11.0和入门例子
阅读量:101 次
发布时间:2019-02-26

本文共 1298 字,大约阅读时间需要 4 分钟。

GDAL 开发环境搭建与入门示例

GDAL(Geospatial Data Abstraction Layers)是一种强大的地理数据处理库,广泛应用于地理信息系统开发。以下是搭建GDAL开发环境并使用入门示例的详细步骤。

1. 下载开发资源

确保已下载以下必要文件:

  • GDAL 1.11.0 解压文件
  • gdal1110.zip:包含源代码
  • GDAL.rar:构建成功后的库文件
  • GDAL书籍代码及数据.rar:示例代码及数据集

2. 安装GDAL

步骤 1:配置开发环境

  • 打开 vcvars32.bat,选择对应的 Visual Studio 版本
  • 切换到解压后的 GDAL 目录,运行 nmake /f makefile.vc 进行编译
    注意:编译时间较长,约需 10 分钟
  • 步骤 2:设置输出目录

  • 打开 nmake.opt 文件,修改 GDAL_HOME 为安装目录示例:GDAL_HOME = "D:\GDAL"
  • 创建 D:\GDAL 目录
  • 步骤 3:构建并安装

  • 切换到解压目录,依次运行:
    nmake /f makefile.vc installnmake /f makefile.vc devinstall
  • 构建完成后,GDAL 库文件将位于指定目录
  • 3. 入门开发示例

    创建新项目

  • 新建 Visual Studio 项目,选择 "控制台应用程序"
  • 添加以下包含目录:
    • include:GDAL 头文件
    • lib:GDAL 库文件
  • gdal111.dll 拷贝至项目目录
  • 代码示例

    #include "stdafx.h"#include 
    #include
    using namespace std;int _tmain(int argc, _TCHAR* argv[]) { GDALDataset* poDataset = nullptr; poDataset = GDALOpen("mosaic.tif", GA_ReadOnly); if (poDataset != nullptr) { cout << "Raster XSize: " << poDataset->GetRasterXSize() << endl; cout << "Raster YSize: " << poDataset->GetRasterYSize() << endl; cout << "Raster Count: " << poDataset->GetRasterCount() << endl; GDALClose((GDALDatasetH)poDataset); } getchar(); return 0;}

    运行结果

    • 编译完成后,将 mosaic.tif 放入项目目录,运行可执行文件即可查看 raster 属性

    4. 常用链接

    通过以上步骤,您已成功搭建 GDAL 开发环境,并具备使用入门能力。

    你可能感兴趣的文章
    pandas :检测一个DF和另一个DF之间缺失的列
    查看>>
    Pandas-从具有嵌套列表列表的现有列创建动态列时出错
    查看>>
    Pandas-通过对列和索引的值求和来合并两个数据框
    查看>>
    pandas.read_csv()的详解-ChatGPT4o作答
    查看>>
    PANDAS.READ_EXCEL()输出‘;溢出错误:日期值超出范围‘;而不存在日期列
    查看>>
    Pandas:对给定列求和 DataFrame 行
    查看>>
    Pandas、Matplotlib、Pyecharts数据分析实践
    查看>>
    Pandas中文官档~基础用法2
    查看>>
    Pandas中文官档~基础用法6
    查看>>
    pandas交换两列
    查看>>
    pandas实战:电商平台用户分析
    查看>>
    pandas打乱数据的顺序
    查看>>
    pandas改变一列值(通过apply)
    查看>>
    Pandas数据分析的环境准备
    查看>>
    Pandas数据可视化怎么做?用实战案例告诉你!
    查看>>
    Pandas数据处理与分析教程:从基础到实战
    查看>>
    Pandas数据结构之DataFrame常见操作
    查看>>
    pandas整合多份csv文件
    查看>>
    pandas某一列转数组list
    查看>>
    Pandas模块,我觉得掌握这些就够用了!
    查看>>