博客
关于我
图解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 开发环境,并具备使用入门能力。

    你可能感兴趣的文章
    PIGS POJ 1149 网络流
    查看>>
    PIL Image对图像进行点乘,加上常数(等像素操作)
    查看>>
    PIL Image转Pytorch Tensor
    查看>>
    PIL&QOOT;IOERROR:带有大图像的图像文件被截断(&Q)
    查看>>
    PIL.Image、cv2的img、bytes相互转换
    查看>>
    PIL.Image进行图像融合显示(Image.blend)
    查看>>
    pilicat-dfs 霹雳猫-分布式文件系统
    查看>>
    Pillow lacks the JPEG 2000 plugin
    查看>>
    SpringBoot之ElasticsearchRestTemplate常用示例
    查看>>
    ping 全网段CMD命令
    查看>>
    ping 命令的七种用法,看完瞬间成大神
    查看>>
    Pinia入门(快速上手)
    查看>>
    Pinia:$patch的使用场景
    查看>>
    Pinia:$subscribe()的使用场景
    查看>>
    Pinpoint对Kubernetes关键业务模块进行全链路监控
    查看>>
    Pinterest 大规模缓存集群的架构剖析
    查看>>
    pintos project (2) Project 1 Thread -Mission 1 Code
    查看>>
    PinYin4j库的使用
    查看>>
    PIP
    查看>>
    pip install goose-extractor // SyntaxError: Missing parentheses in call to 'print'
    查看>>