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

    你可能感兴趣的文章
    Nginx配置TCP代理指南
    查看>>
    Nginx配置——不记录指定文件类型日志
    查看>>
    nginx配置一、二级域名、多域名对应(api接口、前端网站、后台管理网站)
    查看>>
    Nginx配置代理解决本地html进行ajax请求接口跨域问题
    查看>>
    nginx配置全解
    查看>>
    Nginx配置参数中文说明
    查看>>
    nginx配置域名和ip同时访问、开放多端口
    查看>>
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置如何一键生成
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    Nginx配置文件nginx.conf中文详解(总结)
    查看>>
    Nginx配置负载均衡到后台网关集群
    查看>>
    ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>